1.怎麼將Tomcat下的Java專案新增到Apache中讓外部的網址可以找到它。
2.怎麼修改XAMPP的預設首頁服務。
XAMPP是一套軟體,可以幫助下載的人快速安裝好Apache+MySQL+Tomcat。同時MySQL還附帶phpMyAdmin這套視覺化的管理工具。
問題是XAMPP是預設給PHP設計族群使用的工具,裏頭的Tomcat也是「預設」執行PHP,這並不是什麼「問題」,但這導致在網路上關於它的資訊或討論就很少是針對Java族群。
以單純的在Apache上新增一個PHP Service來說,只要把整個PHP專案資料夾複製到XAMPP下的「htdocs」資料夾即可。(注意!為什麼Apache會自動去htdocs下找網站首頁?這也是個「學問」。)
雖然Java專案一樣只要把專案複製到Tomcat的webapps下,重新啟動的時候Tomcat就會自動執行這個專案,但用瀏覽器時只有在「http://localhost/」下才可以找到這個專案,用IP或外部網址其實找不到。
因為在Apache和Tomcat之間是用一種叫做AJP的方式溝通......完全不知道這是什麼,只知道AJP有兩大系列(是不是只有這兩種?我不肯定!):mod_jk和mod_proxy_ajp。
一個標準的Apache其實並不包含這些模組,必須要自己去下載模組後安裝(其實只是把檔案複製貼上)到Apache中,並且寫「一卡車」的AJP設定檔,並且在設定檔中寫明了「Apache要怎麼去Tomcat中找到專案」。──XAMPP的好處就是幫使用者省去了這個步驟。(否則安裝Apache並不難。)
接著我們只需要搞懂XAMPP使用的是哪種版本的AJP協定。最標準的作法是到Apache下的module資料夾去找,這兩個模組其實就是檔案名稱,有模組的檔案名稱就表示這個Apache使用了哪一個模組。
(講精準一點來說,我這是預設安裝並架設Apache+Tomcat環境的老兄不會很多事的下載兩套版本的檔案,如果他真的這樣做了,那就只能從設定檔去看他幫Apache選擇使用了哪套,如果他又很多事的兩套都寫了AJP設定檔,那就只能去找看看Apache內部的設定檔「httpd.conf」中指示了會載入哪一套協定。)
XAMPP使用的是mod_proxy_ajp。(如果要尋找額外的資源,可以用這個方式更精準地找到資訊。)
「Localhost」在Server上(疑似)為「127.0.0.1」這個IP的默認。所以要將Tomcat中的Java專案新增到Apache中,必須要用「http://127.0.0.1/[專案名稱]」這樣的方式寫入設定檔。
(XAMPP中)設定檔名稱為「httpd_ajp.conf」。
設定檔的寫法是...
「ProxyPass "/[專案名稱]" "http://127.0.0.1/[專案名稱]"」和「ProxyPassReverse "/[專案名稱]" "http://127.0.0.1/[專案名稱]"」。──1.新增完建議重開Apache。2.「ProxyPassReverse」似乎可以不用加。
完成以上步驟只是讓Apache可以搜尋到Tomcat中的Java專案。
接著到htdoc中找到「index.php」,把裡面的「header('Location: '.$uri.'/dashboard/');」這段程式碼的「dashboard」改成專案名稱,接著應該就可以順利在首頁找到預期看到的專案了。
2.怎麼修改XAMPP的預設首頁服務。
XAMPP是一套軟體,可以幫助下載的人快速安裝好Apache+MySQL+Tomcat。同時MySQL還附帶phpMyAdmin這套視覺化的管理工具。
問題是XAMPP是預設給PHP設計族群使用的工具,裏頭的Tomcat也是「預設」執行PHP,這並不是什麼「問題」,但這導致在網路上關於它的資訊或討論就很少是針對Java族群。
以單純的在Apache上新增一個PHP Service來說,只要把整個PHP專案資料夾複製到XAMPP下的「htdocs」資料夾即可。(注意!為什麼Apache會自動去htdocs下找網站首頁?這也是個「學問」。)
雖然Java專案一樣只要把專案複製到Tomcat的webapps下,重新啟動的時候Tomcat就會自動執行這個專案,但用瀏覽器時只有在「http://localhost/」下才可以找到這個專案,用IP或外部網址其實找不到。
因為在Apache和Tomcat之間是用一種叫做AJP的方式溝通......完全不知道這是什麼,只知道AJP有兩大系列(是不是只有這兩種?我不肯定!):mod_jk和mod_proxy_ajp。
一個標準的Apache其實並不包含這些模組,必須要自己去下載模組後安裝(其實只是把檔案複製貼上)到Apache中,並且寫「一卡車」的AJP設定檔,並且在設定檔中寫明了「Apache要怎麼去Tomcat中找到專案」。──XAMPP的好處就是幫使用者省去了這個步驟。(否則安裝Apache並不難。)
接著我們只需要搞懂XAMPP使用的是哪種版本的AJP協定。最標準的作法是到Apache下的module資料夾去找,這兩個模組其實就是檔案名稱,有模組的檔案名稱就表示這個Apache使用了哪一個模組。
(講精準一點來說,我這是預設安裝並架設Apache+Tomcat環境的老兄不會很多事的下載兩套版本的檔案,如果他真的這樣做了,那就只能從設定檔去看他幫Apache選擇使用了哪套,如果他又很多事的兩套都寫了AJP設定檔,那就只能去找看看Apache內部的設定檔「httpd.conf」中指示了會載入哪一套協定。)
XAMPP使用的是mod_proxy_ajp。(如果要尋找額外的資源,可以用這個方式更精準地找到資訊。)
「Localhost」在Server上(疑似)為「127.0.0.1」這個IP的默認。所以要將Tomcat中的Java專案新增到Apache中,必須要用「http://127.0.0.1/[專案名稱]」這樣的方式寫入設定檔。
(XAMPP中)設定檔名稱為「httpd_ajp.conf」。
設定檔的寫法是...
「ProxyPass "/[專案名稱]" "http://127.0.0.1/[專案名稱]"」和「ProxyPassReverse "/[專案名稱]" "http://127.0.0.1/[專案名稱]"」。──1.新增完建議重開Apache。2.「ProxyPassReverse」似乎可以不用加。
完成以上步驟只是讓Apache可以搜尋到Tomcat中的Java專案。
接著到htdoc中找到「index.php」,把裡面的「header('Location: '.$uri.'/dashboard/');」這段程式碼的「dashboard」改成專案名稱,接著應該就可以順利在首頁找到預期看到的專案了。
沒有留言:
張貼留言