java企業級應用TOMCAT實戰


一,   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詳解

  1. 不是#號注釋   <!--    -->  才是注釋
  2. <Server port="8005" shutdown="SHUTDOWN">   通過一個命令關閉tomcat  生產環境不要用默認的    
  3.  <Connector port="8080" protocol="HTTP/1.1"        默認端口

    connectionTimeout="20000"                          連接超時
    redirectPort="8443" />                             轉發另外端口

     

  4. 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網絡,安全等等!!!

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM