Heim > Backend-Entwicklung > PHP-Tutorial > Ubuntu升级php7.0配置fpm socket

Ubuntu升级php7.0配置fpm socket

WBOY
Freigeben: 2016-06-20 12:41:16
Original
1142 Leute haben es durchsucht

简单说

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

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

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

socket文件就不走网络,是套接字。

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

先说ubuntu(14.10 lts)升级php7

sudo add-apt-repository ppa:ondrej/php-7.0sudo apt-get updatesudo apt-get install php7.0-fpm
Nach dem Login kopieren

升级完成后,之前的fpm文件还在。可以酌情参考或者删除

php -vPHP 7.0.1-4+deb.sury.org~trusty+1 (cli) ( NTS )Copyright (c) 1997-2015 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015,     by Zend     Technologies   
Nach dem Login kopieren

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

php7默认的是socket,所以如果按照之前nginx -conf文件,php文件处理会报502错误。
默认的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# 
Nach dem Login kopieren

在这两行:

listen = /run/php/php7.0-fpm.sock; listen = 127.0.0.1:9000
Nach dem Login kopieren

## 更改nginx conf文件 ##

nginx 配置文件我的是在

  root@tb:/etc/nginx/conf.d# ls  git.conf  svn.conf  tb.conf 
Nach dem Login kopieren

修改其中的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;    }}
Nach dem Login kopieren

重启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#     
Nach dem Login kopieren

要注意是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#
Nach dem Login kopieren

最后,进阶的同学可参考Nginx+PHP-FPM优化技巧总结

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage