關於如何從0開始配置伺服器的域名

殷老實發表於2016-10-20

最近搗鼓了一個伺服器,弄了一個小網站, 幫助家裡的小生意。大家可以幫我測試測試。剛上線還沒測試。。huazhemarble.com


配置伺服器的時候發現還挺麻煩,最後經過網上各方大神的指點終於算是能用了。


以下的實驗中,假設已經有一下幾個條件.

1. 一個Ubuntu 伺服器, 並且安裝好Tomcat (應用伺服器) 監聽 8080 埠和 Apache (網路伺服器)監聽 80埠

2. 一個域名比如: www.hello.com

3. 一個完成的專案並打包成 test.war, 並將war檔案上傳到 伺服器 /var/lib/tomcat7/webapps 下


首先登入DNS 的管理網站: 我使用的是Godaddy的域名,登入之後修改該域名的 A 紀錄, 使用指向你的伺服器的ip地址。

    那麼現在我們能做以下幾件事: 

                                          1. 使用 www.hello.com 訪問你的伺服器,但是這時開啟的將是你的 apache 歡迎頁面

                                          2. 使用 www.hello.com:8080 訪問你的伺服器, 但是這時開啟的將是你的 tomcat 歡迎頁面

                                          3.  使用 www.hello.com:8080/test/home.html 來訪問你的專案中的 home.html


但是我們想要的是 通過www.hello.com/home.html 訪問, 這該怎麼做呢? 


    1. 首先配置 apache 伺服器的配置檔案, /etc/httpd/conf.d/welcome.conf   (這裡的路徑因伺服器而已啊, 大家可以看看自己apache 歡迎頁面上的相對應的配置檔案是啥)

            在該配置檔案中的<VirtualHost *:80> 下新增以下程式碼,  這是將apache作為 tomcat的代理

 ServerName hello.com
 ServerAlias *.hello.com
 ProxyRequests off
 ProxyPass / http://localhost:8080/
 ProxyPassReverse / http://localhost:8080/
             順便說一下啥是正向代理和反向代理. 

                   正向代理: 針對客戶端而言, 代理伺服器代理客戶端, 轉發請求, 並將獲得的內容返回給客戶端。 - 可以理解為代理端代理的是客戶端

                   反向代理: 針對客戶端而言, 代理伺服器就像是原始伺服器, 代理終端伺服器返回結果。- 可以理解為代理端代理的是服務端


    2. 配置 tomcat server.xml 配置檔案, /etc/tomcat7/server.xml 

           在該配置檔案中將Host標籤的標籤頭改一下,並且在標籤內部新增一行程式碼

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="test" debug="0" reloadable="true" />



    3. 測試! 並且注意,對你的所有更改都做記錄,以防出錯!




什麼是A記錄: A (Address) 記錄是用來指定主機名(或域名)對應的IP地址記錄。使用者可以將該域名下的網站伺服器指向到自己的伺服器上。


Reference: 設定代理https://rvdb.wordpress.com/2012/04/26/reverse-proxying-tomcat-webapps-behind-apache/


有問題歡迎指出


相關文章