1. 程式人生 > >通過nginx設定二級網站

通過nginx設定二級網站

現在有一個主域名www.example.com,通過nginx代理訪問到192.168.1.10的8080埠,要實現aaa.example.com訪問192.168.1.11這個機器的8080埠,bbb.example.com訪問192.168.1.11這個機器的8081埠

第一步,要確保*.example.com的域名已經指定到對應的IP上

第二步,在nginx的配置檔案中server部分配置泛域名:

server {         listen       80;         server_name  *.example.com; } 第三步,通過正則表示式,匹配二級域名部分,並把匹配到的內容儲存到變數中         if ( $http_host ~* "^(.*?)\.example\.com$" ) {             set $domain $1;         } 第四步,location 中進行設定 location / {             root   /home/example;             index  index.html index.htm;        proxy_pass http://example_www
            if ( $domain ~* "aaa" ) {                proxy_pass http://example_aaa;             }             if ( $domain ~* "bbb" ) {                proxy_pass http://example_bbb;             } } 第五步,設定upstream,這裡可以進行負載均衡,具體不詳細說     upstream example_www{         server 192.168.1.10:8080 weight=1; #server 192.168.1.10:808
1 weight=2;     }     upstream example_aaa{         server 192.168.1.11:8080 weight=2;     }     upstream example_bbb{         server 192.168.1.11:8081 weight=3;     }
至此,二級網站就配置完成了,最後再整理一下整個配置檔案 ……     upstream example_www{         server 192.168.1.10:8080 weight=1; #server 192.168.1.10:8081 weight=
2;     }     upstream example_aaa{         server 192.168.1.11:8080 weight=2;     }     upstream example_bbb{         server 192.168.1.11:8081 weight=3;     }
server {         listen       80;         server_name  *.example.com;         if ( $http_host ~* "^(.*?)\.example\.com$" ) {             set $domain $1;         } location / { root   /home/example; index  index.html index.htm;   proxy_pass http://example_www
if ( $domain ~* "aaa" ) {  proxy_pass http://example_aaa; } if ( $domain ~* "bbb" ) { proxy_pass http://example_bbb; } } }