反向代理nginx二級域名配置及綁定方法

Ngin

為阿拉善盟等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及阿拉善盟網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、阿拉善盟網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!x是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù)。Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點開發(fā)的,第一個公開版本0.1.0發(fā)布于2004年10月4日。Nginx是一款輕量級的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行。其特點是占有內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好。下面就由創(chuàng)新互聯(lián)建站小編和大家講一講nginx 二級域名 配置。

一、應(yīng)用場景

我們經(jīng)常會遇到在同一臺服務(wù)器建立多個Web站點的情況,普遍的做法是為不同的站點配置不同的端口,這樣就可以用IP:Port的形式訪問。

但是用IP訪問畢竟不方便,不生動,不容易記憶。那么,我們可以給每個站點綁定不同的域名。(在這里我們僅談公網(wǎng)情況)即使我們只有一個域名,我們可以設(shè)置多個二級域名,使用Nginx很容易實現(xiàn)。

二、基本要求

通常,網(wǎng)上教程會直接貼一段配置文件的代碼,告訴我們?nèi)绱诉@般就Ok了。但我發(fā)現(xiàn)很多新手看著教程配置,并不能像博主那樣就Success了,所以接下來我們談一下基本原理。

首先,要有一個自己能管理的域名,比如我有一個 postmsg.cn 的域名,就可以生出多個子域名,二世三世千萬世……

其次,有一臺能訪問的公網(wǎng)服務(wù)器,可以在這臺服務(wù)器上建立自己的Web站點,一個兩個三四個,對應(yīng)端口不一。

然后,就是域名和站點的綁定,一個蘿卜一個坑,當然也可以多個蘿卜一個坑……
三、一般配置

需要配置的地方有兩個,我們先談首要先決條件,也是有些新手容易忽略的地方。

1、域名配置

把域名的A記錄解析指向我們的公網(wǎng)服務(wù)器,這一點一般人都能想到。解析的時候只能加IP,是不能帶端口號的,即只能使用默認的80端口。(不討論域名轉(zhuǎn)發(fā))

若想實現(xiàn)子域名綁定,在域名解析的時候必須配置合理。否則只靠Nginx是不行的。

例如我要把子域名 p.postmsg.cn 綁定到 服務(wù)器的 8001端口,我首先要保證訪問 p.postmsg.cn 的請求能到達該服務(wù)器,然后Nginx才能處理。

此時,要么在域名A記錄解析里加一條 p 的主機記錄,要么主機記錄里有通配符 * 的配置(*.postmsg.cn的訪問全部解析到對應(yīng)的服務(wù)器,慎用),只設(shè)置@和www肯定是不行的。

2、主機配置

域名的請求到達主機之后,一切才可以交給Nginx來處理。

修改Nginx配置的時候,可以直接在默認配置文件(例如/etc/nginx/nginx.conf,如以下代碼片段所示)里修改,也可以在某個目錄下新建獨立的配置文件,然后 include 這個目錄下的配置文件(如第17行所示)。

http { log_format main "$remote_addr - $remote_user [$time_local] "$request" " "$status $body_bytes_sent "$http_referer" " ""$http_user_agent" "$http_x_forwarded_for""; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/conf.d/*.conf;}

這是Nginx讀取配置文件的格式,我們的配置通常寫在 http { } 塊里,加上 server 塊,在server塊里配置。剛才也說了,server塊可以寫在一個單獨文件里,在nginx.conf里包含該文件,同時,支持嵌套 include。

接下來看一下 server 塊的寫法:

server { listen 80; server_name p.postmsg.cn; location / { proxy_pass http://127.0.0.1:8008; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } #access_log logs/p_access.log;}

這里的 server_name 對應(yīng)配置的域名,proxy_pass對應(yīng)代理的真實地址。

3、注意事項一

一定要把 80 端口留給負責代理的Nginx。我們可以在一個服務(wù)器上同時使用Apache httpd,Nginx,Tomcat,但是域名解析只能使用默認的80端口,負責代理的同志要拿到第一手請求。

4、注意事項二

即時生效性。有的朋友感覺自己配置的都對,也重啟服務(wù)了,可就是看不到想要的結(jié)果。這里有三個方面的可能因素。

域名解析生效時間。阿里云的域名最低生效時間是10分鐘,有時候可能大于這個值。

本地DNS緩存。可在CMD使用 ipconfig /flushdns 命令刷新本地DNS緩存。

瀏覽器緩存。這個可能才是最不容易發(fā)現(xiàn)的,尤其是谷歌瀏覽器。F12之后,右鍵左上角地址欄邊上的刷新按鈕,點擊清空緩存并硬性重新加載。

服務(wù)未重啟。service nginx restart 有時候可能沒有先 stop, 再 start 好用。

四、總結(jié)

本文閑扯了利用Nginx實現(xiàn)多域名代理的相關(guān)事宜。以上所述是小編給大家介紹的nginx反向代理二級域名綁定方法及注意事項,希望對大家有所幫助,小伙伴們要想獲得更多nginx 二級域名 配置的內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)!

網(wǎng)頁題目:反向代理nginx二級域名配置及綁定方法
文章源于:http://muchs.cn/article4/chgioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號響應(yīng)式網(wǎng)站、手機網(wǎng)站建設(shè)、虛擬主機、網(wǎng)站維護、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司