ngnix下conf通用设置方法(php fastcgi)

核心做法:

三类文件
 
1. 基础文件 conf/nginx.conf
# 说明:nginx默认会引用该文件
 
2. fastcgi参数文件 conf/nginx.conf
# 说明 fastcgi会设置所有站点都通用的参数
 
3. 站点文件 如:conf/vhost/a.com 可以有多个,放在vhost文件夹下
 
彼此引用说明
 
在基础文件conf/nginx.conf中插入include *.conf 引用站点文件
站点文件中合适位置插入include fastcgi.conf 设置fastcgi,如果要覆盖参数,可以在引用再赋值一次即可
详细说明:


nginx.conf中设置基础参数,内容如下:

#用户及用户组设置
user  www www;
 
worker_processes  1;
 
#错误级别的日志设置
error_log  logs/error.log;
 
#其他级别的日志设置
#error_log  logs/error.log notice;
#error_log  logs/error.log info;
 
pid logs/nginx.pid;
 
events {
    use epoll;
    worker_connections  1024;
}
 
http {
    #fastcgi_intercept_errors on;
    #error_page  404 ;
    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  logs/access.log main;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 300m;
    sendfile        on;
    tcp_nopush     on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    #keepalive_timeout  0;
    keepalive_timeout  60;
    tcp_nodelay on;
    server_tokens off;
    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
      
    #未绑定域名返回404
    server {
       listen 80 default;
       return 404;
    }
  
    #加载每个站点conf文件
    include vhost/*.conf;
}

单个站点conf文件放在vhost文件夹下,比如建立一个a.com.conf,内容见下方:

server {
    #监听端口
    listen 80;
     
    #绑定域名,用空格分开多个域名
    server_name a.com www.a.com;
     
    #默认首页
    index index.php index.html index.htm;
     
    #站点目录
    set $root_path '/data/wwwroot/a.com/web';
    root $root_path;
     
    #访问日志
    #access_log logs/a.com_access.log main;
     
    #错误日志
    #error_log logs/$host_error.log;   
 
    #伪静态
    location / {
        #ci框架
        #try_files $uri $uri/ /index.php?$query_string;
         
        #phalcon框架
        #try_files $uri $uri/ /index.php?_url=$uri&$args;
    }
 
    #php文件采用fastcgi解析并设置参数
    location ~ \.php {
        fastcgi_index  /index.php;
        fastcgi_pass   127.0.0.1:9000;
         
        #加载fastcgi.conf文件中的参数
        include fastcgi.conf;
         
        #设置有权限目录,fastcgi.conf中默认设置就是站点目录,如果要改变就需要重新赋值
        #phalcon举例
        #fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/../:/data/tmp/php/upload/:/proc/";
    }
     
    #禁止下载伪静态文件
    location ~ /\.ht {
        deny all;
    }
}

fastcgi.conf内容:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
 
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;
 
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
 
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
 
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
 
#防跨站设置
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/data/tmp/php/upload/:/proc/";



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值