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有反代一键安装包