centos下nginx虚拟机配置 需要注意的地方

  1 #设定日志格式
  2 log_format  auto  '$remote_addr - $remote_user [$time_local] "$request" '
  3 '$status $body_bytes_sent "$http_referer" '
  4 '"$http_user_agent" $http_x_forwarded_for';
  5 server {
  6      listen 80;            #换成你的IP地址
  7      client_max_body_size 100M;
  8      server_name  www.auto.com;  #换成你的域名
  9      charset utf-8;
 10      index index.html index.htm index.php;
 11      root   /home/wwwroot/auto;         #你的站点路径
 12
 13
 14      #打开目录浏览,这样当没有找到index文件,就也已浏览目录中的文件
 15      autoindex on;
 16
 17      #if (-d $request_filename) {
 18      #rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
 19      #}
 20
 21      error_page  404              /404.html;
 22      location = /40x.html {
 23      root  /home/wwwroot/auto;       #你的站点路径
 24      charset   on;
 25      }
 26
 27      # redirect server error pages to the static page /50x.html
 28      #
 29      error_page   500 502 503 504  /50x.html;
 30      location = /50x.html {
 31      root   /home/wwwroot/auto;      #你的站点路径
 32      charset   on;
 33      }
 34
 35     location / {
 36         index  index.php;
 37         #rewrite规则如下:
 38         rewrite ^/$ /index.php last;
 39         rewrite ^/(?!index\.php|robots\.txt|static)(.*)$ /index.php/$1 last;
 40     }
 41
 42      #将客户端的请求转交给
 43      location ~ ^(.+\.php)(.*)$ {
 44              # root           /home/wwwroot/auto/source;
 45              fastcgi_pass   127.0.0.1:9000;
 46              fastcgi_index  index.php;
 47              fastcgi_split_path_info ^(.+\.php)(.*)$;
 48              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
 49              #fastcgi_param  PATH_INFO $fastcgi_path_info;
 50              fastcgi_param        PATH_TRANSLATED        $document_root$fastcgi_path_info;
 51              include        fastcgi_params;
 50      }
 51
 52
 53          #网站的图片较多,更改较少,将它们在浏览器本地缓存15天
 54      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
 55      {
 56      expires      15d;
 57      }
 58
 59      #网站会加载很多JS、CSS,将它们在浏览器本地缓存1天
 60      location ~ .*\.(js|css)?$
 61      {
 62      expires      1d;
 63      }
 64
 65      location /(WEB-INF)/ {
 66      deny all;
 67      }
 68
 69      #设定本虚拟主机的访问日志
 70      access_log  /usr/local/nginx/logs/down/auto.log  auto;   #日志的路径,每个虚拟机一个,不能相同
 71      server_name_in_redirect  off;

 72 }

 

1、首先在nginx配置文件nginx.conf同级目录下建立vhost文件夹,vhost中可以建立你所需要的虚拟主机的配置文件,如:www.test1.com.conf,www.test2.com.conf

2、虚拟主机配置文件代码如上文中的代码所示,需要注意的地方是

 35     location / {
 36         index  index.php;
 37         #rewrite规则如下:
 38         rewrite ^/$ /index.php last;
 39         rewrite ^/(?!index\.php|robots\.txt|static)(.*)$ /index.php/$1 last;
 40     }

此处为url的重写规则,该文件项目为CI框架时所配置的。

3、第二个需要注意的地方是nginx如何将客户端的请求转交给php的fast-cgi,此处一定要注意location后面的正则,代表了以.php文件结束的,并且php文件后可以跟参数或者其他uri段的。

  location ~ ^(.+\.php)(.*)$ {
/*******/
 }

你可能感兴趣的:(nginx,centos,conf,虚拟主机,vhost)