Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解
個(gè)性二級(jí)域名
配置下個(gè)性化二級(jí)域名.
效果:
訪問的URL http://custom.jb51.net
實(shí)際的URL http://www.dhdzp.com/auth/custom
我們的做法就是通過服務(wù)器配置,將訪問的url轉(zhuǎn)換為實(shí)際的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.dhdzp.com/;
}
}
其中的if,是用于過濾某些特殊的二級(jí)域名,比如www,然后獲取二級(jí)域名的變量值。
rewrite轉(zhuǎn)化為對(duì)應(yīng)的目錄
rewrite ^/$ /auth/$subdomain last;
再加上nginx的反向代理功能:
proxy_pass http://www.dhdzp.com/;
就可以實(shí)現(xiàn)了。
這樣配置之后,除了if中過濾的二級(jí)域名,其他的二級(jí)域名{sudomain}.jb51.net,對(duì)于服務(wù)器,其真實(shí)的路徑都是www.dhdzp.com/auth/{sudomain}。
如果url有多種路徑規(guī)則,則需要一一進(jìn)行配置。
多域名配置
nginx綁定多個(gè)域名可又把多個(gè)域名規(guī)則寫一個(gè)配置文件里,也可又分別建立多個(gè)域名配置文件,我一般為了管理方便,每個(gè)域名建一個(gè)文件,有些同類域名也可又寫在一個(gè)總的配置文件里。
一、每個(gè)域名一個(gè)文件的寫法
首先打開nginx域名配置文件存放目錄:/usr/local/nginx/conf/servers ,如要綁定域名www.dhdzp.com 則在此目錄建一個(gè)文件:www.your-domain.conf然后在此文件中寫規(guī)則,如:server
{
listen
80;
server_name
www.dhdzp.com;
#綁定域名
index
index.htm index.html index.php; #默認(rèn)文件
root
/home/www/jb51.net; #網(wǎng)站根目錄
include
location.conf; #調(diào)用其他規(guī)則,也可去除
}
然后重起nginx服務(wù)器,域名就綁定成功了nginx服務(wù)器重起命令:/etc/init.d/nginx restart
二、一個(gè)文件多個(gè)域名的寫法
一個(gè)文件添加多個(gè)域名的規(guī)則也是一樣,只要把上面單個(gè)域名重復(fù)寫下來就ok了,如:server
{
listen
80;
server_name
bbs.jb51.net;
#綁定域名
index
index.htm index.html index.php; #默認(rèn)文件
root
/home/www/bbs.jb51.net;
#bbs目錄
include
location.conf; #調(diào)用其他規(guī)則,也可去除
}server
{
listen
80;
server_name
www.dhdzp.com;
#綁定域名
index
index.htm index.html index.php; #默認(rèn)文件
root
/home/www/www.dhdzp.com;
#網(wǎng)站根目錄
include
location.conf; #調(diào)用其他規(guī)則,也可去除
}
三、不帶www的域名加301跳轉(zhuǎn)
如果不帶www的域名要加301跳轉(zhuǎn),那也是和綁定域名一樣,先綁定不帶www的域名,只是不用寫網(wǎng)站目錄,而是進(jìn)行301跳轉(zhuǎn),如:
server
{
listen
80;
server_name
jb51.net;
rewrite
^/(.*) http://www.dhdzp.com/$1 permanent;
}
四、添加404網(wǎng)頁
添加404網(wǎng)頁,都可又直接在里面添加,如:
server
{
listen
80;
server_name
www.dhdzp.com; #綁定域名
index
index.htm index.html index.php; #默認(rèn)文件
root
/home/www/jb51.net; #網(wǎng)站根目錄
include
location.conf; #調(diào)用其他規(guī)則,也可去除
error_page
404
/404.html;
}
學(xué)會(huì)上面四種規(guī)則方法,基本就可以自己獨(dú)立解決nginx 多域名配置問題了
相關(guān)文章
Nginx配置location匹配順序詳細(xì)總結(jié)
這篇文章主要介紹了Nginx配置location匹配順序詳解,Nginx是十分輕量級(jí)的HTTP服務(wù)器,Nginx憑借其穩(wěn)定性、低資源消耗、簡(jiǎn)單配置和豐富的功能,從十多年前名不見經(jīng)傳的Web服務(wù)器軟件,發(fā)展到如今能夠跟Apache匹敵的地位,需要的朋友可以參考下2023-08-08
nginx基于IP的多虛擬主機(jī)實(shí)現(xiàn)
如果同一臺(tái)服務(wù)器有多個(gè)IP,可以使用基于IP的虛機(jī)主機(jī)配置,將不同的服務(wù)綁定在不同的IP上,本文主要介紹了nginx基于IP的多虛擬主機(jī)實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
Nginx?CertBot配置HTTPS泛域名證書Debian及常見問題
這篇文章主要介紹了Nginx?CertBot配置HTTPS泛域名證書Debian及常見問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
詳解NGINX訪問https跳轉(zhuǎn)到http的解決方法
這篇文章主要介紹了詳解NGINX訪問https跳轉(zhuǎn)到http的解決方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06
nginx try_files指令判斷文件是否存在實(shí)例
這篇文章主要介紹了nginx try_files指令判斷文件是否存在實(shí)例,本文用一個(gè)實(shí)際需求講解try_files指令的使用,并給出配置示例,需要的朋友可以參考下2015-02-02

