首頁  >  文章  >  後端開發  >  关于php7+nginx的配置(osx环境)

关于php7+nginx的配置(osx环境)

WBOY
WBOY原創
2016-06-06 20:23:141368瀏覽

这是我的nginx配置

<code>worker_processes  1;

error_log  /usr/local/var/log/nginx/error.log debug;

pid        /usr/local/var/run/nginx.pid;


events {
    worker_connections  256;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /usr/local/var/log/nginx/access.log main;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       8080;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        include php.conf;

        #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   html;
        }

    }

    include servers/*;
    include /usr/local/etc/nginx/sites-enabled/*;

    autoindex on;
    autoindex_exact_size off;
}</code>

php.conf

<code>location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
                return 404;
        }

        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
}</code>

PHP设置除了增加了这一行其他都是默认

<code>open_basedir = /usr/local/var/www/</code>

用brew安装PHP时候的参数

<code>brew install --without-apache --with-fpm --with-mysql php70</code>

PHP端口测试

<code>>lsof -Pni4 | grep LISTEN | grep php
php-fpm      89 joshua    6u  IPv4 0x765c1f70dd81f88b      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm     310 joshua    0u  IPv4 0x765c1f70dd81f88b      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm     311 joshua    0u  IPv4 0x765c1f70dd81f88b      0t0  TCP 127.0.0.1:9000 (LISTEN)</code>

目前不知道为什么,点击www下的php文件,要么显示空白,要么直接下载下来了

第一次所用nginx,希望回答的同时解释一下为什么发生这样的问题)

回复内容:

这是我的nginx配置

<code>worker_processes  1;

error_log  /usr/local/var/log/nginx/error.log debug;

pid        /usr/local/var/run/nginx.pid;


events {
    worker_connections  256;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /usr/local/var/log/nginx/access.log main;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       8080;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        include php.conf;

        #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   html;
        }

    }

    include servers/*;
    include /usr/local/etc/nginx/sites-enabled/*;

    autoindex on;
    autoindex_exact_size off;
}</code>

php.conf

<code>location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
                return 404;
        }

        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
}</code>

PHP设置除了增加了这一行其他都是默认

<code>open_basedir = /usr/local/var/www/</code>

用brew安装PHP时候的参数

<code>brew install --without-apache --with-fpm --with-mysql php70</code>

PHP端口测试

<code>>lsof -Pni4 | grep LISTEN | grep php
php-fpm      89 joshua    6u  IPv4 0x765c1f70dd81f88b      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm     310 joshua    0u  IPv4 0x765c1f70dd81f88b      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm     311 joshua    0u  IPv4 0x765c1f70dd81f88b      0t0  TCP 127.0.0.1:9000 (LISTEN)</code>

目前不知道为什么,点击www下的php文件,要么显示空白,要么直接下载下来了

第一次所用nginx,希望回答的同时解释一下为什么发生这样的问题)

<code> server {
        listen       8080;
        server_name  localhost;

        location / {
            root   html;</code>

目测是这个root写的不对.
root应该是指的项目根目录.比如我的项目在/usr/local/www/project,那么root应该写这个.

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn