域名解析及nginx使用
目的:使用windows+nginx+tomcat實現域名訪問伺服器
騰訊雲申請的域名:weixiangming.com
由於暫時沒有公網ip地址,也懶得做外網對映。所以伺服器用區域網ip地址,使用區域網ip訪問。
windows伺服器:區域網內IP地址:192.168.1.197
一.域名解析
主機記錄:www
記錄型別:A
線路型別:預設
記錄值:192.168.1.197
如圖:
此時可以使用域名:埠號訪問伺服器,如www.weixiangming.com:8080:
二.使用nginx代理伺服器做轉發
1)在伺服器上安裝nginx。
使用cd命令,進入到nginx目錄,執行start nginx
此時黑視窗一閃而過
開啟工作管理員,檢視是否有nginx程序,如下:
瀏覽器輸入localhost,出現如下說明nginx啟動成功
那麼這些實際上是在哪裡配置的。這就涉及到nginx的一個重要配置檔案nginx.conf了。
2)我們可以看到nginx資料夾內有一個conf資料夾,其中有好幾個檔案,其他先不管,我們開啟nginx.conf,可以看到一段:
這段程式碼在server裡面,相當於一個代理伺服器,當然可以配置多個。
下面我們仔細來分析一下:
listen:表示當前的代理伺服器監聽的埠,預設的是監聽80埠。注意,如果我們配置了多個server,這個listen要配置不一樣,不然就不能確定轉到哪裡去了。
server_name:表示監聽到之後需要轉到哪裡去,這時我們直接轉到本地,這時是直接到nginx資料夾內。
location:表示匹配的路徑,這時配置了/表示所有請求都被匹配到這裡
root:裡面配置了root這時表示當匹配這個請求的路徑時,將會在這個資料夾內尋找相應的檔案,這裡對我們之後的靜態檔案伺服很有用。
index:當沒有指定主頁時,預設會選擇這個指定的檔案,它可以有多個,並按順序來載入,如果第一個不存在,則找第二個,依此類推。
下面的error_page是代表錯誤的頁面,這裡我們暫時不用,先不管它。
那我們知道了具體的配置了,怎麼讓它訪問localhost時轉到tomcat時。實際上就修改兩個地方:
server_name localhost:8080;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://localhost:8080;
root html;
index index.html index.htm;
}
我們就修改了上面兩個地方,我的tomcat在8080埠,可以根據自己的需要修改。這裡有一個新元素proxy_pass,它表示代理路徑,相當於轉發,而不像之前說的root必須指定一個資料夾。
此時我們修改了檔案,是不是就意思著必須先關了nginx再重新啟動了,其實不必,nginx可以重新載入檔案的。
3)我們直接執行:
nginx -s reload
如果不想直接載入,而只是想看看自己的配置檔案有沒有問題,可以直接輸入:
nginx -t
這可以檢查配置檔案中是否有錯。 下面我們所有的修改都假設我們修改完成後運行了nginx -s reload進行重新載入配置檔案,請注意。
一切沒問題了,然後我們再重新開啟www.weixiangming.com,我們看到下面的頁面: