Parakushtet
Ndërtoni blogun tuaj Hexo
Përdorimi i Git për të vendosur blogun tuaj
Hexo është një platformë statike e blogut, e ndërtuar me Node.js. Është i shpejtë në krahasim me platformat e tjera statike të blogut, si Jekyll.
Në këtë tutorial, unë do të shpjegoj se si të ndërtojmë dhe vendosim një blog Hexo. Hapat janë mjaft të thjeshtë, të shkruar për CentOS 7, Node.js 4.4. Makina ime lokale është Fedora 23.
Parakushtet
Ne fillojmë me një sistem CentOS 7 të sapo instaluar. Kërkohen paketat e mëposhtme të softuerit:
- gcc-c dhe gcc-c++
- bëj dhe bëj
- nginx
- openssl
- nodejs dhe npm
Do t'ju duhet të identifikoheni si root, ose si përdorues me privilegje sudo.
Instaloni shërbimet komunale
$ yum install -y gcc gcc-c++ make git openssl
Instaloni Nginx
Mund ta instaloni nginxnga depo e paracaktuar:
$yum install -y nginx
... ose instaloni një version të qëndrueshëm nga repo zyrtare Nginx, Këtu zgjedhim këtë të fundit.
Krijoni një skedar repo me emrin nginx.repo, përmbajtja e të cilit është:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
... dhe kopjojeni atë në /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
Instaloni Node.js
Ne instalojmë Node.js të mbështetur prej kohësh nga depoja zyrtare e Node.js.
$ curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
$ yum update and yum install -y nodejs
Krijo një përdorues të ri
Zakonisht është më mirë të krijoni një përdorues të zakonshëm për të drejtuar blogun tuaj, sepse root ka leje super-përdoruesi.
Këtu ne krijojmë një përdorues të quajtur vultrdhe e shtojmë atë në grup wheeldhe nginx:
$ useradd -d /home/vultr -m -r -U -s /bin/bash
$ passwd vultr
$ usermod -aG nginx vultr
$ usermod -aG wheel vultr
Gjeneroni një çift çelësash SSH
Është e dobishme dhe e nevojshme të identifikohesh përmes një çelësi ssh.
$ ssh-keygen -b 4096 -C "vultr@example.com"
Pas krijimit të çiftit tonë të çelësave ssh, kopjoni çelësin publik (zakonisht id_rsa.pub) ~/.ssh/authorized_keysnë server:
ssh-copy-id -i ~/.ssh/id_rsa.pub vultr@example.com
Dhe tani, ne kemi të instaluara të gjitha paketat e para-ndërtimit.
Ndërtoni blogun tuaj Hexo
Instaloni Hexo
Identifikohu si vultrpërdorues. Më pas, krijoni ~/web/web/vultrdhe ~/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
Futni ~/web/web/vultrdhe instaloni Hexo:
$ cd ~/web/web/vultr
$ sudo npm install -g hexo-cli hexo-server
$ hexo init && npm install --save
Tani na mbetet vetëm të krijojmë blogun tonë të ri.
Ndrysho _config.yml, për të ndryshuar url-në e faqes së blogut. Pastaj vraponi:
$ hexo g
Blogu juaj tani është krijuar. Skedarët HTML ndodhen nën ~/web/web/vultr/public.
Konfiguro serverin tuaj Nginx
Në këtë pikë, ne ende nuk mund të hyjmë në faqen tonë të internetit. Prandaj, duhet të konfigurojmë Nginx.
Nginx funksionon si një përdorues i emëruar nginxnë nginxgrup, dhe kjo është arsyeja pse ne duhet të shtojmë vultrnë grup nginx.
$ chown -R vultr:nginx ~/web
Krijoni një skedar konfigurimi Nginx me emrin vultr.confnën ~/web/të cilin përmbajtja është pak a shumë si kjo:
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;
}
}
Kopjo vultr.confnë /etc/nginx/config.d/dhe restarto nginx:
$ sudo ln -sf ~/web/vultr.conf /etc/nginx/config.d/
$ sudo systemctl restart nginx
Tani blogu ynë është i aksesueshëm me një shfletues ueb.
Përdorimi i Git për të vendosur blogun tuaj
Meqenëse blogu është tashmë i konfiguruar, kjo pjesë e tutorialit është fakultative.
Në këtë pikë, është pak e papërshtatshme të shkruajmë një postim në blog, sepse do të na duhet të identifikohemi dhe të shkruajmë në server. Një zgjidhje më e mirë do të ishte të shkruanim në makinën tonë lokale, ta shtyni postimin në server dhe të lejoni që Hexo të gjenerojë automatikisht skedarët statikë. Duke marrë parasysh që git ka grepa që mund të bëjnë shumë gjëra, ne mund të përdorim një grep git për të arritur këtë konfigurim.
Krijoni një depo të zhveshur në server
Hyni përsëri në server si përdorues vultr. Krijoni një depo të zhveshur:
$ cd ~/web/git/vultr
$ git init --bare
$ cd hooks
Shkruani një skedar bash me emrin i post-receivecili do të vendosë blogun tonë pas çdo shtytjeje:
#!/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
Përpara se vendosja të funksionojë, ne gjithashtu duhet të ekzekutojmë këto komanda në server:
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 .
Vendosni depon tuaj lokale git
Në makinën lokale, ne gjithashtu duhet të krijojmë një depo. Këta hapa mund të ndryshojnë nëse jeni duke përdorur një OS desktop të ndryshëm nga Fedora.
Ju do të duhet të keni të instaluar git.
Vendosni një depo lokale git:
$ 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
Është e dobishme të instaloni Hexo në kompjuterin tuaj lokal për të shkruar një postim. Këtu kemi vendosur një direktori Hexo për shkrim.
$ 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"
Konfigurimi ka përfunduar. Ju mund të shtyni një postim në serverin tuaj me komandat e mëposhtme:
$ cd ~/vultr/git/vultr
$ git add . && git commit -m "new post"
$ git push production master
Pas suksesit, blogu do të përditësohet automatikisht. Gëzuar.