Installieren Sie Hexo unter CentOS 7

Hexo ist eine statische Blog-Plattform, die mit Node.js erstellt wurde. Es ist schnell im Vergleich zu anderen statischen Blog-Plattformen wie Jekyll.

In diesem Tutorial werde ich erklären, wie ein Hexo-Blog erstellt und bereitgestellt wird. Die Schritte sind ziemlich einfach und für CentOS 7, Node.js 4.4 geschrieben. Mein lokaler Computer ist Fedora 23.

Voraussetzungen

Wir beginnen mit einem frisch installierten CentOS 7-System. Folgende Softwarepakete sind erforderlich:

  • gcc-c und gcc-c ++
  • machen und git
  • Nginx
  • openssl
  • nodejs und npm

Sie müssen sich als root oder als Benutzer mit sudo-Berechtigungen anmelden.

Dienstprogramme installieren

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

Installieren Sie Nginx

Sie können nginxvom Standard-Repo installieren :

$yum install -y nginx

... oder installieren Sie eine stabile Version aus dem offiziellen Nginx-Repo. Hier wählen wir Letzteres.

Erstellen Sie eine Repo-Datei mit dem Namen nginx.repo, deren Inhalt ist:

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

... und kopiere es nach /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

Installieren Sie Node.js.

Wir installieren die seit langem unterstützten Node.js aus dem offiziellen Node.js-Repo.

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

Erstellen Sie einen neuen Benutzer

In der Regel ist es besser, einen normalen Benutzer zum Ausführen Ihres Blogs zu erstellen, da root über Superuser-Berechtigungen verfügt.

Hier erstellen wir einen Benutzer mit dem Namen vultrund fügen ihn der Gruppe hinzu wheelund nginx:

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

Generieren Sie ein SSH-Schlüsselpaar

Es ist nützlich und notwendig, sich über einen SSH-Schlüssel anzumelden.

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

Kopieren Sie nach dem Erstellen unseres SSH-Schlüsselpaars den öffentlichen Schlüssel (normalerweise id_rsa.pub) ~/.ssh/authorized_keysauf den Server:

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

Und jetzt haben wir alle vorgefertigten Pakete installiert.

Erstellen Sie Ihr Hexo-Blog

Installieren Sie Hexo

Melden Sie sich als vultrBenutzer an. Dann erstellen ~/web/web/vultrund ~/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

Geben Sie ~/web/web/vultrHexo ein und installieren Sie es:

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

Jetzt müssen wir nur noch unseren neuen Blog erstellen.

Bearbeiten _config.yml, um die URL Ihrer Blog-Site zu ändern. Dann renne:

$ hexo g

Ihr Blog wurde jetzt generiert. Die HTML-Dateien befinden sich unter ~/web/web/vultr/public.

Richten Sie Ihren Nginx-Server ein

Derzeit können wir noch nicht auf unsere Website zugreifen. Daher müssen wir Nginx konfigurieren.

Nginx läuft als Benutzer mit dem Namen nginxin der nginxGruppe, und deshalb müssen wir hinzufügen vultrzu Gruppe nginx.

$ chown -R vultr:nginx ~/web

Erstellen Sie eine Nginx-Konfigurationsdatei mit dem Namen, vultr.confunter ~/web/der der Inhalt mehr oder weniger so aussieht:

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

Kopieren Sie vultr.confan /etc/nginx/config.d/und starten Sie Nginx:

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

Jetzt ist unser Blog mit einem Webbrowser zugänglich.

Verwenden von Git zum Bereitstellen Ihres Blogs

Da das Blog bereits eingerichtet ist, ist dieser Teil des Tutorials optional.

Zu diesem Zeitpunkt ist es etwas unpraktisch, einen Blog-Beitrag zu schreiben, da wir uns anmelden und auf dem Server schreiben müssten. Eine bessere Lösung wäre, auf unseren lokalen Computer zu schreiben, den Beitrag auf den Server zu schieben und Hexo die statischen Dateien automatisch generieren zu lassen. In Anbetracht der Tatsache, dass Git Hooks hat, die viele Dinge tun können, können wir einen Git-Hook verwenden, um dieses Setup zu erreichen.

Erstellen Sie ein nacktes Repository auf dem Server

Melden Sie sich erneut als Benutzer beim Server an vultr. Erstellen Sie ein nacktes Repository:

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

Schreiben Sie eine Bash-Datei mit dem Namen post-receive, die unser Blog nach jedem Push bereitstellt:

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

Bevor die Bereitstellung funktioniert, müssen wir außerdem die folgenden Befehle auf dem Server ausführen:

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 .

Richten Sie Ihr lokales Git-Repository ein

Auf dem lokalen Computer müssen wir auch ein Repository erstellen. Diese Schritte können variieren, wenn Sie ein anderes Desktop-Betriebssystem als Fedora verwenden.

Sie müssen Git installiert haben.

Richten Sie ein lokales Git-Repository ein:

$ 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

Es ist nützlich, Hexo auf Ihrem lokalen Computer zu installieren, um einen Beitrag zu schreiben. Hier richten wir ein Hexo-Verzeichnis zum Schreiben ein.

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

Das Setup ist abgeschlossen. Sie können einen Beitrag mit den folgenden Befehlen an Ihren Server senden:

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

Bei Erfolg wird das Blog automatisch aktualisiert. Prost.

Einen Kommentar hinterlassen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.