ติดตั้ง Hexo บน CentOS 7

Hexo เป็นแพลตฟอร์มบล็อกแบบคงที่สร้างขึ้นด้วย Node.js มันรวดเร็วเมื่อเทียบกับแพลตฟอร์มบล็อกคงที่อื่น ๆ เช่น Jekyll

ในบทช่วยสอนนี้ฉันจะอธิบายวิธีสร้างและปรับใช้บล็อก Hexo ขั้นตอนนั้นค่อนข้างง่ายเขียนขึ้นสำหรับ CentOS 7, Node.js 4.4 เครื่องท้องถิ่นของฉันคือ Fedora 23

ข้อกำหนดเบื้องต้น

เราเริ่มต้นด้วยระบบ CentOS 7 ที่ติดตั้งใหม่ จำเป็นต้องมีแพ็คเกจซอฟต์แวร์ต่อไปนี้:

  • gcc-c และ gcc-c ++
  • ทำและคอมไพล์
  • Nginx
  • OpenSSL
  • nodejs และ npm

คุณจะต้องเข้าสู่ระบบในฐานะ root หรือในฐานะผู้ใช้ที่มีสิทธิ์ sudo

ติดตั้งระบบสาธารณูปโภค

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

ติดตั้ง Nginx

คุณสามารถติดตั้งnginxจาก repo เริ่มต้น:

$yum install -y nginx

... หรือติดตั้งเวอร์ชั่นเสถียรจาก repo Nginx อย่างเป็นทางการที่นี่เราเลือกอย่างหลัง

สร้างไฟล์ repo ชื่อnginx.repoซึ่งเนื้อหาคือ:

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

... และคัดลอกไป/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

ติดตั้ง Node.js

เราติดตั้ง Node.js ที่สนับสนุนเป็นเวลานานจาก repo Node.js อย่างเป็นทางการ

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

สร้างผู้ใช้ใหม่

โดยทั่วไปแล้วจะเป็นการดีกว่าถ้าคุณสร้างผู้ใช้ธรรมดาให้เรียกใช้บล็อกของคุณเนื่องจากรูทมีสิทธิ์ผู้ใช้ระดับสูง

ที่นี่เราสร้างชื่อผู้ใช้vultrและเพิ่มลงในกลุ่มwheelและnginx:

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

สร้างคู่คีย์ SSH

มันมีประโยชน์และจำเป็นในการเข้าสู่ระบบผ่านทางคีย์ ssh

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

หลังจากสร้างคู่คีย์ ssh ของเราให้คัดลอกกุญแจสาธารณะ (ปกติid_rsa.pub) ไปยัง~/.ssh/authorized_keysบนเซิร์ฟเวอร์:

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

และตอนนี้เราได้ติดตั้งแพ็คเกจสำเร็จรูปทั้งหมดแล้ว

สร้างบล็อก Hexo ของคุณ

ติดตั้ง Hexo

เข้าสู่ระบบในฐานะvultrผู้ใช้ จากนั้นสร้าง~/web/web/vultrและ~/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

ป้อน~/web/web/vultrและติดตั้ง Hexo:

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

ตอนนี้เราแค่ต้องสร้างบล็อกใหม่ของเรา

แก้ไข_config.ymlเพื่อเปลี่ยน URL เว็บไซต์บล็อกของคุณ จากนั้นเรียกใช้:

$ hexo g

สร้างบล็อกของคุณแล้ว ไฟล์ HTML ~/web/web/vultr/publicอยู่ภายใต้

ตั้งค่าเซิร์ฟเวอร์ Nginx ของคุณ

ณ จุดนี้เรายังคงไม่สามารถเข้าถึงเว็บไซต์ของเรา ดังนั้นเราจำเป็นต้องกำหนดค่า Nginx

Nginx ทำงานเป็นผู้ใช้ที่ชื่อnginxในnginxกลุ่มและนั่นเป็นเหตุผลที่เราต้องเพิ่มไปยังกลุ่มvultrnginx

$ chown -R vultr:nginx ~/web

สร้างไฟล์กำหนดค่า Nginx vultr.confภายใต้ชื่อ~/web/ซึ่งเนื้อหามีลักษณะดังนี้:

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

คัดลอกvultr.confไป/etc/nginx/config.d/และเริ่มต้น Nginx:

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

ตอนนี้บล็อกของเราสามารถเข้าถึงได้ด้วยเว็บเบราว์เซอร์

ใช้ Git เพื่อปรับใช้บล็อกของคุณ

เนื่องจากบล็อกได้รับการตั้งค่าเรียบร้อยแล้วส่วนของบทช่วยสอนนี้จึงเป็นทางเลือก

ณ จุดนี้มันไม่สะดวกเล็กน้อยที่จะเขียนโพสต์บล็อกเพราะเราจะต้องเข้าสู่ระบบและเขียนบนเซิร์ฟเวอร์ ทางออกที่ดีกว่าคือการเขียนลงในเครื่องของเรากดโพสต์บนเซิร์ฟเวอร์แล้วปล่อยให้ Hexo สร้างไฟล์สแตติกอัตโนมัติ เมื่อพิจารณาถึงคอมไพล์มี hooks ซึ่งสามารถทำอะไรได้หลายอย่างเราสามารถใช้ git hook เพื่อทำการตั้งค่านี้

สร้างที่เก็บเปล่าบนเซิร์ฟเวอร์

vultrเข้าสู่ระบบไปยังเซิร์ฟเวอร์อีกครั้งในฐานะผู้ใช้ สร้างที่เก็บเปล่า:

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

เขียนชื่อไฟล์ทุบตีpost-receiveซึ่งจะปรับใช้บล็อกของเราหลังจากการกดแต่ละครั้ง:

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

ก่อนการปรับใช้จะใช้งานได้เราจำเป็นต้องเรียกใช้คำสั่งเหล่านี้บนเซิร์ฟเวอร์:

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 .

ตั้งค่าที่เก็บ git ในพื้นที่ของคุณ

บนเครื่องท้องถิ่นเราต้องสร้างที่เก็บอีกด้วย ขั้นตอนเหล่านี้อาจแตกต่างกันไปหากคุณใช้ระบบปฏิบัติการเดสก์ท็อปนอกเหนือจาก Fedora

คุณจะต้องติดตั้งคอมไพล์

ติดตั้งที่เก็บ 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

การติดตั้ง Hexo บนเครื่องคอมพิวเตอร์ของคุณเพื่อเขียนโพสต์นั้นมีประโยชน์ ที่นี่เราตั้งค่าไดเรกทอรี Hexo สำหรับการเขียน

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

การตั้งค่าเสร็จสมบูรณ์ คุณสามารถโพสต์ไปยังเซิร์ฟเวอร์ของคุณด้วยคำสั่งต่อไปนี้:

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

เมื่อสำเร็จบล็อกจะได้รับการอัปเดตโดยอัตโนมัติ ไชโย

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true