前言:为什么要在宝塔面板下装Ghost博客?源于我对宝塔的需求,方便于测试代码的时候能够快速的建立环境。至于宝塔的安全性问题就不必深究了,凡事都有双刃剑!
环境:Debian9 x64,宝塔面板(Nginx1.16.1 Mysql5.6)
Ghost环境需求:
Ubuntu 16.04或Ubuntu 18.04 NGINX(SSL最低为1.9.5) 一个支持的版本的Node.js的 MySQL 5.5、5.6或5.7(非 > = 8.0) 至少有1GB内存的服务器 并非Ubuntu才可以安装,Debian,Centos都可以安装!
首先安装Node.js
1,首先更新本地包,并安装curl,您将使用它来访问PPA:
代码语言:javascript复制sudo apt update
sudo apt install curl
2,接下来安装PPA以访问其内容,替换10.x数字使用你需要的版本:
代码语言:javascript复制cd ~
curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
3,在sudo环境下运行以下脚本:
代码语言:javascript复制sudo bash nodesource_setup.sh
4,PPA已被添加到软件配置中,运行安装Node.js包:
代码语言:javascript复制sudo apt install nodejs
5,检查一下是否安装成功:输出版本则安装成功
代码语言:javascript复制nodejs -v
v10.17.0
在宝塔面板安装部署Ghost网站
1,宝塔面板中网站-添加站点-输入您的域名-数据库选择创建
2,下载Ghost源码上传到1步骤添加的网站根目录中并解压
Ghost-github官方最新下载链接
3,手动部署Ghost相关配置 进入到core/server/config 编辑defaults.json
代码语言:javascript复制"url": "https://xxxxxx.xx" //将url修改成的你的域名
4,进入到core/server/config/env 编辑config.production.json
代码语言:javascript复制"database": {
"client": "mysql",
"connection": {
"host": "127.0.0.1",
"user": "xxxxx", //将user,password,database值替换成你在宝塔添加的数据库信息
"password" : "xxxxx",
"database" : "xxxxx"
}
}
5,生成Ghost环境依赖 进入到Debian终端
代码语言:javascript复制cd ../../
cd www/wwwroot/xxxxx //xxxxx对应你的网站域名
npm install --production
检查宝塔环境依赖 宝塔面板-软件商店-nginx-设置-配置修改
代码语言:javascript复制将include luawaf.conf前面的#去除 //此配置是nginx的防火墙
然后重启nginx. 还有重要的一步如果你的网站要开启https,在宝塔面板-安全-放行443端口,2368端口 6. 修改网站的配置文件 在宝塔中找到你的网站-设置-配置文件,修改成如下 如果你的网站是http开头配置如下:
代码语言:javascript复制server
{
listen 80;
server_name xxxxx.xx; //修改成你的域名
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2368;
}
}
如果你的网站是https开头配置如下:
代码语言:javascript复制server
{
listen 80;
server_name xxxxx.xx; //修改成你的域名
return 301 https://xxxxx.xx$request_uri;//修改成你的域名
}
server {
listen 443 ssl;
server_name xxxxx.xx; //修改成你的域名
ssl_certificate /www/xxx/xxx.crt; //修改成你的证书路径
ssl_certificate_key /www/xxx/xxx.key; //修改成你的证书路径
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2368;
}
}
7,用npm启动你的Ghost网站:请在网站根目录下命令
代码语言:javascript复制npm start --production
到这步已经能够成功启动你的网站了。 8. 最后安装forever守护Ghost进程 以下命令都请在网站根目录下运行
代码语言:javascript复制Crtl C //打断正在运行的Ghost网站
npm install forever -g //forever的安装命令
NODE_ENV=production forever start index.js
好了,Ghost就此安装完成 9. forever相关命令:请在网站根目录下命令
代码语言:javascript复制NODE_ENV=production forever start index.js //启动Ghost
NODE_ENV=production forever stop index.js //停止Ghost
NODE_ENV=production forever restart index.js //重启Ghost