Nginx多站点配置
1、在 /etc/nginx 下创建 vhosts 目录
2、在 /etc/nginx/vhosts/ 里创建一个名字为 www.cnweed.com.conf 的文件,内容如下
server {
listen 80;
server_name www.cnweed.com; #绑定的域名
index index.php; #默认首页
error_log logs/www.cnweed.com.log;# 关闭日志直接注释即可
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_cache_key "$scheme://$host$request_uri";
#缓存key规则,用于自动清除缓存。
proxy_cache cache_one;
#缓存区名称,与前面定义的相同
proxy_cache_valid 200 304 3h;
proxy_cache_valid 301 3d;
proxy_cache_valid any 10s;
#200 304状态缓存3小时
#301状态缓存3天
#其他状态缓存(如502 404)10秒
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#向后端传递访客ip
proxy_set_header Referer http://www.cnweed.com; #强制定义Referer,程序验证判断会用到
proxy_set_header Host www.cnweed.com; #定义主机头,如果目标站点绑定的域名个server_name项的吻合则使用$host
proxy_pass http://100.100.100.100; #指定目标,建议使用IP或者nginx自定义池
proxy_set_header Accept-Encoding ""; #清除编码
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}3、更改 /etc/nginx/nginx.conf 配置文件,把 /etc/nginx/vhosts/ 目录下的配置包含进去,文件内容如下
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_disable "MSIE [1-6]\.";
#缓存#
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 180;
proxy_buffer_size 128k;
proxy_buffers 2 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_temp_path /home/cache/temp;
#临时文件目录
proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache_one:30m inactive=7d max_size=5g;
#30m为内存占用,5g为最大硬盘占用,cache_one为缓存区名字,如果修改则下文的配置亦要相应修改。
send_timeout 180;
#后台响应时间
server {
listen 80;
server_name _;
server_name_in_redirect off;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# 包含所有的虚拟主机的配置文件
include /etc/nginx/vhosts/*;
}
重启NGINX生效, /etc/nginx/vhosts/ 中每个conf配置文件为一个域名,可配置多站点,每次添加或删改都需要重启NGINX生效,上面的配置文件中开启了缓存和压缩功能,请自行删改。
部分参考冰河博客:http://www.binghe.org/2009/12/nginx-virtual-hosting/comment-page-1/
用的LNMP ?
不是,单独安装的Nginx,LNMP有反代一键安装包