Előfeltételek
Készítse el Hexo blogját
Git használata a blog üzembe helyezéséhez
A Hexo egy statikus blogplatform, amely a Node.js-szel készült. Más statikus blogplatformokhoz, például a Jekyllhez képest gyors.
Ebben az oktatóanyagban elmagyarázom, hogyan kell létrehozni és telepíteni egy Hexo blogot. A lépések meglehetősen egyszerűek, CentOS 7, Node.js 4.4 rendszerhez írva. A helyi gépem a Fedora 23.
Előfeltételek
Egy frissen telepített CentOS 7 rendszerrel kezdjük. A következő szoftvercsomagokra van szükség:
- gcc-c és gcc-c++
- make és git
- nginx
- openssl
- nodejs és npm
Be kell jelentkeznie rootként vagy sudo jogosultságokkal rendelkező felhasználóként.
Segédprogramok telepítése
$ yum install -y gcc gcc-c++ make git openssl
Telepítse az Nginx-et
Telepítheti nginxaz alapértelmezett repóból:
$yum install -y nginx
... vagy telepítsen egy stabil verziót a hivatalos Nginx repóból, itt az utóbbit választjuk.
Hozzon létre egy repo fájlt nginx.repo, melynek tartalma a következő:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
... és másolása /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
Telepítse a Node.js-t
A régóta támogatott Node.js-t a hivatalos Node.js-tárból telepítjük.
$ curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
$ yum update and yum install -y nodejs
Hozzon létre egy új felhasználót
Általában jobb, ha létrehoz egy közönséges felhasználót a blog futtatásához, mert a root rendelkezik szuperfelhasználói jogosultságokkal.
Itt létrehozunk egy nevű felhasználót, vultrés hozzáadjuk a csoporthoz wheelés nginx:
$ useradd -d /home/vultr -m -r -U -s /bin/bash
$ passwd vultr
$ usermod -aG nginx vultr
$ usermod -aG wheel vultr
Hozzon létre egy SSH kulcspárt
Hasznos és szükséges ssh-kulccsal bejelentkezni.
$ ssh-keygen -b 4096 -C "vultr@example.com"
Az ssh kulcspár létrehozása után másolja a nyilvános kulcsot (általában id_rsa.pub) ide ~/.ssh/authorized_keys:
ssh-copy-id -i ~/.ssh/id_rsa.pub vultr@example.com
És most telepítettük az összes építés előtti csomagot.
Készítse el Hexo blogját
Telepítse a Hexo-t
Jelentkezzen be vultrfelhasználóként. Ezután hozza létre ~/web/web/vultrés ~/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
Írja be ~/web/web/vultr, és telepítse a Hexo-t:
$ cd ~/web/web/vultr
$ sudo npm install -g hexo-cli hexo-server
$ hexo init && npm install --save
Most már csak az új blogunkat kell létrehoznunk.
Szerkesztés _config.yml, a blog webhelyének URL-címének módosításához. Akkor futtasd:
$ hexo g
A blogod elkészült. A HTML fájlok a alatt találhatók ~/web/web/vultr/public.
Állítsa be az Nginx szervert
Jelenleg még nem tudjuk elérni weboldalunkat. Ezért konfigurálnunk kell az Nginxet.
Az Nginx nginxa nginxcsoportban megnevezett felhasználóként fut, ezért hozzá kell adnunk vultra csoporthoz nginx.
$ chown -R vultr:nginx ~/web
Hozzon létre egy nginx konfigurációs fájl neve vultr.confmellett ~/web/, amelyek a tartalom többé-kevésbé, mint ez:
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;
}
}
Másolás vultr.confaz /etc/nginx/config.d/Nginx- be és újraindítás:
$ sudo ln -sf ~/web/vultr.conf /etc/nginx/config.d/
$ sudo systemctl restart nginx
Blogunk mostantól webböngészővel is elérhető.
Git használata a blog üzembe helyezéséhez
Mivel a blog már be van állítva, az oktatóanyag ezen része nem kötelező.
Ezen a ponton kicsit kényelmetlen blogbejegyzést írni, mert be kellene jelentkeznünk és írni a szerveren. A jobb megoldás az lenne, ha a helyi gépünkön írunk, a bejegyzést a szerverre küldjük, és hagyjuk, hogy a Hexo automatikusan generálja a statikus fájlokat. Tekintettel arra, hogy a git-nek vannak horgjai, amelyek sok mindent el tudnak végezni, használhatunk egy git hook-ot a beállítás eléréséhez.
Hozzon létre egy üres tárolót a kiszolgálón
Jelentkezzen be újra felhasználóként a szerverre vultr. Hozzon létre egy üres tárat:
$ cd ~/web/git/vultr
$ git init --bare
$ cd hooks
Írjon egy bash fájlt, post-receiveamely minden leküldés után telepíti a blogunkat:
#!/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
Mielőtt a telepítés működne, ezeket a parancsokat is le kell futtatnunk a szerveren:
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 .
Állítsa be a helyi git tárolót
A helyi gépen is létre kell hoznunk egy tárolót. Ezek a lépések eltérőek lehetnek, ha a Fedorától eltérő asztali operációs rendszert használ.
Telepíteni kell a git-et.
Helyi git tároló beállítása:
$ 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
Hasznos a Hexo telepítése a helyi gépre, hogy bejegyzést írhasson. Itt beállítunk egy Hexo könyvtárat az íráshoz.
$ 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"
A beállítás kész. A következő parancsokkal küldhet egy bejegyzést a szerverére:
$ cd ~/vultr/git/vultr
$ git add . && git commit -m "new post"
$ git push production master
Siker esetén a blog automatikusan frissül. Egészségére.