Namestite Hexo na CentOS 7

Hexo je statična blog platforma, zgrajena z Node.js. Je hiter v primerjavi z drugimi statičnimi spletnimi platformami, kot je Jekyll.

V tej vadnici bom razložil, kako zgraditi in uvesti blog Hexo. Koraki so dokaj preprosti, napisani za CentOS 7, Node.js 4.4. Moj lokalni stroj je Fedora 23.

Predpogoji

Začnemo s sveže nameščenim sistemom CentOS 7. Potrebni so naslednji programski paketi:

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

Prijaviti se boste morali kot root ali kot uporabnik s privilegiji sudo.

Namestite pripomočke

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

Namestite Nginx

Namestite lahko nginxiz privzetega repo:

$yum install -y nginx

... ali namestite stabilno različico iz uradnega repo Nginx, tukaj izberemo slednjo.

Ustvarite repo datoteko z imenom nginx.repo, katere vsebina je:

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

... in kopiraj v /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

Namestite Node.js

Namestimo dolgo časa podprt Node.js iz uradnega repo Node.js.

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

Ustvarite novega uporabnika

Običajno je bolje ustvariti navadnega uporabnika za vodenje vašega spletnega dnevnika, ker ima root dovoljenja superuporabnika.

Tukaj ustvarimo uporabnika z imenom vultrin ga dodamo v skupino wheelin nginx:

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

Ustvari par ključev SSH

Uporabno in potrebno se je prijaviti prek ssh ključa.

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

Ko ustvarite naš par ključev ssh, kopirajte javni ključ (običajno id_rsa.pub) ~/.ssh/authorized_keysna strežnik:

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

In zdaj imamo nameščene vse pakete pred gradnjo.

Ustvarite svoj Hexo blog

Namestite Hexo

Prijavite se kot vultruporabnik. Nato ustvarite ~/web/web/vultrin ~/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

Vnesite ~/web/web/vultrin namestite Hexo:

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

Zdaj moramo samo ustvariti naš novi blog.

Uredi _config.yml, da spremenite URL spletnega mesta svojega spletnega dnevnika. Nato zaženite:

$ hexo g

Vaš blog je zdaj ustvarjen. Datoteke HTML se nahajajo pod ~/web/web/vultr/public.

Nastavite strežnik Nginx

Na tej točki še vedno ne moremo dostopati do naše spletne strani. Zato moramo konfigurirati Nginx.

Nginx se izvaja kot uporabnik, imenovan nginxv nginxskupini, in zato moramo dodati vultrskupini nginx.

$ chown -R vultr:nginx ~/web

Ustvarite konfiguracijsko datoteko nginx imenovan vultr.confpod ~/web/katerega vsebina je bolj ali manj, kot je ta:

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

Kopirajte vultr.confv /etc/nginx/config.d/Nginx in ga znova zaženite:

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

Zdaj je naš blog dostopen s spletnim brskalnikom.

Uporaba Gita za uvajanje vašega bloga

Ker je blog že nastavljen, je ta del vadnice neobvezen.

Na tej točki je malo neprijetno napisati objavo v blogu, ker bi se morali prijaviti in pisati na strežniku. Boljša rešitev bi bila, da pišemo na našem lokalnem računalniku, potisnemo objavo na strežnik in pustimo, da Hexo samodejno ustvari statične datoteke. Glede na to, da ima git kljuke, ki lahko naredijo veliko stvari, lahko uporabimo kavelj git, da dosežemo to nastavitev.

Ustvarite goli repozitorij na strežniku

Ponovno se prijavite v strežnik kot uporabnik vultr. Ustvarite golo skladišče:

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

Napišite bash datoteko z imenom, post-receiveki bo namestila naš blog po vsakem potisku:

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

Preden bo razmestitev delovala, moramo na strežniku zagnati tudi te ukaze:

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 .

Nastavite svoj lokalni git repozitorij

Na lokalnem računalniku moramo ustvariti tudi repozitorij. Ti koraki se lahko razlikujejo, če uporabljate namizni OS, ki ni Fedora.

Moral boš imeti nameščen git.

Nastavite lokalno git repozitorij:

$ 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

Za pisanje objave je koristno namestiti Hexo na vaš lokalni računalnik. Tukaj nastavimo Hexo imenik za pisanje.

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

Nastavitev je končana. Objavo lahko potisnete na svoj strežnik z naslednjimi ukazi:

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

Po uspehu bo blog samodejno posodobljen. Na zdravje.

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več