Appearance
使用ghost搭建博客,记录一下安装和使用ghost遇到的坑。。。
ghost推荐使用Ubuntu,本站服务器使用了Centos,在安装mysql时会不同:
Ubuntu
apt-get install mysql-server mysql-client -y service mysql start
Centos
yum install mariadb-server -y
mariadb-server 安装完成后会有mysql命令,但没有mysqld服务
运行数据库服务就要使用mariadb服务
systemctl start mariadb.service systemctl enable mariadb.service
安装完 mysql-server 会提示可以运行 mysql_secure_installation。运行mysql_secure_installation 会执行几个设置: a)为root用户设置密码 b)删除匿名账号 c)取消root用户远程登录 d)删除test库和对test库的访问权限 e)刷新授权表使修改生效 通过这几项的设置能够提高 mysql 库的安全。建议生产环境中 mysql 安装这完成后一定要运行一次 mysql_secure_installation
使用ghost-cli安装和配置ghost网站会方便很多,这也是官方文档推荐的做法。
npm install -g ghost
ghost的启动配置很怪异,设置的url目前来看只是用来在后端页面跳转到首页的,url中未设置post将会随机分配端口,就算url中显示设置了80端口仍会随机分配端口,因此需要Nginx做一层代理来转发80端口的请求。
Ubuntu
apt-get install nginx -y
Centos
yum install nginx
配置nginx代理
vi /etc/nginx/nginx.conf
server {
listen 0.0.0.0:80;
# 监听的端口号
server_name domain.com;
# 把mydomain.com换成自己的域名
# 如果没有域名或者网站还没备案下来这里可以写ip
# 例如 39.108.91.25,如果配置多个网站的话
# 这里可以通过不同的端口对应不同的网站
# 例如 39.108.91.25:81 等,前提是这些端口外网还能访问
access_log /var/log/nginx/mousycoder.log;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:2368;
# 这里的端口取ghost分配或设置的端口
# 地址就是127.0.0.1和ghost配置的url不同
# 这里就是直接指向本机的服务
# proxy_buffering off;
proxy_redirect off;
}
}
ghost安装时不能使用root来安装,按官方文档的说法启动时会出权限问题,创建一个有sudo权限的用户来启动服务,在安装时所有选项都最好选择yes,不然还会出现一些其他权限问题。
本站创建的初衷是记录和分享一些node的学习心得,有空就写写✨