接外包,有相关需求的可以联系我:Telegram | Email

如何在CentOS7上部署Ghost博客系统

该文章创建(更新)于05/1/2020,请注意文章的时效性!

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

logo

node --version

安装官方的Ghost工具ghost-cli

sudo npm install [email protected] -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也不太透彻就放弃了!

参考

如何在CentOS7上部署Ghost博客系统


要不赞赏一下?

微信
支付宝
PayPal
Bitcoin

版权声明 | Copyright

除非特别说明,本博客所有作品均采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。转载请注明转自-
https://www.emperinter.info/2020/05/01/how-to-setup-ghost-blog-in-centos7/


要不聊聊?

我相信你准备留下的内容是经过思考的!【勾选防爬虫,未勾选无法留言】

*

*



微信公众号

优惠码

阿里云国际版20美元
Vultr10美元
搬瓦工 | Bandwagon应该有折扣吧?
域名 | namesiloemperinter(1美元)