Installera Hexo på CentOS 7

Hexo är en statisk bloggplattform, byggd med Node.js. Det är snabbt jämfört med andra statiska bloggplattformar, som Jekyll.

I den här handledningen kommer jag att förklara hur man bygger och distribuerar en Hexo-blogg. Stegen är ganska enkla, skrivna för CentOS 7, Node.js 4.4. Min lokala maskin är Fedora 23.

Förutsättningar

Vi börjar med ett nyinstallerat CentOS 7-system. Följande programvarupaket krävs:

  • gcc-c och gcc-c++
  • göra och git
  • nginx
  • openssl
  • nodejs och npm

Du måste logga in som root, eller som användare med sudo-privilegier.

Installera verktyg

$ yum install -y gcc gcc-c++ make git openssl

Installera Nginx

Du kan installera nginxfrån standardrepo:

$yum install -y nginx

... eller installera en stabil version från officiella Nginx repo, Här väljer vi det senare.

Skapa en repo-fil med namnet nginx.repo, vars innehåll är:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

... och kopiera den till /etc/yum.repo.d/,

$ cp nginx.repo /etc/yum.repo.d/
$ yum update and yum install -y nginx
$ systemctl enable nginx and systemctl start nginx

Installera Node.js

Vi installerar den sedan länge stödda Node.js från den officiella Node.js-repo.

$ curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
$ yum update and yum install -y nodejs

Skapa en ny användare

Vanligtvis är det bättre att skapa en vanlig användare för att köra din blogg, eftersom root har superanvändarbehörigheter.

Här skapar vi en användare som heter vultroch lägger till den i gruppen wheeloch nginx:

$ useradd -d /home/vultr -m -r -U -s /bin/bash
$ passwd vultr
$ usermod -aG nginx vultr
$ usermod -aG wheel vultr

Generera ett SSH-nyckelpar

Det är användbart och nödvändigt att logga in via en ssh-nyckel.

$ ssh-keygen -b 4096 -C "vultr@example.com"

Efter att ha skapat vårt ssh-nyckelpar kopierar du den publika nyckeln (vanligtvis id_rsa.pub) till ~/.ssh/authorized_keyspå servern:

ssh-copy-id -i ~/.ssh/id_rsa.pub vultr@example.com

Och nu har vi alla förbyggnadspaket installerade.

Bygg din Hexo-blogg

Installera Hexo

Logga in som vultranvändare. Skapa sedan ~/web/web/vultroch ~/web/git/vultr:

### This is our hexo blog root directory
$ mkdir -p ~/web/web/vultr
### This is our git repository directory on the server
$ mkdir -p ~/web/git/vultr
### This is our deploy directory
$ mkdir -p ~/web/git/hexo

Ange ~/web/web/vultroch installera Hexo:

$ cd ~/web/web/vultr
$ sudo npm install -g hexo-cli hexo-server
$ hexo init && npm install --save

Nu ska vi bara skapa vår nya blogg.

Redigera för _config.ymlatt ändra webbadressen till din blogg. Kör sedan:

$ hexo g

Din blogg har nu skapats. HTML-filerna finns under ~/web/web/vultr/public.

Konfigurera din Nginx-server

För närvarande kan vi fortfarande inte komma åt vår webbplats. Därför måste vi konfigurera Nginx.

Nginx körs som en användare som namnges nginxi nginxgruppen, och det är därför vi måste lägga vultrtill i gruppen nginx.

$ chown -R vultr:nginx ~/web

Skapa en Nginx config fil med namnet vultr.confenligt ~/web/vilken innehållet är mer eller mindre så här:

server {
    listen 80;
    listen [::]:80;
    ## if https is desired, please uncomment the following lines
    #listen 443 ssl http2;
    #listen [::]:443 ssl http2;

    server_name example.com, www.example.com;

    ## if forcing https, please uncomment the following lines
    #if ($scheme = http) {
    #    return 301 https://$server_name$request_uri;
    #}

    location / {
    root /home/vultr/web/web/vultr/public;
    index index.html;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    ## if https is desired, please uncomment the following lines
    #proxy_set_header X-Forwarded-Proto https;
    }
}

Kopiera vultr.conftill /etc/nginx/config.d/och starta om Nginx:

$ sudo ln -sf ~/web/vultr.conf /etc/nginx/config.d/
$ sudo systemctl restart nginx

Nu är vår blogg tillgänglig med en webbläsare.

Använder Git för att distribuera din blogg

Eftersom bloggen redan är konfigurerad är den här delen av handledningen valfri.

Vid det här laget är det lite obekvämt att skriva ett blogginlägg, eftersom vi skulle behöva logga in och skriva på servern. En bättre lösning skulle vara att skriva på vår lokala dator, skjuta inlägget till servern och låta Hexo automatiskt generera de statiska filerna. Med tanke på att git har hooks som kan göra många saker, kan vi använda en git-hook för att uppnå denna inställning.

Skapa ett blott arkiv på servern

Logga in på servern igen som användare vultr. Skapa ett blott arkiv:

$ cd ~/web/git/vultr
$ git init --bare
$ cd hooks

Skriv en bash-fil med namnet post-receivesom kommer att distribuera vår blogg efter varje push:

#!/bin/bash
deploy_to_dir="/home/vultr/web/git/hexo"

GIT_WORK_TREE=$deploy_to_dir git checkout -f master
echo "DEPLOY:   master  copied to  $deploy_to_dir"

hexo_dir="/home/vultr/web/web/vultr/"

cd $hexo_dir

hexo clean && hexo --silent g

if [[ $? == 0 ]]; then
    echo "Congratulations! Your blog has been correctly deployed"
else:
    echo "Unfortunately your blog has not been deployed correctly"
fi

Innan distributionen kommer att fungera måste vi också köra dessa kommandon på servern:

cd ~/web/web/vultr/
rm -rf source scaffolds _config.yml themes
ln -sf /home/vultr/web/git/hexo/themes/tranquilpeak  themes/
ln -sf /home/vultr/web/git/hexo/source .
ln -sf /home/vultr/web/git/hexo/scaffolds .
ln -sf /home/vultr/web/git/hexo/_config.yml .

Konfigurera ditt lokala git-förråd

På den lokala maskinen måste vi också skapa ett arkiv. Dessa steg kan variera om du använder ett annat operativsystem än Fedora.

Du måste ha git installerat.

Konfigurera ett lokalt git-förråd:

$ mkdir -p ~/vultr/git/vultr`
$ cd ~/vultr/git/vultr and git init
$ git remote add production ssh://vultr@example.com:/home/vultr/web/git/vultr

Det är användbart att installera Hexo på din lokala dator för att skriva ett inlägg. Här skapar vi en Hexo-katalog för att skriva.

$ mkdir ~/vultr/vultr && cd ~/vultr/vultr
$ hexo init && npm install --save
$ mv  source  _config.yml themes scaffolds ~/vultr/git/vultr
$ ln -sf ~/vultr/git/vultr/source .
$ ln -sf ~/vultr/git/vultr/_config.yml .
$ ln -sf ~/vultr/git/vultr/scaffolds .
$ hexo new "Test Post"

Installationen är klar. Du kan skicka ett inlägg till din server med följande kommandon:

$ cd ~/vultr/git/vultr
$ git add . && git commit -m "new post"
$ git push production master

Efter framgång kommer bloggen att uppdateras automatiskt. Skål.

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer