日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php框架 > 框架設(shè)計 > Nginx多Server反向代理配置

Nginx多Server反向代理配置

來源:程序員人生   發(fā)布時間:2015-01-06 08:24:18 閱讀次數(shù):5727次

Nginx強(qiáng)大的正則表達(dá)式支持,可使server_name的配置變得很靈活,如果你要做多用戶博客,那末每一個用戶具有自己的2級域名也就很容易實現(xiàn)了。

下面我就來講說server_name的使用吧:

server_name的匹配順序

Nginx中的server_name指令主要用于配置基于名稱虛擬主機(jī),server_name指令在接到要求后的匹配順序分別為:

1、準(zhǔn)確的server_name匹配,例如:

server { listen 80; server_name ssdr.info www.ssdr.info; ... }

2、以*通配符開始的字符串:

server { listen 80; server_name *.ssdr.info; ... }

3、以*通配符結(jié)束的字符串:

server { listen 80; server_name www.*; ... }

4、匹配正則表達(dá)式:

server { listen 80; server_name ~^(?.+).howtocn.org$; ... }

Nginx將依照1,2,3,4的順序?qū)erver name進(jìn)行匹配,只有有1項匹配以后就會停止搜索,所以我們在使用這個指令的時候1定要分清楚它的匹配順序(類似于location指令)。

server_name指令1項很實用的功能便是可以在使用正則表達(dá)式的捕獲功能,這樣可以盡可能精簡配置文件,畢竟太長的配置文件平常保護(hù)也很不方便。下面是2個具體的利用:

在1個server塊中配置多個站點:

server { listen 80; server_name ~^(www.)?(.+)$; index index.php index.html; root /data/wwwsite/$2; }

站點的主目錄應(yīng)當(dāng)類似于這樣的結(jié)構(gòu):

/data/wwwsite/ssdr.info /data/wwwsite/linuxtone.org /data/wwwsite/baidu.com /data/wwwsite/google.com

這樣就能夠只使用1個server塊來完成多個站點的配置。

在1個server塊中為1個站點配置多個2級域名 。

實際網(wǎng)站目錄結(jié)構(gòu)中我們通常會為站點的2級域名獨立創(chuàng)建1個目錄,一樣我們可使用正則的捕獲來實現(xiàn)在1個server塊中配置多個2級域名:

server { listen 80; server_name ~^(.+)?.howtocn.org$; index index.html; if ($host = ssdr.info){ rewrite ^ http://www.ssdr.info permanent; } root /data/wwwsite/ssdr.info/$1/; }

站點的目錄結(jié)構(gòu)應(yīng)當(dāng)以下:

/data/wwwsite/ssdr.info/www/ /data/wwwsite/ssdr.info/nginx/

這樣訪問www.ssdr.info時root目錄為/data/wwwsite/ssdr.info/www/,nginx.ssdr.info時為/data/wwwsite/ssdr.info/nginx/,以此類推。

后面if語句的作用是將ssdr.info的方位重定向到www.ssdr.info,這樣既解決了網(wǎng)站的主目錄訪問,又可以增加seo中對www.ssdr.info的域名權(quán)重。

多個正則表達(dá)式

如果你在server_name中用了正則,而下面的location字段又使用了正則匹配,這樣將沒法使用$1,$2這樣的援用,解決方法是通過set指令將其賦值給1個命名的變量:

server { listen 80; server_name ~^(.+)?.howtocn.org$; set $www_root $1; root /data/wwwsite/ssdr.info/$www_root/; location ~ .*.php?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/wwwsite/ssdr.info/$fastcgi_script_name; include fastcgi_params; } }

Nginx不同域名反向代理到另外一臺服務(wù)器 proxy_pass和$host

想讓1個VPS專門做另外一個VPS的前端,后端VPS每添加1個域名,前端VPS就要同時添加1個域名來反向代理,作為前真?zhèn)€VPS如果1個1個的添加后端VPS的域名,那末這個事情特別麻煩,能不能讓其自動反向代理后端VPS呢,用到proxy_pass和$host就能夠輕松實現(xiàn)。

以下例子為了省事,以lnmp為安裝環(huán)境進(jìn)行設(shè)置

修改前端VPS的nginx.conf文件,修改成以下內(nèi)容:

