Nginx 之常见报错问题解决

下面是php-fpm & nginx.conf 的配置文件

楼主在配置完成后,是可以访问的。但是后把 listen = 127.0.0.1:9000 改成 listen = /tmp/dis.sock,造成以上 502 的报错,nginx.conf 的配置 是fastcgi_pass 127.0.0.1:9000;

。如果php-fpm 要更改为listen = /tmp/dis.sock,那么nginx.conf 也要改为 fastcgi_pass unix:/tmp/dis.sock;即两边的监听方式要一样。

[[email protected] ~]# vim /usr/local/php/etc/php-fpm.conf #查看php-fpm.conf 的配置文件

#这样的配置楼主访问访坛就会报 502 的错

[global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log = /usr/local/php/var/log/php-fpm.log

[dis]

listen = /tmp/dis.sock

#listen = 127.0.0.1:9000

user = php-fpm

group = php-fpm

listen.owner = nobody  #监听的对象

listen.group = nobody  #组

pm = dynamic

pm.max_children = 50

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

rlimit_files = 1024

--------------------------------------------------

[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf #nginx 的配

user nobody nobody;

worker_processes 2;

error_log /usr/local/nginx/logs/nginx_error.log crit;

pid /usr/local/nginx/logs/nginx.pid;

worker_rlimit_nofile 51200;

events

{

use epoll;

worker_connections 6000;

}

http

{

include mime.types;

default_type application/octet-stream;

server_names_hash_bucket_size 3526;

server_names_hash_max_size 4096;

log_format combined_realip ‘$remote_addr $http_x_forwarded_for [$time_local]‘

‘$host "$request_uri" $status‘

‘"$http_referer" "$http_user_agent"‘;

sendfile on;

tcp_nopush on;

keepalive_timeout 30;

client_header_timeout 3m;

client_body_timeout 3m;

send_timeout 3m;

connection_pool_size 256;

client_header_buffer_size 1k;

large_client_header_buffers 8 4k;

request_pool_size 4k;

output_buffers 4 32k;

postpone_output 1460;

client_max_body_size 10m;

client_body_buffer_size 256k;

client_body_temp_path /usr/local/nginx/client_body_temp;

proxy_temp_path /usr/local/nginx/proxy_temp;

fastcgi_temp_path /usr/local/nginx/fastcgi_temp;

fastcgi_intercept_errors on;

tcp_nodelay on;

gzip on;

gzip_min_length 1k;

gzip_buffers 4 8k;

gzip_comp_level 5;

gzip_http_version 1.1;

gzip_types text/plain application/x-javascript text/css text/htm application/xml;

server

{

listen 80;

server_name localhost;

index index.html index.htm index.php;

root /usr/local/nginx/html;

location ~ \.php$ {

include fastcgi_params;

fastcgi_pass unix:/tmp/dis.sock;

#fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

}

}

}

楼主把上述的配置改为一样的监听方式后还是 报502 不能访问。于是查看ngnix 的日志

发现 /tmp/dis.sock  没有访问权根

[[email protected] ~]# cat /usr/local/nginx/logs/nginx_error.log

[[email protected] etc]# ls -l /tmp/dis.sock  #属主 属组都是可以访问的,但是其他用户没有读的权限

srw-rw---- 1 root root 0 Nov 25 07:08 /tmp/dis.sock

[[email protected] ~]# ps aux |grep nginx  #要读sock 是nginx 的nobody .

root      1665  0.0  0.0  20460   668 ?        Ss   07:08   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

nobody    1666  0.0  0.3  23168  4012 ?        S    07:08   0:00 nginx: worker process

nobody    1667  0.0  0.3  23156  4008 ?        S    07:08   0:00 nginx: worker process

root      2016  0.0  0.0 103260   832 pts/0    S+   08:10   0:00 grep nginx

nginx 中读 sock 是 nobody 用户,那么我们就要给他权限

在php-fpm 的配置中加入

listen.owner = nobody  #监听的用户

listen.group = nobody  #组的人

[[email protected] ~]# /etc/init.d/php-fpm restart # 重启php-fpm

再刷新论坛,是可以正常访问的。

有图有真相;

时间: 2024-10-14 09:03:44

Nginx 之常见报错问题解决的相关文章

Appium常见报错问题解决方法-1

前言:Appium的初学者中难免会遇到各种问题,现将在使用中遇到的问题,做个简单记录 1.urllib2.URLError: <urlopen error [Errno 10061] > 解决方法: (1)发现是由于自己手机上连接了代理,去掉代理,以上报错消失 (2)没有启动Appium,启动后,以上问题即可消失 2.ADB server didn't ACK 运行以下命令 找到 0.0.0.0 的id,运行如下命令: 杀掉adb.exe进程: 重新运行appium脚本. 3.Activity

Appium常见报错问题解决方法-2

上一篇记录了部分Appium报错的解决方案,现在继续记录 4.运行闪退 直接如上运行,闪退. 解决方法: 运行前,要先启动Appium客户端,之后再运行脚本,就不会出现这个问题. 5.socket error errno 10054  解决方法:之前使用的网络是代理,去掉代理,使用无线来上网就可以正常运行了 6.设备是unauthorized(未授权)或office 解放方法: 1.用360手机助手,USB线连接手机和电脑,手机弹出:允许usb调试,点击<确定>,确定手机和电脑连接成功 2.在

cocos2d-js运行游戏常见报错

作为新手,参考官网案例自己再打一遍代码运行游戏时常会出现许多相同报错,有的是由于自己单词拼写错误,或者文件未加载等,在写代码的时候一定要细心细心再细心,下面是我这两天运行出现的一些报错及我的解决方法,多是自己搜索外带摸索总结的,有什么不对的敬请指正,当然,运行过程中也许会有各种问题,我这边也可能只是极少数,后续碰到的会继续更新,希望大家看到并可以解决的也可以共享下. 运行游戏常见报错: 1.loader for [null] not exists! 尝试方法:极有可能是加载什么类型的资源没有后缀

android开发_git操作中常见报错及解决办法

Focus on technology, enjoy life!-- QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305 主题:git操作中常见报错 - 如果输入$ git remote add origin [email protected]:xxx(github帐号名)/yyy(项目名).git 提示出错信息:fatal: remote origin already exists. 解决办法

web报表工具FineReport使用中遇到的常见报错及解决办法(一)

FineReport使用中遇到的常见报错及解决办法(一) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有.有报错要看日志.下面简单罗列下常见的问题,大多文档上都有提到的. 1.address pool is full: 含义:地址池满,连接数超过并发数上限. 解决办法: 若在FineReport的连接池属性的设置中,已将最大连接数设置得过大,还出现如上的报错,此时通常就是数据库进程(proc

java报表工具FineReport使用中遇到的常见报错及解决办法(一)

FineReport使用中遇到的常见报错及解决办法(一) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有.有报错要看日志.下面简单罗列下常见的问题,大多文档上都有提到的. 1.address pool is full: 含义:地址池满,连接数超过并发数上限. 解决办法: 若在FineReport的连接池属性的设置中,已将最大连接数设置得过大,还出现如上的报错,此时通常就是数据库进程(proc

使用iis7.5搭建ASP网站常见报错问题处理

iis7.5 解析 ASP 出错主要有三类: 1. 权限问题 2. 程序问题 3. 应用池问题 1. 权限问题: 如果访问网站后有典型的无权查看报错提醒, 那么重新配置相关用户的权限即可, 最简单的办法是直接添加一 Everyone 用户, 给 Everyone 加读取权限即可, 此处操作简单, 不多赘述, 需要注意的是, 500报错也可能是权限问题, 请留意排错, 如图所见,                  2. 程序问题: asp程序不能正常解析, 此处主要问题来源有: a. asp未启用

rabbitmq编译部署以及常见报错

(一)源码安装Erlang(1)下载erlang源码包wget http://www.erlang.org/download/otp_src_R13B04.tar.gz(2)解压缩erlang源码包tar -zxvf otp_src_R13B04.tar.gz(3)安装./configure??--prefix=/usr/local/erlang./make./make install如果抛出如下错误No curses library functions found请先安装?curses lib

Zabbix 常见报错

Zabbix 常见报错 一.zabbix web上出现Get value from agent failed: ZBX_TCP_READ() failed: [104] Connection reset by peer 1. Debug 过程: 1.1 在zabbix server 上使用get 命令时出现:1.2 查看zabbix_agent 日志出现failed to accept an incoming connection: connection from "28.44.20.129&q