1.區別html
Apache是一個Web服務器,只支持靜態網頁,也能夠用做文件的存儲和訪問,可是動態網頁就沒法處理了。java
Tomcat能夠做爲獨立的web服務器來運行,也能夠是應用(java)服務器(用來跑Java應用),是一個Servlet容器。web
因爲Apache解釋靜態頁面要比tomcat快速並且穩定,網站可使用一個Apache做爲Web服務器,爲網站的靜態頁面請求提供服務;同時使用Tomcat服務器做爲一個Servlet/JSP插件,顯示網站的動態頁面。apache
2.怎麼整合瀏覽器
整合:全部訪問都先通過Apache,Apache通過篩選,把符合必定規則的請求轉發給Tomcat進行處理。tomcat
Apache中有一個模塊叫module_jk,專門負責作轉發的工做,該模塊以動態庫的形式存在,須要的時候才進行加載。Tomcat在Apache端叫作worker,module_jk通常經過8009的TCP端口跟Tomcat使用AJP協議進行通訊。服務器
3.經驗【劃重點】app
(1)若是你只是單純地寫一個後臺服務,而後想開一個圖片託管(存儲)或相似的文件存儲和訪問,那麼只用tomcat就能夠了,不須要費勁進行兩個服務器一塊兒用。只須要把要管理的文件(圖片)放到tomcat的webapps目錄下,訪問路徑就能獲取到對應的文件(圖片)。webapp
(2)若是你想apache使用80和443(默認是8443的),tomcat使用8080和443,那就不用試了,443會衝突起不來。(需求來源:不想要帶端口訪問,而是直接用域名,還都得是https)jvm
(3)若是碰到安裝過程或者啓動過程出錯的,那麼思考一下緣由,複製一下報錯信息,搜索一下解決方法。
4.整合步驟
(1)安裝Java環境,官網下載JDK並安裝
(2)安裝apache服務器(httpd安裝)。
官網下載連接:http://httpd.apache.org/download.cgi
安裝教程:http://www.javashuo.com/article/p-uuupxqdm-mm.html
在bin目錄下執行命令: ./httpd -k start
訪問80端口查看安裝是否成功。
(3)安裝tomcat服務器。
官網下載連接:http://tomcat.apache.org/
解壓:tar -zxvf XXX.tar.gz
名字太長了重命名:mv 原名字 新名字(好比tomcat7)
挪位置:mv tomcat7 路徑(好比/usr/local)
XXXX 參見教程: https://blog.csdn.net/jenyzhang/article/details/70159769
啓動tomcat : sudo ./bin/startup.sh
【怎麼找Java安裝路徑】:update-alternatives --config java (whereis Java 有的時候沒用)
【看tomcat的module】:到安裝目錄下的modules裏面查看有什麼module 好比這裏是:/usr/local/tomcat7/modules
【日誌】:在安裝目錄的logs裏面,好比這裏是: /usr/local/tomcat7/logs 啓動日誌:catalina.log
(4)整合
源教程來自,可直接訪問:https://www.jianshu.com/p/2547f295b6a2
【注意】:下面涉及到的路徑,請根據本身的實際安裝路徑來。
【查看端口開啓情況】:使用命令 lsof -i:8080
1、安裝mod_jk.so並配置
1.安裝mod_jk
# apt-get install libapache2-mod-jk
安裝完後,在/etc/apache2/mods-enabled下會多出一個jk.load文件,重啓apache2後,apache自動裝載這個文件以加載mod_jk
2.找到worker配置文件
# vi jk.conf
找到JkWorkersFile:
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
說明了jk_worker的配置文件爲/etc/libapache2-mod-jk/workers.properties,要將tomcat做爲一個worker就得修改這個文件。
3.在Apache端設置worker
# vi /etc/libapache2-mod-jk/workers.properties
(1)修改worker名稱爲mytomcat
a.找到worker.list:
worker.list=ajp13_worker
b.將文件中全部ajp13_worker替換成mytomcat
(2)設置mytomcat運行環境
tomcat和jdk的安裝目錄,以便worker能正常運行
workers.tomcat_home=/usr/share/apache-tomcat-8.5.35
workers.java_home=/usr/share/jdk1.8.0_131
(3)設置轉發規則(若是沒有的能夠新建一個)
vi /etc/apache2/sites-available/000-default.conf
在VirtualHost標籤末尾添加:JkMount /examples/* mytomcat
<VirtualHost *:80>
...
JkMount /examples/* mytomcat
</VirtualHost>
意思是凡是/examples/開頭的連接請求都交給mytomcat處理,如:http://192.168.1.155/examples/index.html
examples的路徑位於tomcat目錄下:/usr/share/apache-tomcat-8.5.35/webapps/examples
/**到此Apache端的配置完成,須要修改的文件:
jk.load (mod_jk加載設置,可能要改)
jk.conf (mod_jk設置,可能要改)
workers.properties (worker設置,必需要改)
sites-available/000-default.conf (轉發規則設置,必需要改)**/
2、在tomcat端設置worker
#vi /usr/share/apache-tomcat-8.5.35/conf/server.xml
1.修改worker名稱
修改Engine標籤爲:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="mytomcat">
這樣Apache和tomcat就能經過8009端口,使用AJP1.3協議進行通訊了
2.檢查監聽端口是不是8009,協議是否跟Apache端設置同樣(AJP1.3(apache端爲ajp13))
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3、功能驗證
1.重啓apache
到httpd目錄下重啓: ./httpd -k restart
2.重啓tomcat
到bin目錄下執行shutdown.sh
到bin目錄下執行startup.sh
3.瀏覽器請求