Instal·leu Hexo a CentOS 7

Hexo és una plataforma de blocs estàtica, construïda amb Node.js. És ràpid en comparació amb altres plataformes de blocs estàtiques, com ara Jekyll.

En aquest tutorial, explicaré com crear i desplegar un bloc Hexo. Els passos són bastant senzills, escrits per a CentOS 7, Node.js 4.4. La meva màquina local és Fedora 23.

Requisits previs

Comencem amb un sistema CentOS 7 recentment instal·lat. Es requereixen els següents paquets de programari:

  • gcc-c i gcc-c++
  • make i git
  • nginx
  • obertssl
  • nodejs i npm

Haureu d'iniciar sessió com a root o com a usuari amb privilegis sudo.

Instal·lar utilitats

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

Instal·leu Nginx

Podeu instal·lar nginxdes del dipòsit predeterminat:

$yum install -y nginx

... o instal·leu una versió estable del repositori oficial de Nginx, aquí triem la segona.

Creeu un fitxer repo anomenat nginx.repo, del qual el contingut és:

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

... i copia-ho a /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

Instal·leu Node.js

Instal·lem el Node.js suportat durant molt de temps des del dipòsit oficial de Node.js.

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

Crea un usuari nou

Normalment és millor crear un usuari normal per executar el vostre bloc, perquè root té permisos de superusuari.

Aquí creem un usuari anomenat vultri l'afegim al grup wheeli nginx:

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

Genereu un parell de claus SSH

És útil i necessari iniciar sessió mitjançant una clau ssh.

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

Després de crear el nostre parell de claus ssh, copieu la clau pública (normalment id_rsa.pub) al ~/.ssh/authorized_keysservidor:

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

I ara, tenim tots els paquets previs a la creació instal·lats.

Crea el teu bloc Hexo

Instal·leu Hexo

Inicieu sessió com a vultrusuari. A continuació, creeu ~/web/web/vultri ~/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

Introduïu ~/web/web/vultri instal·leu Hexo:

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

Ara només ens queda crear el nostre nou bloc.

Edita _config.yml, per canviar l'URL del teu blog. A continuació, executeu:

$ hexo g

El teu bloc ja s'ha generat. Els fitxers HTML es troben a ~/web/web/vultr/public.

Configura el teu servidor Nginx

En aquest moment, encara no podem accedir al nostre lloc web. Per tant, hem de configurar Nginx.

Nginx s'executa com un usuari anomenat nginxal nginxgrup, i és per això que hem d'afegir vultral grup nginx.

$ chown -R vultr:nginx ~/web

Crear un arxiu de configuració anomenat Nginx vultr.confsota ~/web/el contingut és més o menys així:

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

Copiar vultr.confa /etc/nginx/config.d/i reiniciar Nginx:

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

Ara el nostre bloc és accessible amb un navegador web.

Utilitzant Git per desplegar el teu bloc

Com que el bloc ja està configurat, aquesta part del tutorial és opcional.

En aquest punt, és una mica inconvenient escriure una entrada al bloc, perquè hauríem d'iniciar sessió i escriure al servidor. Una millor solució seria escriure a la nostra màquina local, empènyer la publicació al servidor i deixar que Hexo generi automàticament els fitxers estàtics. Tenint en compte que git té ganxos que poden fer moltes coses, podem utilitzar un ganxo git per aconseguir aquesta configuració.

Creeu un repositori nu al servidor

Torneu a iniciar sessió al servidor com a usuari vultr. Creeu un repositori nu:

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

Escriu un fitxer bash anomenat post-receiveque desplegarà el nostre bloc després de cada empenta:

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

Abans que el desplegament funcioni, també hem d'executar aquestes ordres al servidor:

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 el teu repositori git local

A la màquina local, també hem de crear un repositori. Aquests passos poden variar si utilitzeu un sistema operatiu d'escriptori diferent de Fedora.

Haureu de tenir git instal·lat.

Configura un repositori git local:

$ 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

És útil instal·lar Hexo a la vostra màquina local per escriure una publicació. Aquí configurem un directori Hexo per escriure.

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

La configuració s'ha completat. Podeu enviar una publicació al vostre servidor amb les ordres següents:

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

Quan tingui èxit, el bloc s'actualitzarà automàticament. Salutacions.

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació