CentOS安装wordpress经历
自从购买阿里云ECS,选择CentOS系统安装后,一直使用root账户ssh协议远程登录。
前前后后安装了my sql、redis、java sdk、nginx、jenkins,都是网上找的教程,可以说很多不明白,半知半解。
搜索技术问题时看到各个大佬有自己的博客,自己也想有一个,最开始在阿里云共享虚拟机使用wordpress搭建成功了,虚拟机只有200M空间,自己也比较懒,也没写几篇文章。
最近虚拟机要过期了,就想着在CentOS中再搭建一个wordpress。
wordpress使用的是php技术,在我的印象中是php运行在apache服务器中。
当前已安装nginx,还可以安装apache嘛?还需要安装apache嘛?
经查安装php sdk,启动php-fpm,使用nginx将请求转交到php-fpm来处理即可。
于是找教程安装php及相关组件:
yum install php php-fpm php-mysql php-devel php-gd php-pecl-memcache php-pspell php-snmp php-xmlrpc php-xml php-pdo
等待安装成功后,就是修改php相关的配置。
1.vim /etc/php.ini
找到
;cgi.fix_pathinfo=1
将其改成为
cgi.fix_pathinfo=0。
2.vim /etc/php-fpm.d/www.conf
2.1找到
;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0666
改为
listen.owner = root
listen.group = root
listen.mode = 0666
2.2找到
user = apache
group = apache
改为
user = root
group = root
再就是启动php-fpm,使用下面第一条命令即可。
systemctl start php-fpm //启动
systemctl restart php-fpm //重启
systemctl status php-fpm.service //查看状态
可以启动就失败了,提示让使用root以外的用户启动。
于是将2.1、2.2中的root改为nginx,再次使用命令成功启动。
然后去wordpress官网下载压缩安装包,上传到阿里云,放在了/root/webapps/wordpress目录下解压。
然后在网上找wordpress的nginx配置,添加到nginx的conf文件里。
#博客配置
server {
listen 80;
server_name xxx.cn www.xxx.cn;
root /root/webapps/wordpress;
index index.php index.html index.htm;
location / {
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
#The following parameter can be also included in fastcgi_params file
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
error_log /root/webapps/logs/wp/error.log;
access_log /root/webapps/logs/wp/access.log;
}
重启nginx,使用域名访问,页面显示的全部是文件列表,这说明php没有运行成功。
网上搜索到说是要将php-fpm和nginx放一个群组启动,因为php-fpm不能使用root用户及群组启动,那我们就将nginx中的user的root改为nginx,在改之前还需要在系统中添加nginx用户及群组(groupadd命令,敢兴趣的自行搜索相关文档),重启nginx后更糟糕了,所有连接都显示403。
网上各种搜索,403的问题是nginx没有权限访问相应的文件,然后找命令修改文件夹的拥有者及读写权限。
折腾了一天,问题依旧,后还是请教运维大佬帮忙搞定。
后来发现以上的操作犯了很致命的错误就是:
1、将nginx日志文件及wordpress放在root目录下,无论怎么修改子目录的拥有者或读写权限,非root用户都没有权限,因为root目录是root用户所拥有。
2、没有先确认php是否能正常工作。
3、没有查看安装wordpress的要求,最新的wordpress要求php7.2以上。
正确的做法就是在根目录新创建一个application文件夹,新项目都放在此目录下。
所用到的知识有:
1.用户及群组的创建修改删除。
2.修改目录拥有者及读写权限。