最近更新站点后有用户反馈,浏览网页时常会出现502报错。

调试发现:关闭memcached和opcahe数据库优化插件正常;显然这并不是最优方案,如果把数据库优化插件全关闭,会造成数据库压力增大,网页打开缓慢,所以需要进一步排查问题所在。

既然502并不是程序报错,我想通过调整服务器环境应该就能解决问题,服务器用的是ubuntu20 server+php8.1+mysql8+nginx1.22.1+wordpress6.2;通日志分析,问题出在nginx,通过相关文献了解到,发可能是nginx问题,通过配置文件里的buffers调大可以解决502报错。

第一步:进入宝塔面板

这里以宝塔面板修改为例,首先打开宝塔面板进入软件中心。然后点击设置》修改配置

第二步:修改参数

在调整数据前一定做好备份,避免不必要的损失!

这是原配置

server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip off;
gzip_min_length 1k;
gzip_buffers 4 16k;

这是修改后的

server_names_hash_bucket_size 512;
client_header_buffer_size 10m;
large_client_header_buffers 4 128k;
client_max_body_size 1024m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 3000;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 512k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 2k;
gzip_buffers 4 32k;

基本是在原基础上加了一倍,参数调整一定要结合服务器性能进行。

第三步:反向代理服务器调整

如果站点做了反向代理,在源服务器上调整的数据需要同步调整到反向代理服务器,详情见第二步

到这里并没结束,接下来还需要配置下代理服务器参数,这里以宝塔设置为例;

第四步:配置反向代理文件

依次打开:网站》设置》反向代理》配置文件

添加以下参数

proxy_buffers 4 128k;
proxy_busy_buffers_size 128k;

添加完后重启nginx后刷新站点发现502不再出现,确定是因为buffers默认配置容量不足引起的!