博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
unbutu下配置虚拟主机,修改php-fpm7.0默认监听的sock时,报502问题解决
阅读量:6573 次
发布时间:2019-06-24

本文共 2827 字,大约阅读时间需要 9 分钟。

hot3.png

简单说

--(我也就知道这么多)--,nginx处理请求是通过fpm(来管理fastcgi的)来实现请求和响应。

而nginx和php-fpm可以通过监听9000端口(默认)或者socket来实现。

而9000的格式是127.0.0.1:9000,是走网络的。通过ngxin的conf文件,把.php结尾的都交给9000端口处理,php-fpm(fastggi的进程管理器)选择并连接到一个fastcgi子进程,并将环境变量和标准输入发送到fastcgi子进程,然后不断的处理请求响应

socket文件就不走网络,是。

好,至于速度对比和优化配置,先不说。

更改phpfpm监听9000端口为socket (默认就是socket)

 

在配置一个yii2项目时,对于配置一个新的虚拟主机,导致不能正常解析

095857_cIP8_572288.png

 

我的配置如下 使用的是9000端口

location ~ \.php$ {

            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
 

root@alex-virtual-machine:/etc/nginx/conf.d# netstat -tln |grep 9000 查询不到

 

100653_iDrd_572288.png

##########################################

php7默认的是socket,所以如果按照之前nginx -conf文件,php文件处理会报502错误

/etc/php/7.0/fpm/pool.d/www.conf

 

;listen = /run/php/php7.0-fpm.sock

listen = 127.0.0.1:9000
 

修改完重启php-fpm 重启nginx

root@alex-virtual-machine:/etc/nginx/conf.d# ps -ef |grep php-fpm
root     31192     1  0 22:05 ?        00:00:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data 31193 31192  0 22:05 ?        00:00:00 php-fpm: pool www
www-data 31194 31192  0 22:05 ?        00:00:00 php-fpm: pool www
root     31677 28271  0 22:12 pts/8    00:00:00 grep --color=auto php-fpm
root@alex-virtual-machine:/etc/nginx/conf.d# netstat -tupl|grep 9000
tcp        0      0 localhost:9000          *:

。默认的sock是在php配置文件中的,pool.d中的www.conf

root@tb:/etc/php/7.0/fpm# pwd/etc/php/7.0/fpmroot@tb:/etc/php/7.0/fpm# lsconf.d  php-fpm.conf  php.ini  pool.droot@tb:/etc/php/7.0/fpm#

在这两行:

listen = /run/php/php7.0-fpm.sock; listen = 127.0.0.1:9000

## 更改nginx conf文件 ##

nginx 配置文件我的是在

root@tb:/etc/nginx/conf.d# ls  git.conf  svn.conf  tb.conf

修改其中的git.conf如下

server{    listen 80;    server_name git.com ;    root /home/gittest/;    autoindex on;  location ~ \.php$ {    root           /home/gittest;    #fastcgi_pass   127.0.0.1:9000;    fastcgi_pass    unix:/run/php/php7.0-fpm.sock;    fastcgi_index  index.php;    fastcgi_intercept_errors        on;    fastcgi_param  SCRIPT_FILENAME  /home/gittest/$fastcgi_script_name;    include        fastcgi_params;    }}

重启php-fpm和nginx

root@tb:/etc/nginx/conf.d# service nginx reload     * Reloading nginx configuration nginx                                                                           [ OK ]          root@tb:/etc/nginx/conf.d# service php7-fpm status     * php-fpm7.0 is running    root@tb:/etc/nginx/conf.d# service php7-fpm reload     * Reloading PHP 7.0 FastCGI Process Manager php-fpm7.0[ OK ]     root@tb:/etc/nginx/conf.d#

要注意是ok才可以,具体的nginx和fpm的脚本执行文件(可自己修改)在:

root@tb:/etc/init.d# ls /etc/init.d/ |grep php7    php7-fpm    root@tb:/etc/init.d# ls /etc/init.d/ |grep nginx    nginx    root@tb:/etc/init.d#

最后,进阶的同学可参考

补充如果想通过apt-get换回去之前版本

sudo add-apt-repository ppa:ondrej/php5sudo apt-get update

然后再install就好了

转载于:https://my.oschina.net/yonghan/blog/1301733

你可能感兴趣的文章
Tomcat 关于表单提交数据量过大导致数据丢失的问题
查看>>
gitlab hook declined错误
查看>>
金融数据库
查看>>
翻了100个程序员的朋友圈, 发现个个都是套路王
查看>>
取消从上一界面push过来后,左上角的back按钮
查看>>
如何阅读别人的代码
查看>>
为什么 ++[[]][+[]]+[+[]] = 10?
查看>>
ContentProvider
查看>>
Redis 持久化存储
查看>>
Android 自定义GridView网格布局
查看>>
关于在帧中继fr环境下的NAT网络地址转换的实验
查看>>
2015-郭辉-项目采购管理+文档配置管理
查看>>
基于 jQuery & CSS3 实现智能提示输入框光标位置
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ThreadLocal分析
查看>>
mysql优化:连接数
查看>>
github的使用(git shell )
查看>>
如何优化js代码(1)——字符串的拼接
查看>>
PHP 时间操作 / 跳转问题
查看>>