文章目录[隐藏]
Ghost简介
Ghost 是基于 Node.js 的开源博客平台,由前 WordPress UI 部门主管 John O’Nolan 和 WordPress 高级工程师(女) Hannah Wolfe 创立,目的是为了给用户提供一种更加纯粹的内容写作与发布平台。
准备工作
对系统进行更新
yum update
新建用户
Ghost不能在root下进行安装,为了安全🔐考虑感觉还挺不错的!
centos
- 建一个用户(如为:emperinter)
adduser emperinter
- 修改新建用户的密码
passwd emperinter
- 给新添加的用户添加sudo的权限
vi /etc/sudoers
找到下面这行并在后面添加上前面设置好的新用户名
root ALL=(ALL) ALL emperinter ALL=(ALL) ALL
ubuntu
- 新建一个用户:
useradd -m emperinter
- 设置密码
passwd emperinter
- 添加到sudo
usermod -a -G sudo emperinter
网站环境配置
以下如果如果感觉麻烦且对用户隐私没有过多要求,可以尝试安装宝塔或使用LNMP和LAMP的一键脚本!
安装Nginx服务
因为yum安装里面没有Nginx,因此我们需要通过epel来安装
yum -y install epel-release
yum -y install nginx
将端口添加到防火墙里或者关闭防火墙
systemctl stop firewalld
安装MySql
- 更新安装MySql的源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
//根据选择要安装的版本来确定下列代码应disable或enable sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community
yum -y install mysql-community-server
- 启动MySql服务并查看安装时的root密码
systemctl start mysqld.service sudo grep 'temporary password' /var/log/mysqld.log
- 修改MySql的root密码
mysql -uroot -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';
Ghost
安装Nodejs
- 安装
sudo yum -y install curl curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - sudo yum install -y nodejs
- 查看是否安装成功,如果显示Nodejs版本号则成功
node --version
安装官方的Ghost工具ghost-cli
sudo npm install ghost-cli@latest -g
网站目录准备,此目录必须为空目录
sudo mkdir -p /home/wwwroot/ghost
- 注意修改下面的
为你上述添加的的user sudo chown <user>:<user> /home/wwwroot/ghost
sudo chmod 775 /home/wwwroot/ghost
安装
cd /home/wwwroot/ghost
ghost install
如果安装失败或者连接断开可以用ghost setup重试
启动ghost
在安装的过程中,ghost-cli会自动配置MySql和Nginx,但不知为何无论我怎么试,都会提示找不到Nginx,但后面可以自己配置Nginx
//官方工具是针对Ubuntu的,所以最后的启动命令会报错,使用下面的命令即可
sudo systemctl start ghost_localhost
//配置了nginx后可以需要重新启动
sudo systemctl restart nginx
Nginx的反向代理配置
该步骤要是我在上述部分配置安装失败后自己更改config的数据库和网站域名后,自己配置的代理。
- 我自己的配置文件是在添加网站后,端口2638看自己安装的实际情况修改;
location / { proxy_pass http://127.0.0.1:2368; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
需要指出的是 CentOS 7 的 SELinux,使用反向代理需要打开网络访问权限。
sudo setsebool httpd_can_network_connect 1
添加命令到开机文件中
vi /etc/rc.local
chmod +x /etc/rc.local #第一次修改的话要赋予可执行权限
cd /www/wwwroot/blog.emperinter.info/
ghost start
最后
用了一段时间Ghost后决定放弃,感觉不太适合我这种折腾的人,而且不清楚为什么感觉登录后台时的过程感觉特慢!自己对JS也不太透彻就放弃了!