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

php中文网
发布: 2016-06-06 20:23:14
原创
1690人浏览过

这是我的nginx配置

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;
}
登录后复制
登录后复制

php.conf

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;
}
登录后复制
登录后复制

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

open_basedir = /usr/local/var/www/
登录后复制
登录后复制

用brew安装PHP时候的参数

brew install --without-apache --with-fpm --with-mysql php70
登录后复制
登录后复制

PHP端口测试

立即学习PHP免费学习笔记(深入)”;

>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)
登录后复制
登录后复制

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

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

回复内容:

这是我的nginx配置

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;
}
登录后复制
登录后复制

php.conf

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;
}
登录后复制
登录后复制

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

open_basedir = /usr/local/var/www/
登录后复制
登录后复制

用brew安装PHP时候的参数

brew install --without-apache --with-fpm --with-mysql php70
登录后复制
登录后复制

PHP端口测试

立即学习PHP免费学习笔记(深入)”;

>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)
登录后复制
登录后复制

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

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

 server {
        listen       8080;
        server_name  localhost;

        location / {
            root   html;
登录后复制

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

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号