CentOS 7 安装 Ghost 记录
由于众所周知的原因,我在 Linode 买了主机,用 Shadowsocks 搭了梯子,而之前阿里云的服务器差不多到期,正好全面迁移到 Linode,把整个迁移过程记录如下,免得下次搬家迷路。
安装 MySQL
由于 CentOS 7 的 yum 源中没有 mysql-sever,需要手动添加
# cd /usr/local
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
添加完成后,查看一下
# ls -1 /etc/yum.repos.d/mysql-community*
会得到如下两个源:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
然后安装并启动服务
# yum install mysql-server
# service mysqld start
设置 root 密码
# mysql -u root
mysql> use mysql ;
mysql> update user set password=PASSWORD("新密码") where User='root' ;
增加远程访问的权限
mysql> update user set host='%' where user='root';
最后刷新一下
mysql> flush privileges;
安装 Node
从源码编译 Node 需要 Python2.6 以上的版本,此处省略安装 Python 的过程。
下载源码并解压
# cd /usr/local
# wget http://nodejs.org/dist/v0.10.31/node-v0.10.35.tar.gz
# tar xvpzf node-v0.10.35.tar.gz
然后编译并安装
# cd node-v0.10.35 //默认安装在/usr/local/bin,可以使用--prefix参数指定安装路径
# ./configure
# make
# make install
安装 Ghost 中文版
下载源码并安装
# cd /usr/local/nginx/html
# wget http://dl.ghostchina.com/Ghost-0.5.7-zh.zip
# unzip Ghost-0.5.7-zh.zip -d ghost
# cd ghost
# npm install --production
配置 config.js,推荐使用生产环境,因此需要修改 production 节点
{
//访问的url,域名或者IP:端口。
url: '',
//邮件推送服务,这里使用的Mailgun,参考Mailgun的配置。
mail: {
transport: 'SMTP',
options: {
service: 'Mailgun',
auth: {
user: '',
pass: ''
}
}
},
//MySQL的IP、端口、用户名、密码、数据库名称
database: {
client: 'mysql',
connection: {
host: '127.0.0.1',
port: '3306',
user: 'xxx',
password: '******',
database: 'ghost',
charset: 'utf8'
},
debug: false
},
//Node监听的IP和端口
server: {
host: '127.0.0.1',
port: '7749'
}
}
如果不想使用 MySQL,SQLite3 可以作为替代方案,database 的配置要做如下修改:
database: {
client: 'sqlite3',
//db文件的路径
connection: {
filename: path.join(__dirname, '/content/data/ghost.db')
},
debug: false
}
最后启动 Ghost ,就可以通过配置的 url 访问了。
# npm start --production
如果需要让 Ghost 一直在后台运行,可以使用 Forever
# npm install forever -g
# NODE_ENV=production forever start index.js
安装 Nginx
由于域名解析只支持 80 端口,如果配置了其他端口,需要用 Ngnix 做一下转发。
安装依赖的库
# yum install gcc-c++
# yum install pcre pcre-devel
# yum install zlib zlib-devel
# yum install openssl openssl--devel
下载源码并解压
# cd /usr/local
# wget http://nginx.org/download/nginx-1.7.9.tar.gz
# tar -zxvf nginx-1.7.9.tar.gz
然后编译并安装
# cd nginx-1.7.9
# ./configure //默认安装在/usr/local/nginx,可以使用--prefix参数指定安装路径
# make
# make install
配置转发
server
{
listen 80;
server_name www.airycanon.cn;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:7749;
root /usr/local/nginx/html/ghost;
index index.js;
}
}
把通过IP和不带www的访问也转一下
server {
listen 80;
server_name airycanon.me IP;
return 301 $scheme://www.airycanon.me$request_uri;
}
最后启动Nginx
# cd /usr/local/nginx/sbin
# ./nginx