CentOS安装wordpress经历

2022-03-08  本文已影响0人  東玖零

自从购买阿里云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.修改目录拥有者及读写权限。

上一篇下一篇

猜你喜欢

热点阅读