server { listen 80; server_name $host; location / { proxy_pass http://www.31.gd/; proxy_set_header Host $host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 60; proxy_read_timeout 600; proxy_send_timeout 600; }

下面的1并修改吧。

location /.(php|php5)?$ { fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fcgi.conf; } location /status { stub_status on; access_log off; } location /.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location /.(js|css)?$ { expires 12h; }

這樣就能夠?qū)崿F(xiàn)了前端VPS可以反向代理任意域名到后端VPS,只要將域名解析到前端VPS,后端VPS進(jìn)行域名綁定,那末就能夠直接訪問到了

1臺nginx帶多個域名多個tomcat情況的配置

多個域名,其中2個域名需支持泛域名解析:

1、www.abc.com

2、www.bcd.com

3、*.efg.com

4、*.hij.com

其中1,2,3為1臺tomcat,4為獨立tomcat。前端1臺nginx,通過配置多個虛擬主機(jī)來實現(xiàn)該部署。

進(jìn)入/etc/nginx/conf.d目錄,所有虛擬主機(jī)的配置文件都在該目錄下寄存,配置。

配置支持泛域名

# # A virtual host using mix of IP-, name-, and port-based configuration # server { listen       81; server_name  *.efg.com; location / { proxy_pass http://localhost:8080; proxy_set_header   Host    $host; proxy_set_header   X-Real-IP   $remote_addr; proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; } } # # A virtual host using mix of IP-, name-, and port-based configuration # server { listen       81; server_name  *.hij.com; location / { proxy_pass http://localhost:8081; proxy_set_header   Host    $host; proxy_set_header   X-Real-IP   $remote_addr; proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; } }

泛域名解析關(guān)鍵為紅色部份,如果沒有紅色部份,后端8080及8081口對應(yīng)的tomcat虛擬主機(jī)將沒法取得域名信息,致使后端tomcat沒法獲得到對應(yīng)的域名信息。

后端TOMCAT支持泛域名解析時,需要設(shè)置 host name 為 localhost 以支持泛域名指向。

Nginx 多域名配置

nginx綁定多個域名可又把多個域名規(guī)則寫1個配置文件里,也可又分別建立多個域名配置文件,我1般為了管理方便,每一個域名建1個文件,有些同類域名也可又寫在1個總的配置文件里。

1、每一個域名1個文件的寫法

首先打開 nginx域名配置文件寄存目錄:/usr/local/nginx/conf/servers ,如要綁定域名www.web126.com 則在此目錄建1個文件:www.web126.com.conf 然后在此文件中寫規(guī)則,如:

server { listen       80; server_name www.web126.com;             #綁定域名 index index.htm index.html index.php;      #默許文件 root /home/www/web126.com;               #網(wǎng)站根目錄 include location.conf;                            #調(diào)用其他規(guī)則,也可去除 }

然后重起nginx服務(wù)器,域名就綁定成功了。

Nginx服務(wù)器重起命令:/etc/init.d/nginx restart。

2、1個文件多個域名的寫法

1個文件添加多個域名的規(guī)則也是1樣,只要把上面單個域名重復(fù)寫下來就ok了,如:

server { listen       80; server_name www.web126.com;             #綁定域名 index index.htm index.html index.php;      #默許文件 root /home/www/web126.com;               #網(wǎng)站根目錄 include location.conf;                            #調(diào)用其他規(guī)則,也可去除 } server { listen       80; server_name msn.web126.com;             #綁定域名 index index.htm index.html index.php;      #默許文件 root /home/www/msn.web126.com;        #網(wǎng)站根目錄 include location.conf;                            #調(diào)用其他規(guī)則,也可去除 }

3、不帶www的域名加301跳轉(zhuǎn)

如果不帶www的域名要加301跳轉(zhuǎn),那也是和綁定域名1樣,先綁定不帶www的域名,只是不用寫網(wǎng)站目錄,而是進(jìn)行301跳轉(zhuǎn),如:

server { listen 80; server_name web126.com; rewrite ^/(.*) http://www.web126.com/$1 permanent; }

4、添加404網(wǎng)頁

添加404網(wǎng)頁,都可又直接在里面添加,如:

server { listen       80; server_name www.web126.com;             #綁定域名 index index.htm index.html index.php;      #默許文件 root /home/www/web126.com;               #網(wǎng)站根目錄 include location.conf;                            #調(diào)用其他規(guī)則,也可去除 error_page 404  /404.html; }

最后還有1個方法需要注意,可能有需要制止IP直接訪問80端口或制止非本站的域名綁定我們的IP,這樣的話應(yīng)當(dāng)

以下處理,放到最前1個server上面便可:

server{ listen   80 default; server_name      _; return 403; }

學(xué)會上面4種規(guī)則方法,基本就能夠自己獨立解決nginx 多域名配置問題了。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 成人精品免费视频 | 精品久久久久久久久久久久久久久 | 日韩一区二区三区在线 | 国产黄色毛片 | 国产欧美在线观看 | 成人激情视频 | 麻豆国产一区 | 黄在线播放 | 能在线观看的黄色网址 | 国产精品高清一区二区 | 国产精品去看片 | 欧美日韩激情一区 | 黄色毛片免费 | 欧美韩日一区 | 日本精品中文字幕 | 国产亚洲精品久久久久久 | 精品久久一区 | 一区二区三区在线视频免费观看 | 欧美另类专区 | 国产区第一页 | 欧美日韩一区二区精品 | 91视频精品 | 国产成年人网站 | 日韩欧美二区 | 日韩看片 | 欧美一区二区三区视频 | 亚洲女人天堂成人av在线 | 久久电影国产免费久久电影 | 久久久精品久久 | 一级黄色网 | 亚洲一区二区国产 | 成人精品 | 麻豆一级| 超碰夜夜操 | 黄色二区 | 三级久久 | 天堂在线资源8 | 五月婷婷综合色 | www.久久99| 色婷婷一区二区三区四区成人网 | 亚洲iv一区二区三区 |