Ghostเป็นแพลตฟอร์มการเขียนบล็อกโอเพนซอร์ซที่ให้บริการฟรีและเขียนในnode.jsซึ่งสามารถปรับแต่งได้อย่างสมบูรณ์และทุ่มเทสำหรับการเผยแพร่
เตรียมเซิร์ฟเวอร์: อัพเดตแพ็คเกจ, ติดตั้ง Node.js และ NPM
เราจะสาธิตการติดตั้งโดยลงชื่อเข้าใช้เซิร์ฟเวอร์root
เพื่อที่เราจะได้ไม่ต้องเพิ่มsudo
ก่อนแต่ละคำสั่ง sudo
หากคุณกำลังลงทะเบียนเป็นผู้ใช้อื่นจำไว้ว่าคุณจะต้อง
บนเซิร์ฟเวอร์ของคุณทำงานต่อไปเพื่อปรับปรุงดัชนีแพคเกจอัพเกรดแพคเกจและการติดตั้งและnodejs
npm
apt-get update
apt-get upgrade
apt-get install python software-properties-common gcc g++ make -y # auto install
add-apt-repository ppa:chris-lea/node.js -y
เอาต์พุตจากคำสั่งเหล่านี้ควรคล้ายกับ:
gpg: keyring `/tmp/tmpvpe2ugzj/secring.gpg' created
gpg: keyring `/tmp/tmpvpe2ugzj/pubring.gpg' created
gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpvpe2ugzj/trustdb.gpg: trustdb created
gpg: key C7917B12: public key "Launchpad chrislea" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
โดยอัตโนมัติคีย์แพคเกจการลงนามจะถูกเพิ่มเข้าไปในพวงกุญแจ (เพื่อให้แพคเกจที่ดาวน์โหลดสามารถตรวจสอบได้) และสัญญาซื้อขายไฟฟ้าจะถูกเพิ่มลงของ sources.list.d
APT
ตอนนี้มาเรียกใช้:
apt-get update # again
apt-get install nodejs -y
รันnpm
เพื่อทดสอบการติดตั้ง คุณจะเห็นnpm
การใช้งานที่พิมพ์บนหน้าจอ:
Usage: npm <command>
...
...
[email protected] /usr/lib/node_modules/npm
ตอนนี้เราสามารถติดตั้ง Ghost
การติดตั้ง: Ghost และ Nginx
ตั้งแต่ผีขณะนี้ถือว่าเป็น "Stable" npm
ก็สามารถติดตั้งผ่าน ติดตั้งด้วยคำสั่ง���่อไปนี้:
npm install -g ghost --production
ไม่สนใจคำเตือนใด ๆ ในตอนนี้
ต่อไปเราจะเริ่ม Ghost และตรวจสอบว่ามันทำงานอย่างถูกต้อง
cd /usr/lib/node_modules/ghost
npm start --production
ผลลัพธ์ควรมีลักษณะเช่นนี้:
> [email protected] start /usr/lib/node_modules/ghost
> node index
Migrations: Database initialisation required for version 003
...
Migrations: Complete
Ghost is running...
Your blog is now available on http://my-ghost-blog.com
Ctrl+C to shut down
มันได้ผล! ใช้Ctrl-Cเพื่อปิด Ghost และไปยังขั้นตอนถัดไป: การติดตั้ง (และการกำหนดค่า) Nginx
Nginx ติดตั้งง่ายมาก รันคำสั่งต่อไปนี้:
apt-get install nginx
Nginx จะได้รับการกำหนดค่าให้อนุญาตการเชื่อมต่อจากที่ใดก็ได้ใน wild ไปยังพอร์ต 80 (หรือ 443 หากใช้SSL ) บนเซิร์ฟเวอร์ของคุณซึ่งจะถูกส่งต่อ (" proxied ") ไปยัง Ghost นี่คือวิธีที่ผู้คนเชื่อมต่อกับบล็อกของคุณ
การกำหนดค่า Nginx นั้นไม่ยากเช่นกัน ทำตามขั้นตอนเหล่านี้เพื่อกำหนดค่า Ghost proxy
ก่อนอื่นให้ลบไฟล์การกำหนดค่าเริ่มต้น:
cd /etc/nginx/
rm sites-enabled/default
จากนั้นสร้างไฟล์การกำหนดค่าใหม่:
cd sites-available
touch ghost
ปรับบรรทัดต่อไปนี้ให้ตรงกับความต้องการของคุณและใช้สิ่งที่ชอบnano
หรือvi
วางไว้ใน (คุณจะต้องตั้งserver_name
ชื่อโดเมนของคุณ):
server {
listen 80;
server_name yourdomain.tld;
access_log /var/log/nginx/yourdomain.tld.log; # if you want logging
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
}
}
เชื่อมโยงไฟล์กำหนดค่าของคุณ:
cd /etc/nginx
ln -s sites-available/ghost sites-enabled/ghost
รีสตาร์ท Nginx:
service nginx restart
ณ จุดนี้ Nginx ได้รับการติดตั้งกำหนดค่าและทำงานบนเซิร์ฟเวอร์ของคุณ
ในที่สุด: เริ่ม Ghost โดยอัตโนมัติ
หัวหน้างานเป็นระบบควบคุมกระบวนการที่ให้คุณเรียกใช้ Ghost เมื่อเริ่มต้นโดยไม่ต้องใช้สคริปต์ init เราจะทำการติดตั้ง Supervisor เพื่อจัดการ Ghost
ในการติดตั้ง Supervisor ให้เรียกใช้:
apt-get install supervisor
service supervisor start
/etc/supervisor/conf.d/ghost.conf
จากนั้นสร้างแฟ้มสคริปต์ใหม่ วางในเนื้อหาเหล่านี้:
[program:ghost]
command = node /usr/lib/node_modules/ghost/index.js
directory = /usr/lib/node_modules/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"
บันทึกและปิดไฟล์
ต่อไปเราต้องสร้างผู้ใช้สำหรับ Ghost และให้สิทธิ์ในการเข้าถึงไฟล์และฐานข้อมูล Ghost รันคำสั่งต่อไปนี้:
useradd ghost
chown -R ghost /usr/lib/node_modules/ghost/
supervisorctl reread
supervisorctl update
การตั้งค่าของเราเสร็จสมบูรณ์แล้ว!
ตอนนี้คุณสามารถควบคุมผีโดยการดำเนินการและsupervisorctl start ghost
supervisorctl stop ghost