1、tomcat官網: http://tomcat.apache.org/whichversion.html html
2、相關介紹java
一、tomcat:java容器、web容器(web應用服務器),web中間件mysql
二、同類產品:Resin,JBOSS,WebSphere(IBM),Weblogic(Oracle )web
三、Tomcat是Apache 軟件基金會Jakarta 項目中的一個核心項目,由Apache、Sun 和其餘一些公司及我的共同開發而成。sql
四、jdk下載:http://www.oracle.com/technetwork/java/javase/downloads/index.htmlapache
五、jspgou下載: http://bbs.jeecms.com/fabu/62873.jhtmlvim
六、tomcat須要java環境,jdk包含了jre和jvm緩存
3、安裝部署電商系統tomcat
一、配置java環境,安全
# bash /usr/local/tomcat/bin/startup.sh (只能經過啓動腳原本啓動)
二、重要配置文件:(路徑是本身配置的,不惟一)
/usr/local/tomcat/logs/catalina.out (日誌文件)
/usr/local/tomcat/bin/* (存放tomcat管理腳本)
/usr/local/tomcat/conf/server.xml (配置文件目錄,修改默認端口就在這裏)
三、安裝mysql導入jspgou數據錯誤(mariadb則不會報錯)
解決辦法:修改my.cnf,
[mysqld] 下面添加
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
explicit_defaults_for_timestamp=1
四、http://192.168.40.129:8080/jeeadmin/jspgou/index.do 當訪問網頁的時候一直報500錯誤,查看tomca日誌以下:
折騰了一個小時,最後重啓好了,不知爲啥(表示以前也重啓了好幾遍沒用)
五、訪問成功
六、多實例站點
4、tomcat優化(重點)
能夠考慮從內存,併發,緩存,安全,網絡,系統等進行入手
一、tomcat啓動慢(生成隨機數的時候卡住了,致使tomcat啓動不了)
#vim $JAVA_HOME/jre/lib/security/java.security
securerandom.source=file:/dev/random 改成 securerandom.source=file:/dev/urandom
二、IO優化(BIO、NIO、APR三種運行模式,NIO方式適用於鏈接數目多且鏈接比較短)
NIO模型是內置的,調用很方便,只須要將配置文件中protocol修改爲 org.apache.coyote.http11.Http11NioProtocol
三、vim /usr/local/tomcat/bin/catalina.sh (內存優化)
-server:啓用 JDK的 server 版本;
-Xms:Java虛擬機初始化時堆的最小內存,通常與 Xmx配置爲相同值,這樣的好處是GC沒必要再爲擴展內存空間而消耗性能;
-Xmx:Java虛擬機可以使用堆的最大內存;
-XX:PermSize:Java虛擬機永久代大小;
-XX:MaxPermSize:Java虛擬機永久代大小最大值;
四、Connector 鏈接器的優化(至關於併發優化) #vim /usr/local/tomcat/conf/server.xml
優化前:
優化後:(推薦https://www.cnblogs.com/xwjb/articles/8302960.html)
五、緩存優化(包含在上圖)
compression 打開壓縮功能
compressionMinSize 啓用壓縮的輸出內容大小,這裏面默認爲2KB
compressableMimeType 壓縮類型
connectionTimeout 定義創建客戶鏈接超時的時間. 若是爲 -1, 表示不限制創建客戶鏈接的時間
六、開啓線程池
<Connector executor="tomcatThreadPool"(如上圖第一行)
七、組件優化
打開conf/server.xml文件,修改Connector 標誌的protocol屬性:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />