一, tomcat簡介
tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,在中小型和並發訪問用戶不是很多的場所被普遍使用,是開發和調試JSP的首選,所有靜態文件交給nginx處理,所有的動態文件交給tomcat處理。還有resin,weblogic(商用)
二,tomcat安裝
1.軟件准備:
apache-tomcat-8.0.41.zip
jdk-8u11-linux-x64.tar.gz
2.解壓到指定目錄(安裝java環境)
tar -xf jdk-8u11-linux-x64.tar.gz -C /usr/local/java
3.驗證
java -version
4.安裝tomcat
unzip apache-tomcat-8.0.41.zip -C /usr/local/tomcat
三,tomcat啟動及日志
/usr/local/tomcat/bin/
-
-
- /usr/local/tomcat/bin/shundown.sh 關閉tomcat
- /usr/local/tomcat/bin/start.sh 啟動tomcat
- /usr/local/tomcat/bin/version.sh 查看tomcat信息
-
/usr/local/tomcat/conf/
-
-
- 用以配置tomcat的xml及DTD文件
-
/usr/local/tomcat/logs/
-
-
- catalina和其他web應用程序的日志文件
-
/usr/local/tomcat/temp/
-
-
- 臨時文件
-
/usr/local/tomcat/lib/
-
-
- 存放web應用能夠訪問的JAR包
-
/usr/local/tomcat/license/
-
-
- 認證啥的
-
/usr/local/tomcat/webapps/
- docs #tomcat幫助文檔
- examples #web應用實例
- host-manager #管理
- manager #管理
- ROOT #默認網站根目錄 index.jsp
###正式環境刪除docs examples host-manager manager 以及ROOT下面的所有文件###算是一個小優化!!!
啟動:
-
- chown -R root.root /usr/local/java/ /usr/local/tomcat/
- systemctl stop firewalld
- /usr/local/tomcat/bin/shundown.sh
- http://192.168.1.199:8080/
日志:
- catalina.out 這個日志非常占用空間
- catalina.2019-01-15.log 每天都會生成一個文件
- localhost.2019-01-15.log 啟動關閉的日志,初始化信息
- localhost_access_log.2019-01-15.txt 訪問日志
四,tomcat配置文件
server.xml 主配置文件
tomcat-users.xml 調試狀態把服務器狀態打開在倒數第二行插入,在測試環境用,切記切記!!!
-
- <role rolename="manager-gui"/>
- <role rolename="admin-gui"/>
- <user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
- 詳細
五,tomcat主配置文件
server.xml詳解
- 不是#號注釋 <!-- --> 才是注釋
- <Server port="8005" shutdown="SHUTDOWN"> 通過一個命令關閉tomcat 生產環境不要用默認的
- <Connector port="8080" protocol="HTTP/1.1" 默認端口
connectionTimeout="20000" 連接超時
redirectPort="8443" /> 轉發另外端口 - https://www.cnblogs.com/sunshine-1/p/8990044.html 網上詳解
六,web站點部署
war包放在webapps上面,重啟就自動生存一個文件目錄,
默認目錄~/webapps/ROOT
如果需要更改默認路徑的話:
方法一
添加如下代碼到server.xml(大概在125行)
<Context path="/eml" docBase="xxxxxx" debug="0" reloadbale="true" privileged="true">
- Context:表示一個web應用程序,通常為war程序
- docpath:應用程序胡路徑或則是war文件存放的路徑,可以使用相對的路徑,起始位置為Context所屬Host中appBase定義的路徑
- path:表示此web應用程序的URL的前綴。這樣請求的url為http://localhost:8888/path/****
- reloadbale:這個屬性非常重要,如果為true,則tomcat會自動檢測應用程序的、WEB-INF/LIB 和WEB-INF/classes目錄的變化,自動裝載新的應用程序的時候,可以在不重啟tomcat的情況下改變應用程序
重啟tomcat
方法二:
修改appBase:/xxxxxxxxxxxx/xxxxx/xxxxx
多實例最好所有的項目都在一個目錄下
七,tomcat多實例
1.復制tomcat目錄
- cp -a /usr/local/tomcat tomcat_1 -a 復制目錄而且權限一樣
- cp -a /usr/local/tomcat tomcat_2
2.區分不同實例就是端口號不一樣
-
- <Server port="8005" shutdown="SHUTDOWN"> #更改關閉端口
- <Connector port="8080" protocol="HTTP/1.1" #更改默認監聽端口
- <Context path="/eml" docBase="eml" debug="0" reloadbale="true" privileged="true"> #更改默認目錄
3.然后再根據彼此的絕對路徑重新啟動
八,tomcat集群(其實非常簡單!!!)
nginx用來做反向代理
第一步:新建代理池
upstream tomcattool {
server 192.168.1.10:8081 weight=1 max_fail=3 fail_timeout=20s
server 192.168.1.11:8082 weight=1 max_fail=3 fail_timeout=20s
}
第二步:更改server標簽
server_name 域名或則ip
proxy_pass http://tomcattool
九,tomcat安裝jpress
環境准備:
apache-maven-3.6.0-bin.tar.gz
jpress-web-newest.war
安裝maven環境
解壓maven -C /usr/local/maven
添加到環境變量/etc/profile 然后再source
mvn --version 驗證
安裝jpress
放到響應目錄/usr/local/tomcat/jpress
jar xf jpress-web-newest.war 手動解壓
十,systemd一統天下(我也不知道為什么在這里插這個)
/etc/rc.local
/usr/lib/systemd/system
/etc/system/system
十一,zabbix監控tomcat
參照:http://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/
http://blog.51cto.com/moerjinrong/2062945
因為環境不一樣不做深究
二,tomcat調優
1.安全優化
- 降權啟動,普通用戶啟動
- telnet 管理端口保護
- ajp連接端口禁用
- 禁用管理端,刪除沒有用的目錄
2.性能優化
屏蔽dns查詢 enableloouups="fault"
最大連接數最小連接數看實際需求
tomcat非常消耗內存php輕量級,java重量級
jvm調優
內存:8G 的內存,默認給1.5G到2G,給系統的4分之1
https://www.cnblogs.com/xingzc/p/5756119.html 有時間可以慢慢看
調優總結,一般就是優化內存,CPU,內存,I/O網絡,安全等等!!!
