Instalējiet Hexo operētājsistēmā CentOS 7

Hexo ir statiska emuāra platforma, kas izveidota ar Node.js. Tas ir ātrs salīdzinājumā ar citām statiskām emuāru platformām, piemēram, Jekyll.

Šajā apmācībā es paskaidrošu, kā izveidot un izvietot Hexo emuāru. Darbības ir diezgan vienkāršas, rakstītas CentOS 7, Node.js 4.4. Mana vietējā mašīna ir Fedora 23.

Priekšnoteikumi

Mēs sākam ar tikko instalētu CentOS 7 sistēmu. Nepieciešamas šādas programmatūras pakotnes:

  • gcc-c un gcc-c++
  • make and git
  • nginx
  • openssl
  • nodejs un npm

Jums būs jāpiesakās kā root vai kā lietotājam ar sudo privilēģijām.

Instalējiet utilītas

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

Instalējiet Nginx

Varat instalēt nginxno noklusējuma repo:

$yum install -y nginx

... vai instalējiet stabilu versiju no oficiālā Nginx repo, šeit mēs izvēlamies pēdējo.

Izveidojiet repo failu ar nosaukumu nginx.repo, kura saturs ir:

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

... un kopējiet to uz /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ējiet Node.js

Mēs instalējam ilgstoši atbalstīto Node.js no oficiālā Node.js repo.

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

Izveidojiet jaunu lietotāju

Parasti emuāra vadīšanai ir labāk izveidot parastu lietotāju, jo root ir superlietotāja atļaujas.

Šeit mēs izveidojam lietotāju ar nosaukumu vultrun pievienojam to grupai wheelun nginx:

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

Ģenerējiet SSH atslēgu pāri

Ir noderīgi un nepieciešams pieteikties, izmantojot ssh atslēgu.

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

Pēc ssh atslēgu pāra izveidošanas kopējiet publisko atslēgu (parasti id_rsa.pub) uz ~/.ssh/authorized_keysservera:

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

Un tagad mums ir instalētas visas pirmsbūves pakotnes.

Izveidojiet savu Hexo emuāru

Instalējiet Hexo

Piesakieties kā vultrlietotājs. Pēc tam izveidojiet ~/web/web/vultrun ~/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

Ievadiet ~/web/web/vultrun instalējiet Hexo:

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

Tagad mums tikai jāizveido mūsu jaunais emuārs.

Rediģēt _config.yml, lai mainītu emuāra vietnes URL. Pēc tam palaist:

$ hexo g

Jūsu emuārs tagad ir izveidots. HTML faili atrodas zem ~/web/web/vultr/public.

Iestatiet savu Nginx serveri

Šobrīd mēs joprojām nevaram piekļūt savai vietnei. Tāpēc mums ir jākonfigurē Nginx.

Nginx darbojas kā lietotājs nosaukts nginxšajā nginxgrupā, un tas ir iemesls, kāpēc mums ir nepieciešams, lai pievienotu vultrgrupai nginx.

$ chown -R vultr:nginx ~/web

Izveidot Nginx konfigurācijas faila nosaukumu vultr.confar ~/web/kuru saturs ir vairāk vai mazāk, piemēram, šādi:

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

Kopēt vultr.confuz /etc/nginx/config.d/un atsākt Nginx:

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

Tagad mūsu emuārs ir pieejams, izmantojot tīmekļa pārlūkprogrammu.

Git izmantošana sava emuāra izvietošanai

Tā kā emuārs jau ir iestatīts, šī apmācības daļa nav obligāta.

Šobrīd ir nedaudz neērti rakstīt emuāra ierakstu, jo mums būtu jāpiesakās un jāraksta serverī. Labāks risinājums būtu rakstīt uz mūsu vietējā datora, nosūtīt ziņu uz serveri un ļaut Hexo automātiski ģenerēt statiskos failus. Ņemot vērā, ka git ir āķi, kas var veikt daudzas lietas, mēs varam izmantot git āķi, lai veiktu šo iestatījumu.

Serverī izveidojiet tukšu repozitoriju

Piesakieties serverī vēlreiz kā lietotājs vultr. Izveidojiet tukšu repozitoriju:

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

Uzrakstiet bash failu ar nosaukumu, post-receivekas izvietos mūsu emuāru pēc katras nosūtīšanas:

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

Lai izvietošana darbotos, mums serverī ir jāpalaiž arī šīs komandas:

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 .

Iestatiet savu vietējo git repozitoriju

Vietējā mašīnā mums ir arī jāizveido repozitorijs. Šīs darbības var atšķirties, ja izmantojat citu darbvirsmas OS, nevis Fedora.

Jums būs jāinstalē git.

Iestatiet vietējo git repozitoriju:

$ 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

Lai rakstītu ziņu, ir noderīgi instalēt Hexo savā vietējā datorā. Šeit mēs iestatām Hexo direktoriju rakstīšanai.

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

Iestatīšana ir pabeigta. Jūs varat nosūtīt ziņu savam serverim, izmantojot šādas komandas:

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

Veiksmes gadījumā emuārs tiks automātiski atjaunināts. Priekā.

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk