如何使用NGINX设置php7

如何使用NGINX设置php7,php,nginx,fastcgi,Php,Nginx,Fastcgi,我在我的开发Debian Stable上安装了PHP 7 Nightly和Nginx 1.9.7(主线): $ curl http://nginx.org/keys/nginx_signing.key | apt-key add - $ echo -e 'deb http://nginx.org/packages/mainline/debian/ jessie nginx\ndeb-src http://nginx.org/packages/mainline/debian/ jessie ngi

我在我的开发Debian Stable上安装了PHP 7 Nightly和Nginx 1.9.7(主线):

$ curl http://nginx.org/keys/nginx_signing.key | apt-key add -
$ echo -e 'deb http://nginx.org/packages/mainline/debian/ jessie nginx\ndeb-src http://nginx.org/packages/mainline/debian/ jessie nginx' > /etc/apt/sources.list.d/nginx.list
$ echo -e 'deb http://repos.zend.com/zend-server/early-access/php7/repos ubuntu/' > /etc/apt/sources.list.d/php.list
$ apt-get -y update && time apt-get -y dist-upgrade
$ apt-get -y --force-yes install --fix-missing nginx php7-nightly
$ service nginx restart
我在
/etc/nginx/conf.d/php.conf
中有这个配置文件(default.conf未注释)。这是原始的default.conf,我刚刚取消了PHP fastCGI行的注释:

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
我还没有在网上找到任何关于如何使用PHP7设置Nginx主线的教程:(


谢谢!

在快速查看zend提供的软件包(您正在安装的软件包)之后,您必须为init系统(systemd)编写一个脚本来启动和管理php fpm进程


二进制文件安装在
/usr/local/php7/sbin/php fpm
中。您还必须修改
/usr/local/php7/etc
中的配置文件。主要更改是确保fpm在端口9000处有一个监听地址127.0.0.1的池。

如果您使用php-fpm SAPI(FastCGI Process Manager),nginx的配置与以前完全相同。使用FPM SAPI通常是一个不错的选择,因为它允许您独立于Web服务器控制php进程(与让nginx管理fastcgi进程相比),并且php环境不必在每次请求时从头重新加载(与使用常规CGI相比)。你知道如何将php fpm安装到php7的教程吗?有没有办法用package manager安装它?看起来像是从PHP5.3.3开始的,它包含在核心php软件包中。谢谢!我正在学习这个教程,现在我正在设置一个新的Dockerfile,所以我在这个过程中处于中间位置,但看起来这就是方法:我成功地设置了php7与Nginx。这是我的Dockerfile,用于工作服务器: