Ghost adalah platform blog sumber terbuka dan terbuka yang ditulis dalam node.js , sepenuhnya disesuaikan dan dikhaskan untuk penerbitan.
Sediakan pelayan: Kemas kini pakej, Pasang Node.js dan NPM
Kami akan menunjukkan pemasangannya dengan masuk ke pelayan seperti itu root
, sehingga kami tidak perlu menambahkan sudo
sebelum setiap perintah. Sekiranya anda log masuk sebagai pengguna lain, ingat bahawa anda memerlukannya sudo
.
Di pelayan anda, jalankan yang berikut untuk mengemas kini indeks paket, menaikkan pakej, dan memasang nodejs
dan 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
Keluaran dari arahan ini harus serupa dengan:
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
Secara automatik, kunci penandatanganan pakej akan ditambahkan ke keyring (supaya pakej yang dimuat dapat disahkan), dan PPA akan ditambahkan ke APT sources.list.d
.
Sekarang, mari kita jalankan:
apt-get update # again
apt-get install nodejs -y
Jalankan npm
untuk menguji pemasangan. Anda akan melihat npm
penggunaan dicetak ke skrin:
Usage: npm <command>
...
...
[email protected] /usr/lib/node_modules/npm
Sekarang kita boleh memasang Ghost.
Pemasangan: Ghost dan Nginx
Oleh kerana Ghost kini dianggap "stabil", ia dapat dipasang melalui npm
. Pasang dengan arahan berikut:
npm install -g ghost --production
Abaikan sebarang amaran buat masa ini.
Seterusnya, kami akan memulakan Ghost dan memeriksa apakah ia berfungsi dengan baik.
cd /usr/lib/node_modules/ghost
npm start --production
Output akan kelihatan seperti ini:
> [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
Ianya berfungsi! Gunakan Ctrl-C untuk mematikan Ghost, dan beralih ke langkah seterusnya: memasang (dan mengkonfigurasi) Nginx.
Nginx sangat mudah dipasang. Jalankan arahan berikut:
apt-get install nginx
Nginx akan dikonfigurasi untuk membolehkan sambungan dari mana saja di alam liar ke port 80 (atau 443, jika menggunakan SSL ) pada pelayan anda, yang kemudiannya diteruskan (" diproksi ") ke Ghost. Ini adalah cara orang menyambung ke blog anda.
Konfigurasi Nginx juga tidak begitu sukar. Ikuti langkah-langkah ini untuk mengkonfigurasi proksi Ghost.
Pertama, alih keluar fail konfigurasi lalai:
cd /etc/nginx/
rm sites-enabled/default
Kemudian, buat fail konfigurasi baru:
cd sites-available
touch ghost
Sesuaikan baris berikut dengan keperluan anda dan gunakan sesuatu seperti nano
atau vi
tampal di dalamnya (anda perlu menetapkan server_name
ke nama domain anda):
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;
}
}
Symink fail konfigurasi anda:
cd /etc/nginx
ln -s sites-available/ghost sites-enabled/ghost
Mulakan semula Nginx:
service nginx restart
Pada ketika ini, Nginx dipasang, dikonfigurasi, dan dijalankan di pelayan anda.
Akhirnya: Mulakan Ghost secara automatik
Penyelia adalah sistem kawalan proses yang membolehkan anda menjalankan Ghost pada permulaan tanpa menggunakan skrip init. Kami akan memasang Penyelia untuk menguruskan Ghost.
Untuk memasang Penyelia, jalankan:
apt-get install supervisor
service supervisor start
Kemudian, buat fail skrip baru di /etc/supervisor/conf.d/ghost.conf
. Tampalkan kandungan ini:
[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"
Simpan dan tutup fail.
Seterusnya, kita perlu membuat pengguna untuk Ghost dan memberikannya izin untuk mengakses fail dan pangkalan data Ghost. Jalankan arahan berikut:
useradd ghost
chown -R ghost /usr/lib/node_modules/ghost/
supervisorctl reread
supervisorctl update
Penyediaan kami selesai!
Sekarang anda boleh mengawal Ghost dengan menjalankan supervisorctl start ghost
dan supervisorctl stop ghost
.