nginx 配置实战

回复 收藏

#nginx 解析php

配置 vim test.com.conf

server

{

        listen 80;

           server_name test.com test1.com test2.com;

           index index.html index.htm index.php;

           root /data/nginx/test.com;

               

                if ( $host != 'test.com' ) {

                 rewrite ^/(.*)$ http://test.com/$1 permanent;

        }

        location ~ \.php$ {

include fastcgi_params;

fastcgi_pass unix:/tmp/php-fcgi.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/nginx/test.com$fastcgi_script_name;

}

               

}

#检查配置是否成功

/usr/local/nginx/sbin/nginx -t

#重启

/usr/local/nginx/sbin/nginx -s reload

附加: lnmp环境线上配置,解决nginx不支持pathinfo模式

nginx.conf

server

{

       listen 80;

       server_name chinaber.cn;

       index index.html index.htm index.php;

       root /data/wwwroot/tp5/public;

  location / {

               #ThinkPHP Rewrite

               if (!-e $request_filename){

               rewrite ^/(.*)$ /index.php/$1 last;

               }

       }

       location ~ \.php($|/){

               set $script $uri;

               set $path_info "";

               if ($uri ~ "^(.+?\.php)(/.+)$") {

               set $script $1;

               set $path_info $2;

       }

       try_files $uri =404;

       fastcgi_pass unix:/tmp/php-fcgi.sock;

       fastcgi_index index.php;

       include fastcgi.conf;

       fastcgi_param script_FILENAME $document_root$script;

       fastcgi_param script_NAME $script;

       fastcgi_param PATH_INFO $path_info;

       fastcgi_param SCRIPT_FILENAME /data/wwwroot/tp5/public$fastcgi_script_name;

       }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

        {

                 root /data/www/shuzhuo/public;

                 if (-f $request_filename){

                        expires 1d;

                        break;

                }

        }

       location ~ .*\.(js|css)?$

        {

                root /data/www/shuzhuo/public;

                if (-f $request_filename){

                        expires 1d;

                        break;

                }

        }

}

线上配置文件 :

nginx.conf   + ssl

server {

   listen 443;

   server_name chinaber.cn www.chinaber.cn;

   ssl on;

   index index.html index.htm index.php;

   root /data/www/myblog/public;

   error_log  /tmp/chinaber-error.log  error;

   ssl_certificate   cert/214514783960334.pem;

   ssl_certificate_key  cert/214514783960334.key;

   ssl_session_timeout 5m;

   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

   ssl_prefer_server_ciphers on;

   location / {

       if (!-e $request_filename){

           rewrite ^/(.*)$ /index.php/$1 last;

       }

   }

   location ~ \.php($|/){

       set $script $uri;

       set $path_info "";

       if ($uri ~ "^(.+?\.php)(/.+)$") {

           set $script $1;

           set $path_info $2;

       }

       try_files $uri =404;

       fastcgi_pass unix:/tmp/php-fcgi.sock;

       fastcgi_index index.php;

       include fastcgi.conf;

       fastcgi_param script_FILENAME $document_root$script;

       fastcgi_param script_NAME $script;

       fastcgi_param PATH_INFO $path_info;

       fastcgi_param SCRIPT_FILENAME /data/www/myblog/public$fastcgi_script_name;

   }

   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

   {    

       root /data/www/myblog/public;

       if (-f $request_filename){

          expires 1d;

          break;

       }        

   }        

     

   location ~ .*\.(js|css)?$

   {

      root /data/www/myblog/public;

       if (-f $request_filename){

          expires 1d;

          break;

       }

   }

}

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  REQUEST_SCHEME     $scheme;

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_VALUE  "open_basedir=/data/www/myblog/:/tmp/:/proc/";

2018-03-25 14:21 举报
已邀请:
0

zhougeng

赞同来自:

这个只针对已经搭建好的lnmp环境可以做一个参考

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: