LNMP WordPress phpMyAdmin的部署记录

  • A+
所属分类:linux技术
摘要

CentOS 8.2服务器,使用的虚拟服务器。只开放22与80端口。设置默认页面是wordpress的入口,phpmyadmin使用虚拟目录的形式进行访问。


背景

CentOS 8.2服务器,使用的虚拟服务器。只开放22与80端口。设置默认页面是wordpress的入口,phpmyadmin使用虚拟目录的形式进行访问。

安装

总体思路按照此文章进行。我进行的还算顺利。

有的package教程上说有,但是自己使用yum install却说没有

需要安装yum install epel-release,这样很多拓展的包才可用。如果还不行,然后最好设置一下etc/yum.repo.d/epel.repo,将其中的非debug项目都enable=1

使用yum install wordpress进行安装

之前使用CentOS7自带的源中,有wordpress,可以使用yum install wordpress的方式进行安装,需要设置一下工作目录,或者直接使用ln命令做一个软链接,创建一个wordpress到/usr/share/nginx/html/的链接,即可正常使用。

安装极慢

可以考虑使用国内安装源进行,国内有https://mirrors.ustc.edu.cn/https://mirrors.tuna.tsinghua.edu.cn/
,两个都可以用,除了baseOS以外,还都有epel的源。

配置

无法安装wordpress插件,提示无法创建目录。

需要给wp-contentwp-content/pluginswp-content/uploadswp-content/themes分配权限,使用chmod分配755权限,使用chown -R nginx:nginx ./wp-content分配nginx访问的权限。

phpMyAdmin提示session_start(): open(SESSION_FILE, O_RDWR)) failed: Permission denied (13)

这篇文章说了下原理,我的情况比较符合这种,session目录就在/var/lib/php/session这个位置,chown设置一下权限,就OK了。

wordpress提示上传文件有2M限制或者提示413 Request Entity Too Large。

找到etc/php.ini,修改
upload_max_filesize
post_max_size
max_execution_time
max_input_time
max_input_vars
memory_limit
都调整成大的数值。然后,在nginx.conf中设置

server {     listen 80;     listen [::]:80;     root /var/www/html/wordpress;     index index.php index.html index.htm;     server_name example.com www.example.com; 	#注意这一行是关键     client_max_body_size 100M;  location / {     try_files $uri $uri/ /index.php?$query_string;    }  location ~ .php$ {       include snippets/fastcgi-php.conf;       fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;       include fastcgi_params;       #注意这几行,谨慎设置,可能导致运行速度变慢。       fastcgi_connect_timeout 300s;       fastcgi_read_timeout 300s;       fastcgi_send_timeout 300s;   } } 

然后执行

sudo systemctl reload nginx.service sudo systemctl reload php-fpm.service 

就可以正常工作了。

phpMyAdmin无法正常被nginx解析

在etc/nginx/default.d/下面新建一个phpmyadmin.conf文件

    location /phpmyadmin {            root /usr/share/nginx/html;            index index.php index.html index.htm;            location ~ ^/phpmyadmin/(.+.php)$ {                    try_files $uri =404;                    root /usr/share/nginx/html/;                    fastcgi_pass unix:/run/php-fpm/www.sock;                    fastcgi_index index.php;                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                    include /etc/nginx/fastcgi_params;            }            location ~* ^/phpmyadmin/(.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {                    root /usr/share/nginx/html/;            }     } 

重启之后即可正常。

PHP无法被nginx加载,所有php网页都提示404错误。

php -v命令显示正常,服务也在正常运行,但是无法正常解析,提示找不到文件(比如index.php)。

检查etc/nginx/default.d/php-fpm.conf文件,fastcgi_pass可能设置的路径不正确。正确应该为:

fastcgi_pass   unix:/run/php-fpm/www.sock; 

wordpress安装插件时,提示连接FTP,要求提供FTP的信息

设置/usr/share/nginx/html/wp-config.php,增加一项:

define('FS_METHOD', 'direct'); 

重启php-fpm即可。