nginx/windows: nginx多虚拟主机配置

1.nginx.conf内容如下:

worker_processes 1;

error_log  /host/nginx/logs/error.log  crit;

pid        /host/nginx/logs/nginx.pid;

events {
worker_connections  64;
}

http {
include       /host/nginx/conf/mime.types;
default_type  application/octet-stream;

#charset  gb2312;

server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;

keepalive_timeout 60;

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
client_body_temp_path /host/nginx/client_body_temp;
proxy_temp_path /host/nginx/proxy_temp;
fastcgi_temp_path /host/nginx/fastcgi_temp;

gzip on;
gzip_min_length  1k;
gzip_buffers     4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types       text/plain application/x-javascript text/css application/xml;
gzip_vary on;

client_header_timeout  3m;
client_body_timeout    3m;
send_timeout          3m;
sendfile                on;
tcp_nopush              on;
tcp_nodelay            on;
#设定虚拟主机
include       /host/nginx/conf/vhost/www_test_com.conf;
include       /host/nginx/conf/vhost/www_test1_com.conf;
include       /host/nginx/conf/vhost/www_test2_com.conf;
}

2.在conf目录下建立个vhost目录,在vhost目录下分别建立www_test_com.conf,www_test1_com.conf,www_test2_com.conf 3个文件

www_test_com.conf代码如下:

server {
listen 202.***.***.***:80;            #换成你的IP地址
client_max_body_size 100M;
server_name  www.test.com#换成你的域名
charset gb2312;
index index.html index.htm index.php;
root   /host/wwwroot/test;         #你的站点路径#打开目录浏览,这样当没有找到index文件,就也已浏览目录中的文件
autoindex on;

if (-d $request_filename) {
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}

error_page  404              /404.html;
location = /40x.html {
root  /host/wwwroot/test;       #你的站点路径
charset   on;
}

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   /host/wwwroot/test;      #你的站点路径
charset   on;
}

#将客户端的请求转交给fastcgi
location ~ .*\.(php|php5|php4|shtml|xhtml|phtml)?$ {
fastcgi_pass   127.0.0.1:9000;
include /host/nginx/conf/fastcgi_params;
}

#网站的图片较多,更改较少,将它们在浏览器本地缓存15天
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires      15d;
}

#网站会加载很多JS、CSS,将它们在浏览器本地缓存1天
location ~ .*\.(js|css)?$
{
expires      1d;
}

location /(WEB-INF)/ {
deny all;
}

#设定日志格式
log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#设定本虚拟主机的访问日志
access_log  /host/nginx/logs/down/access.log  access;   #日志的路径,每个虚拟机一个,不能相同
server_name_in_redirect  off;
}

3.www_test1_com.conf和www_test2_com.conf,文件和上面的基本相同,只要把红色提示的地方修改一下就可以了,具体的日志内容如下:

www_test1_com.conf如下:
..........

#设定日志格式
log_format  test1 '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#设定本虚拟主机的访问日志
access_log  /host/nginx/logs/test1/test1.log  test1;   #日志的路径,每个虚拟机一个,不能相同
server_name_in_redirect  off;
}

www_test2_com.conf如下:
..........

#设定日志格式
log_format  test2 '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#设定本虚拟主机的访问日志
access_log  /host/nginx/logs/test2/test2.log  test2;   #日志的路径,每个虚拟机一个,不能相同

2 thoughts on “nginx/windows: nginx多虚拟主机配置

Comments are closed.