Instalați Hexo pe CentOS 7

Hexo este o platformă de bloguri statice, construită cu Node.js. Este rapid comparativ cu alte platforme statice de bloguri, cum ar fi Jekyll.

În acest tutorial, vă voi explica cum să construiți și să implementați un blog Hexo. Etapele sunt destul de simple, scrise pentru CentOS 7, Node.js 4.4. Mașina mea locală este Fedora 23.

Cerințe preliminare

Începem cu un sistem proaspăt instalat CentOS 7. Următoarele pachete software sunt necesare:

  • gcc-c și gcc-c ++
  • make and git
  • Nginx
  • OpenSSL
  • nodejs și npm

Va trebui să vă autentificați ca root sau ca utilizator cu privilegii sudo.

Instalați utilitățile

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

Instalați Nginx

Puteți instala nginxdin repo implicit:

$yum install -y nginx

... sau instalați o versiune stabilă din repertoriul oficial Nginx, Aici îl alegem pe acesta din urmă.

Creați un fișier repo numit nginx.repo, din care conținut este:

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

... și copiați-l pe /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

Instalați Node.js

Instalăm Node.js-ul acceptat de mult timp din repo-ul oficial Node.js.

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

Creați un utilizator nou

De obicei este mai bine să creezi un utilizator obișnuit pentru a-ți rula blogul, deoarece root are permisiuni super-utilizator.

Aici creăm un utilizator numit vultrși îl adăugăm în grup wheelși nginx:

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

Generați o pereche de chei SSH

Este util și necesar să vă autentificați printr-o cheie ssh.

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

După crearea perechii noastre de chei ssh, copiați cheia publică (de obicei id_rsa.pub) ~/.ssh/authorized_keyspe server:

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

Și acum, avem toate pachetele pre-construite instalate.

Construiește-ți blogul Hexo

Instalați Hexo

Conectați-vă ca vultrutilizator. Apoi, creați ~/web/web/vultrși ~/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

Introduceți ~/web/web/vultrși instalați Hexo:

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

Acum trebuie doar să ne creăm noul blog.

Modificați _config.yml, pentru a schimba adresa URL a site-ului dvs. de blog. Apoi executați:

$ hexo g

Blogul dvs. a fost acum generat. Fișierele HTML sunt localizate sub ~/web/web/vultr/public.

Configurați serverul dvs. Nginx

În acest moment, încă nu putem accesa site-ul nostru web. Prin urmare, trebuie să configuram Nginx.

Nginx rulează ca utilizator numit nginxîn nginxgrup și de aceea trebuie să adăugăm vultrla grup nginx.

$ chown -R vultr:nginx ~/web

Creați un fișier de configurare Nginx numit vultr.confsub ~/web/care conținutul este mai mult sau mai puțin astfel:

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;
    }
}

Copiați vultr.conf/etc/nginx/config.d/și reporniți Nginx:

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

Acum blogul nostru este accesibil cu un browser web.

Folosind Git pentru a implementa blogul dvs.

Deoarece blogul este deja configurat, această porțiune a tutorialului este opțională.

În acest moment, este puțin incomod să scrii o postare pe blog, pentru că ar trebui să ne autentificăm și să scriem pe server. O soluție mai bună ar fi să scriem pe mașina noastră locală, să împingem postarea pe server și să lăsăm Hexo să genereze automat fișierele statice. Având în vedere că git are cârlige care pot face multe lucruri, putem utiliza un cârlig git pentru a realiza această configurare.

Creați un depozit gol pe server

Conectați-vă la server din nou ca utilizator vultr. Creați un depozit gol:

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

Scrieți un fișier bash numit post-receivecare va implementa blogul nostru după fiecare apăsare:

#!/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

Înainte ca implementarea să funcționeze, trebuie să rulăm și aceste comenzi pe server:

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 .

Configurați-vă depozitul local de git

Pe mașina locală, trebuie să creăm și un depozit. Acești pași pot varia dacă utilizați un sistem de operare desktop altul decât Fedora.

Va trebui să aveți git instalat.

Configurați un depozit local de git:

$ 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

Este util să instalați Hexo pe mașina dvs. locală pentru a scrie o postare. Aici setăm un director Hexo pentru scriere.

$ 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"

Configurarea este completă. Puteți împinge o postare pe serverul dvs. cu următoarele comenzi:

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

După succes, blogul va fi actualizat automat. Noroc.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe