没有不值得去解决的问题,也没有不值得去学习的技术!

在 CentOS 7.6 64 位 下基于 Nginx 安装 WordPress 时,报错:HTTP ERROR 500 的分析解决

打开网址:http://www.aaaacn.net/wp-admin/install.php,报错:HTTP ERROR 500
1、打开网址:http://www.aaaacn.net/wp-admin/install.php,报错:HTTP ERROR 500,如图1
打开网址:http://www.aaaacn.net/wp-admin/install.php,报错:HTTP ERROR 500
图1
2、打开网址:http://www.aaaacn.net/phpinfo.php,正常运行,如图2
打开网址:http://www.aaaacn.net/phpinfo.php,正常运行
图2
3、查看 Virtualhost conf:/usr/local/nginx/conf/vhost/www.aaaacn.net.conf


	server {
	  listen 80;
	  server_name www.aaaacn.net aaaacn.net;
	  access_log /data/wwwlogs/www.aaaacn.net_nginx.log combined;
	  index index.html index.htm index.php;
	  root /data/wwwroot/www.aaaacn.net;
	  if ($host != www.aaaacn.net) {  return 301 $scheme://www.aaaacn.net$request_uri;  }
	  include /usr/local/nginx/conf/rewrite/wordpress.conf;
	  #error_page 404 /404.html;
	  #error_page 502 /502.html;
	  
	  location ~ [^/]\.php(/|$) {
		#fastcgi_pass remote_php_ip:9000;
		fastcgi_pass unix:/dev/shm/php-cgi.sock;
		fastcgi_index index.php;
		include fastcgi.conf;
	  }

	  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
		expires 30d;
		access_log off;
	  }
	  location ~ .*\.(js|css)?$ {
		expires 7d;
		access_log off;
	  }
	  location ~ /\.ht {
		deny all;
	  }
	}


4、查看 Rewrite rule:/usr/local/nginx/conf/rewrite/wordpress.conf


	location / {
	  try_files $uri $uri/ /index.php?$args;
	}
	rewrite /wp-admin$ $scheme://$host$uri/ permanent;
	location ~* ^/wp-content/uploads/.*\.php$ {
	  deny all;
	}


5、查看目录权限,发现 WordPress 目录中的文件,权限用户和用户组,一些已经不是 www,而是 root,应该是因为 WordPress 目录中的文件,是 root 用户复制所导致的,如图3
查看目录权限,发现 WordPress 目录中的文件,权限用户和用户组,一些已经不是 www,而是 root,应该是因为 WordPress 目录中的文件,是 root 用户复制所导致的
图3
6、出现文件权限问题时,依次执行下面 3 条命令,设置权限用户和用户组为 www,将整个 /data/wwwroot/ 目录重新设置,如图4
出现文件权限问题时,依次执行下面 3 条命令,设置权限用户和用户组为 www,将整个 /data/wwwroot/ 目录重新设置
图4


chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;


7、编辑 /data/wwwroot/www.aaaacn.net/wp-config.php,设置身份认证密钥与盐,如图5
编辑 /data/wwwroot/www.aaaacn.net/wp-config.php,设置身份认证密钥与盐
图5
8、在整个 WordPress 中触发“调试”模式,编辑 /data/wwwroot/www.aaaacn.net/wp-config.php



define('WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true );


9、设置是否将错误信息作为输出的一部分显示到屏幕,设置为是,编辑 /data/wwwroot/www.aaaacn.net/wp-admin/install.php,在 phpinfo 中这两项是关闭的,如图6
设置是否将错误信息作为输出的一部分显示到屏幕,设置为是,编辑 /data/wwwroot/www.aaaacn.net/wp-admin/install.php,在 phpinfo 中这两项是关闭的
图6


error_reporting(-1);
ini_set('display_errors', '1');
ini_set('log_errors', '1');


10、打开网址:http://www.aaaacn.net/wp-admin/install.php,报错:HTTP ERROR 500 的详细信息出现,如图7
打开网址:http://www.aaaacn.net/wp-admin/install.php,报错:HTTP ERROR 500 的详细信息出现
图7



Warning: require(/data/wwwroot/www.aaaacn.net/wp-includes/load.php): failed to open stream: No such file or directory in /data/wwwroot/www.aaaacn.net/wp-settings.php on line 19

Warning: require(/data/wwwroot/www.aaaacn.net/wp-includes/load.php): failed to open stream: No such file or directory in /data/wwwroot/www.aaaacn.net/wp-settings.php on line 19

Fatal error: require(): Failed opening required '/data/wwwroot/www.aaaacn.net/wp-includes/load.php' (include_path='.:/usr/local/php/lib/php') in /data/wwwroot/www.aaaacn.net/wp-settings.php on line 19


11、分析:/data/wwwroot/www.aaaacn.net/wp-includes/load.php,文件不存在,如图8
分析:/data/wwwroot/www.aaaacn.net/wp-includes/load.php,文件不存在
图8
12、决定删除 /data/wwwroot/www.aaaacn.net 中的所有文件,重新下载安装包,解压后复制至 /data/wwwroot/www.aaaacn.net,检查 load.php 已经存在,设置权限用户和用户组为 www,如图9
决定删除 /data/wwwroot/www.aaaacn.net 中的所有文件,重新下载安装包,解压后复制至  /data/wwwroot/www.aaaacn.net,检查 load.php 已经存在,设置权限用户和用户组为 www
图9


wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -xzvf latest-zh_CN.tar.gz
cp -rf /root/wordpress/* /data/wwwroot/www.aaaacn.net
chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;


13、打开网址:http://www.aaaacn.net/wp-admin/install.php,正常,符合预期,不确定之前为何解压后 load.php 会丢失?如图10
打开网址:http://www.aaaacn.net/wp-admin/install.php,正常,符合预期,不确定之前为何解压后 load.php 会丢失?
图10

Linux 服务器运维、部署与线上故障排查

如果你的网站或后端服务部署在 Linux 服务器上,遇到访问异常、Nginx 配置问题、MySQL / Redis 异常、Docker 服务不可用、磁盘占满、CPU / 内存过高等问题,可以联系我做一次远程排查。

适合以下场景:
✅ 网站打不开或访问不稳定
✅ Nginx / PHP-FPM 配置异常
✅ MySQL / Redis 性能或连接问题
✅ Docker 服务部署与维护
✅ 服务器迁移与环境配置
✅ CPU / 内存 / 磁盘异常排查

服务内容:
✅ Linux 环境检查
✅ 网站部署与迁移
✅ Nginx / PHP-FPM / MySQL / Redis 排查
✅ Docker 配置与维护
✅ 服务器性能分析
✅ 长期远程运维支持

如需咨询,请联系我,并注明:Linux 运维咨询

联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理