Installeer Hexo op CentOS 7

Hexo is een statisch blogplatform, gebouwd met Node.js. Het is snel vergeleken met andere statische blogplatforms, zoals Jekyll.

In deze tutorial zal ik uitleggen hoe je een Hexo-blog kunt bouwen en implementeren. De stappen zijn vrij eenvoudig, geschreven voor CentOS 7, Node.js 4.4. Mijn lokale machine is Fedora 23.

Vereisten

We beginnen met een nieuw geïnstalleerd CentOS 7-systeem. De volgende softwarepakketten zijn vereist:

  • gcc-c en gcc-c ++
  • maken en git
  • nginx
  • openssl
  • nodejs en npm

U moet inloggen als root of als gebruiker met sudo-rechten.

Installeer hulpprogramma's

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

Installeer Nginx

Je kunt installeren nginxvanaf de standaard repo:

$yum install -y nginx

... of installeer een stabiele versie van de officiële Nginx-repo, hier kiezen we voor de laatste.

Maak een repo-bestand met de naam nginx.repo, waarvan de inhoud is:

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

... en kopieer het naar /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

Installeer Node.js

We installeren de lang ondersteunde Node.js van de officiële Node.js-repo.

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

Maak een nieuwe gebruiker aan

Meestal is het beter om een ​​gewone gebruiker te maken om je blog uit te voeren, omdat root supergebruikersrechten heeft.

Hier maken we een gebruiker met de naam vultren voegen deze toe aan de groep wheelen nginx:

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

Genereer een SSH-sleutelpaar

Het is handig en noodzakelijk om in te loggen via een ssh-sleutel.

$ ssh-keygen -b 4096 -C "[email protected]"

Nadat u ons ssh-sleutelpaar hebt gemaakt, kopieert u de openbare sleutel (meestal id_rsa.pub) naar ~/.ssh/authorized_keysop de server:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

En nu hebben we alle pre-building-pakketten geïnstalleerd.

Bouw je Hexo-blog

Installeer Hexo

Log in als de vultrgebruiker. Maak vervolgens ~/web/web/vultren ~/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

Voer ~/web/web/vultrHexo in en installeer het:

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

Nu hoeven we alleen maar onze nieuwe blog te maken.

Bewerken _config.yml, om de URL van uw blogsite te wijzigen. Ren dan:

$ hexo g

Je blog is nu gegenereerd. De HTML-bestanden bevinden zich onder ~/web/web/vultr/public.

Stel uw Nginx-server in

Op dit moment hebben we nog steeds geen toegang tot onze website. Daarom moeten we Nginx configureren.

Nginx wordt uitgevoerd als een gebruiker die nginxin de nginxgroep wordt genoemd, en daarom moeten we vultraan de groep toevoegen nginx.

$ chown -R vultr:nginx ~/web

Maak een Nginx-configuratiebestand met de naam vultr.confwaaronder ~/web/de inhoud min of meer als volgt is:

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

Kopieer vultr.confnaar /etc/nginx/config.d/en start Nginx opnieuw:

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

Nu is onze blog toegankelijk met een webbrowser.

Git gebruiken om je blog te implementeren

Aangezien de blog al is opgezet, is dit gedeelte van de tutorial optioneel.

Op dit moment is het een beetje lastig om een ​​blogpost te schrijven, omdat we moeten inloggen en op de server moeten schrijven. Een betere oplossing zou zijn om op onze lokale machine te schrijven, de post op de server te duwen en Hexo automatisch de statische bestanden te laten genereren. Aangezien git hooks heeft die veel dingen kunnen doen, kunnen we een git hook gebruiken om deze setup te bereiken.

Maak een kale opslagplaats op de server

Log opnieuw in op de server als gebruiker vultr. Maak een kale opslagplaats:

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

Schrijf een bash-bestand met de naam post-receivedat onze blog na elke push zal implementeren:

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

Voordat de implementatie werkt, moeten we ook deze opdrachten op de server uitvoeren:

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 .

Stel je lokale git-repository in

Op de lokale computer moeten we ook een repository maken. Deze stappen kunnen variëren als je een ander desktop OS dan Fedora gebruikt.

Je moet git geïnstalleerd hebben.

Stel een lokale git-repository in:

$ mkdir -p ~/vultr/git/vultr`
$ cd ~/vultr/git/vultr and git init
$ git remote add production ssh://[email protected]:/home/vultr/web/git/vultr

Het is handig om Hexo op uw lokale computer te installeren om een ​​bericht te schrijven. Hier stellen we een Hexo-directory in om te schrijven.

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

De installatie is voltooid. U kunt een bericht naar uw server pushen met de volgende opdrachten:

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

Bij succes wordt de blog automatisch bijgewerkt. Proost.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.