You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Nginx环境下无法安装WordPress插件的问题求助

解决CentOS 7上Nginx+WordPress无法安装插件的问题

你已经做了基础的权限和SELinux配置,但还是碰到了插件安装失败的问题,我来帮你一步步排查解决:

1. 修复文件夹写入权限的核心问题

你当前把wp-content文件夹权限设为755,但755的组权限是读+执行(r-x),没有写入权限。而你的文件所有权是root:nginx,PHP-FPM进程是以nginx用户运行的(默认配置下),作为组用户它没法在wp-content下创建新文件夹(比如插件的安装目录)。

执行以下命令调整wp-content及其子目录的权限,让组用户拥有写入权限:

chmod -R 775 /path/to/html/wp-content

同时确保子目录的SELinux上下文正确递归应用:

restorecon -Rv /path/to/html/wp-content

2. 确认PHP-FPM运行用户与权限匹配

Nginx是通过PHP-FPM处理WordPress的PHP请求的,所以PHP进程的用户必须对wp-content有写入权限。先检查你的PHP-FPM运行用户:

grep -r "user = " /etc/php-fpm.d/

如果输出是user = apache,说明PHP进程是以apache用户运行的,而你的文件组是nginx,这就会导致权限不足。解决方法有两种:

  • 方法一:修改PHP-FPM用户为nginx
    编辑PHP-FPM的配置文件(通常是/etc/php-fpm.d/www.conf):
    vi /etc/php-fpm.d/www.conf
    
    找到user = apache和group = apache,改成:
    user = nginx
    group = nginx
    
    重启PHP-FPM服务生效:
    systemctl restart php-fpm
    
  • 方法二:调整文件组为apache
    如果不想修改PHP-FPM用户,就把wp-content的组改成apache:
    chown -R root:apache /path/to/html/wp-content
    

3. 配置SELinux允许网络连接

WordPress安装插件需要从官方服务器下载文件,SELinux默认会禁止httpd进程发起网络连接,所以需要开启这个权限:

setsebool -P httpd_can_network_connect on

-P参数表示永久生效,重启系统后不会失效。

4. 手动设置WordPress文件系统方法

如果以上步骤做完还是有问题,可以尝试在wp-config.php中添加以下代码,让WordPress直接使用文件系统权限,跳过FTP验证:

define('FS_METHOD', 'direct');

完成以上操作后,再尝试安装插件应该就能正常工作了。

内容的提问来源于stack exchange,提问作者Akitirija

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:07:31