Nginx服務器下配置個性二級域名及多個域名的實例講解
個性二級域名
配置下個性化二級域名.
效果:
訪問的URL http://custom.jb51.net
實際的URL http://www.dbjr.com.cn/auth/custom
我們的做法就是通過服務器配置,將訪問的url轉換為實際的url
下面我們來用nginx配置。配置如下:
server { listen 80; server_name *.jb51.net; if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) { set $subdomain $1; } location / { rewrite ^/$ /auth/$subdomain last; proxy_pass http://www.dbjr.com.cn/; } }
其中的if,是用于過濾某些特殊的二級域名,比如www,然后獲取二級域名的變量值。
rewrite轉化為對應的目錄
rewrite ^/$ /auth/$subdomain last;
再加上nginx的反向代理功能:
proxy_pass http://www.dbjr.com.cn/;
就可以實現(xiàn)了。
這樣配置之后,除了if中過濾的二級域名,其他的二級域名{sudomain}.jb51.net,對于服務器,其真實的路徑都是www.dbjr.com.cn/auth/{sudomain}。
如果url有多種路徑規(guī)則,則需要一一進行配置。
多域名配置
nginx綁定多個域名可又把多個域名規(guī)則寫一個配置文件里,也可又分別建立多個域名配置文件,我一般為了管理方便,每個域名建一個文件,有些同類域名也可又寫在一個總的配置文件里。
一、每個域名一個文件的寫法
首先打開nginx域名配置文件存放目錄:/usr/local/nginx/conf/servers ,如要綁定域名www.dbjr.com.cn 則在此目錄建一個文件:www.your-domain.conf然后在此文件中寫規(guī)則,如:server
{ listen 80; server_name www.dbjr.com.cn; #綁定域名 index index.htm index.html index.php; #默認文件 root /home/www/jb51.net; #網(wǎng)站根目錄 include location.conf; #調用其他規(guī)則,也可去除 }
然后重起nginx服務器,域名就綁定成功了nginx服務器重起命令:/etc/init.d/nginx restart
二、一個文件多個域名的寫法
一個文件添加多個域名的規(guī)則也是一樣,只要把上面單個域名重復寫下來就ok了,如:server
{ listen 80; server_name bbs.jb51.net; #綁定域名 index index.htm index.html index.php; #默認文件 root /home/www/bbs.jb51.net; #bbs目錄 include location.conf; #調用其他規(guī)則,也可去除 }server { listen 80; server_name www.dbjr.com.cn; #綁定域名 index index.htm index.html index.php; #默認文件 root /home/www/www.dbjr.com.cn; #網(wǎng)站根目錄 include location.conf; #調用其他規(guī)則,也可去除 }
三、不帶www的域名加301跳轉
如果不帶www的域名要加301跳轉,那也是和綁定域名一樣,先綁定不帶www的域名,只是不用寫網(wǎng)站目錄,而是進行301跳轉,如:
server { listen 80; server_name jb51.net; rewrite ^/(.*) http://www.dbjr.com.cn/$1 permanent; }
四、添加404網(wǎng)頁
添加404網(wǎng)頁,都可又直接在里面添加,如:
server { listen 80; server_name www.dbjr.com.cn; #綁定域名 index index.htm index.html index.php; #默認文件 root /home/www/jb51.net; #網(wǎng)站根目錄 include location.conf; #調用其他規(guī)則,也可去除 error_page 404 /404.html; }
學會上面四種規(guī)則方法,基本就可以自己獨立解決nginx 多域名配置問題了
相關文章
nginx proxy_buffer_size解決后端服務傳輸數(shù)據(jù)過多,header過大問題
這篇文章主要介紹了nginx proxy_buffer_size解決后端服務傳輸數(shù)據(jù)過多,header過大問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12nginx從安裝到配置詳細說明(安裝,安全配置,防盜鏈,動靜分離,配置 HTTPS,性能優(yōu)化)
這篇文章主要介紹了nginx從安裝到配置詳細說明(安裝,安全配置,防盜鏈,動靜分離,配置 HTTPS,性能優(yōu)化,緩存,url重寫),需要的朋友可以參考下2022-01-01Nginx實現(xiàn)高可用集群構建(Keepalived+Haproxy+Nginx)
為什么需要搭建Nginx集群?為了防止Nginx單點故障造成服務器癱瘓,本文介紹了Nginx實現(xiàn)高可用集群構建(Keepalived+Haproxy+Nginx),感興趣的可以了解一下2021-05-05