linux nginx服务器常规配置( php-fpm php-pathinfo)

摘要:linux nginx服务器常规配置( php-fpm php-pathinfo)...

作者:LoveCode标签:linux,nginx,服务器配置,php-fpm,php-pathinfo

linux系统下配置nginx php:

1.常规安装前需要先检查是否已经安装相关依赖包:pcre & zlib

./configure --prefix=/usr/local/nginx --with-pcre="/usr/local/pcre" --with=zlib="/usr/local/zlib"


2.如果make出现错误,需要先make clean一下以防异常:

make
make install


vhost php5-fpm与php-pathinfo配置:

location ~ \.php { #注意后面没有$,以便匹配所有 *.php/* 形式
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;

        #path_info
        set $path_info ""; 
        set $real_script_name $fastcgi_script_name; 
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { 
        set $real_script_name $1; 
        set $path_info $2; 
        }
        fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; 
        fastcgi_param SCRIPT_NAME $real_script_name; 
        fastcgi_param PATH_INFO $path_info;#只要设置了这行PHP_SELF返回的就出问题,
        #修改php.ini配置为cgi.fix_pathinfo=1造成的错误
        try_files $fastcgi_script_name =404; #解决php.ini配置项cgi.fix_pathinfo=1时的安全漏洞的。
    }


php-fastcgi:

    # 动态文件.php请求转发给后端Apache
    location ~ \.php {
        # 向后端服务器发起请求时添加指定的header头信息
        proxy_set_header Host $http_host;
        # 向后端服务器发送真实 IP
        proxy_set_header X-Real-IP $remote_addr;
        # 让后端如php能直接通过变量获取真实IP
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass   http://127.0.0.1:88;
    }
    # nginx找不到文件时,转发请求给后端Apache
    location @proxy {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:88;
    }
CopyRight © 2017 荒山本的官方网站 粤ICP备16049175号 All Right Service 网站地图(xml) 网站地图(html)