Nainstalujte Hexo na CentOS 7

Hexo je statická blogová platforma vytvořená pomocí Node.js. Ve srovnání s jinými platformami statických blogů, jako je Jekyll, je to rychlé.

V tomto tutoriálu vysvětlím, jak vytvořit a nasadit Hexo blog. Kroky jsou poměrně jednoduché, napsané pro CentOS 7, Node.js 4.4. Můj místní počítač je Fedora 23.

Předpoklady

Začínáme s čerstvě nainstalovaným systémem CentOS 7. Jsou vyžadovány následující softwarové balíčky:

  • gcc-c a gcc-c++
  • make a git
  • nginx
  • openssl
  • nodejs a npm

Budete se muset přihlásit jako root nebo jako uživatel s právy sudo.

Nainstalujte nástroje

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

Nainstalujte Nginx

Můžete nainstalovat nginxz výchozího úložiště:

$yum install -y nginx

... nebo nainstalujte stabilní verzi z oficiálního repozitáře Nginx, Zde vybereme druhou.

Vytvořte repo soubor s názvem nginx.repo, jehož obsah je:

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

... a zkopírujte to do /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

Nainstalujte Node.js

Instalujeme dlouhodobě podporovaný Node.js z oficiálního repozitáře Node.js.

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

Vytvořte nového uživatele

Obvykle je lepší vytvořit běžného uživatele pro provozování vašeho blogu, protože root má oprávnění superuživatele.

Zde vytvoříme uživatele s názvem vultra přidáme jej do skupiny wheela nginx:

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

Vygenerujte pár klíčů SSH

Je užitečné a nutné se přihlásit pomocí ssh klíče.

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

Po vytvoření našeho páru klíčů ssh zkopírujte veřejný klíč (obvykle id_rsa.pub) ~/.ssh/authorized_keysna server:

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

A nyní máme nainstalované všechny balíčky před sestavením.

Vytvořte si svůj Hexo blog

Nainstalujte Hexo

Přihlaste se jako vultruživatel. Poté vytvořte ~/web/web/vultra ~/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

Zadejte ~/web/web/vultra nainstalujte Hexo:

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

Teď už jen zbývá vytvořit náš nový blog.

Upravit _config.yml, chcete-li změnit adresu URL svého blogu. Pak spusťte:

$ hexo g

Váš blog byl nyní vytvořen. Soubory HTML jsou umístěny pod ~/web/web/vultr/public.

Nastavte svůj server Nginx

V tuto chvíli stále nemáme přístup na naše webové stránky. Proto musíme nakonfigurovat Nginx.

Nginx běží jako uživatel uvedený nginxve nginxskupině, a proto musíme přidat vultrdo skupiny nginx.

$ chown -R vultr:nginx ~/web

Vytvořte konfigurační soubor Nginx s názvem, vultr.confpod ~/web/jehož obsahem je víceméně tento:

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

Zkopírovat vultr.confdo /etc/nginx/config.d/a restartujte Nginx:

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

Nyní je náš blog přístupný pomocí webového prohlížeče.

Použití Gitu k nasazení vašeho blogu

Vzhledem k tomu, že blog je již nastaven, je tato část výukového programu volitelná.

V tuto chvíli je trochu nepohodlné psát příspěvek na blog, protože bychom se museli přihlásit a psát na server. Lepším řešením by bylo napsat na našem místním počítači, poslat příspěvek na server a nechat Hexo automaticky generovat statické soubory. Vzhledem k tomu, že git má háčky, které mohou dělat mnoho věcí, můžeme k dosažení tohoto nastavení použít git hook.

Vytvořte holé úložiště na serveru

Znovu se přihlaste k serveru jako uživatel vultr. Vytvořte holé úložiště:

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

Napište bash soubor s názvem, post-receivekterý nasadí náš blog po každém 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

Než bude nasazení fungovat, musíme také na serveru spustit tyto příkazy:

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 .

Nastavte místní úložiště git

Na místním počítači musíme také vytvořit úložiště. Tyto kroky se mohou lišit, pokud používáte jiný desktopový OS než Fedora.

Budete muset mít nainstalovaný git.

Nastavte místní úložiště 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

Pro psaní příspěvku je užitečné nainstalovat Hexo na místní počítač. Zde nastavíme Hexo adresář pro zápis.

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

Nastavení je dokončeno. Příspěvek můžete odeslat na server pomocí následujících příkazů:

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

Po úspěchu bude blog automaticky aktualizován. Na zdraví.

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více