LNMP环境下的WordPress与phpMyAdmin部署实践
背景
在一台基于CentOS 8.2的操作系统上搭建了LNMP环境,该服务器为虚拟机,仅开放了SSH(22端口)和HTTP(80端口)。网站默认页面指向WordPress入口,而phpMyAdmin则通过虚拟路径访问。
安装过程
整体流程参考了相关文档,操作较为顺畅。
部分软件包在官方文档中提到存在,但实际使用yum install时却提示未找到。
需先安装epel-release以启用额外软件仓库。若仍不可用,则应编辑/etc/yum.repos.d/epel.repo文件,确保所有非debug条目均设为enabled=1。
使用yum install wordpress安装WordPress
在CentOS 7中,可以通过yum直接安装WordPress,并通过软链接或配置工作目录实现访问。在当前环境中,可将WordPress目录链接至/usr/share/nginx/html/,以完成基本部署。
安装速度缓慢
推荐更换为国内镜像源,例如https://mirrors.ustc.edu.cn/ 或 https://mirrors.tuna.tsinghua.edu.cn/,这些站点包含EPEL及BaseOS等资源,有助于提升下载效率。
配置环节
WordPress插件安装失败,提示目录创建失败
需为wp-content及其子目录如plugins、uploads、themes赋予适当权限,建议使用chmod 755并配合chown -R nginx:nginx ./wp-content设置用户归属。
phpMyAdmin报错:session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)
问题原因与会话文件存储位置有关,通常位于/var/lib/php/session,可通过chown命令更改其所属用户来解决。
WordPress上传文件受限于2MB或返回413错误
修改/etc/php.ini中的以下参数:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000
memory_limit = 256M
同时在nginx.conf中加入:
client_max_body_size 100M;
随后重启服务:
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/;
}
}
保存后重启Nginx即可生效。
PHP页面返回404错误
尽管php -v输出正常且服务运行中,但访问PHP页面时提示文件不存在。
请检查/etc/nginx/default.d/php-fpm.conf文件中的fastcgi_pass项是否正确,应为:
fastcgi_pass unix:/run/php-fpm/www.sock;
WordPress插件安装时提示需要FTP连接信息
在/usr/share/nginx/html/wp-config.php中添加以下代码:
define('FS_METHOD', 'direct');
完成后重启php-fpm服务即可解决问题。
