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/

标签: Linux管理维护

已有 2 条评论

  1. 用的LNMP ?

    1. 不是,单独安装的Nginx,LNMP有反代一键安装包

添加新评论