文章目录
谨以此文记录自己在CentOS 7上搭建LNMP环境和Ghost博客平台过程中从入门到瞎搞的过程(逃
详细的相关信息:
- LNMP:
- CentOS 7.2 x64
- Nginx 1.10.2
- MySQL 5.6.35
- PHP 7.0.15
- Ghost:
- Node.js 6.9.4
- Ghost 0.11.4
!!!以下操作均在root权限下完成
1. 搭建LNMP环境
1.1. 安装
在终端输入:
$ vim Installs.sh
进入Vim后 按 i
键进入文本插入模式
把以下内容复制粘贴(Windows 下可复制文本后在 PuTTY 窗口右键单击)写入文件 Installs.sh
:
yum install -y epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
yum install -y php70w
yum install -y php70w-mysql php70w-xml php70w-soap php70w-xmlrpc
yum install -y php70w-mbstring php70w-json php70w-gd php70w-mcrypt
yum install -y nginx
yum install -y mysql-server
yum install -y php70w-fpm
输入完成后按 Esc
返回命令模式,之后输入 :wq
保存文件并退出编辑
接下来运行这个sh脚本:
$ sh Installs.sh
等待安装完成即可
P.S. MySQL 的最后两个包好像……会比较慢……看自己选的是哪里的镜像吧。我没换源总共安装了将近一个小时……我能怎么办?我也很绝望啊!
1.2. 启动服务
在终端输入:
$ vim Services.sh
用同样的方式把以下命令写入文件 Services.sh
:
systemctl start nginx.service
systemctl start php-fpm.service
systemctl start mysqld.service
mysql_secure_installation
systemctl restart mysqld.service
systemctl enable mysqld.service
systemctl enable nginx.service
systemctl enable php-fpm.service
保存并退出
接下来运行这个 sh 脚本以启动相关的服务:
$ sh Services.sh
注意前面的 service 启动没有提示,所以屏幕会暂时无输出。
中间的那个 mysql_secure_installation
是设置 MySQL 数据库的,需要输入管理员密码以及进行其他设置,一般来说设置完密码后一路回车(也就是默认 Yes)即可。
这个时候可以在系统本地访问 http://localhost
,或者用任意设备访问服务器 IP 地址,可以看到 Nginx 的默认欢迎页面。
1.3. 修改 Nginx 配置文件使其能正常解析 PHP
在 Nginx 的工作目录(默认是 /usr/share/nginx/html
)下创建测试用的 PHP 文件:
$ vim /usr/share/nginx/html/test.php
输入以下内容用作测试:
<?php
echo"Hello World!\n";
?>
保存退出
这个时候如果访问 Server_IP(xxx.xxx.xxx.xxx)/test.php
,会发现网页还是按照文件内容原样显示或者浏览器会直接把这个文件下载下来,也就是说 PHP 文件并没有被正确解析。
我们需要修改 Nginx 的配置文件使网页显示出 PHP 运行的结果而不是文本内容
进入 Nginx 默认配置文件所在文件夹:
$ cd /etc/nginx/
备份一份默认的配置文件以防改得太乱想要恢复默认配置重新瞎搞:
$ cp nginx.conf nginx.conf.bak
接下来修改配置:
$ vim nginx.conf
首先把 server_name
后面的短横线改成自己服务器的IP地址:
server_name xxx.xxx.xxx.xxx; #Modify to your IP
然后在
location / {
#xxx
}
这一段的下面添加以下内容(不需要修改):
location ~ .php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启服务:
$ systemctl restart nginx.service php-fpm.service
P.S. 如果你看到了
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
一般来说是因为刚刚的 nginx.conf
有错误,检查一下有没有漏掉行末的分号、大括号是不是正好匹配有没有缺少之类的然后改正就可以了
接下来检查配置是否成功:
$ curl localhost/test.php
如果返回的是
Hello World!
而不是之前的文本全文
<?php
echo"Hello World!\n";
?>
那么 PHP 的配置就算完成了,LNMP 环境到这里也已经搭建好了。
搭建Ghost Blog
进入当前用户文件夹:
$ cd ~
写入脚本:
$ vim GhostBlog.sh
curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs
cd /usr/share/nginx/html
wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghost ghost-latest.zip
cd ghost
npm install --production
npm install pm2 -g
NODE_ENV=production pm2 start index.js --name "ghost"
pm2 startup centos
pm2 save
cd ~
运行:
$ sh GhostBlog.sh
(挖坑待填,未完待……续?