ÌØ±ðÊÇÔÚ Linux ²Ù×÷ϵͳÉÏ£¬Tomcat µÄÎȶ¨ÔËÐÐÓë¸ßЧÅäÖøüÊÇÈ·±£Ó¦Ó÷þÎñÖÊÁ¿µÄ¹Ø¼ü
±¾ÎĽ«ÉîÈë̽ÌÖÈçºÎÔÚ Linux »·¾³ÏÂ¶Ô Tomcat ½øÐÐÏêϸÅäÖÃÓëÓÅ»¯£¬ÒÔÈ·±£ÆäÄܹ»³ä·Ö·¢»ÓÐÔÄÜ£¬Âú×ãʵ¼ÊÓ¦ÓÃÐèÇó
Ò»¡¢Tomcat °²×°»ù´¡ 1. »·¾³×¼±¸ Ê×ÏÈ£¬È·±£ÄãµÄ Linux ·þÎñÆ÷ÒѾ°²×°ÁË JDK£¨Java Development Kit£©
Tomcat ÊÇ»ùÓÚ Java ÔËÐеģ¬Òò´Ë JDK ÊDZز»¿ÉÉÙµÄ
ÍÆ¼öʹÓà Oracle JDK »ò OpenJDK£¬°æ±¾ÖÁÉÙΪ JDK 8 ¼°ÒÔÉÏ£¬ÒÔ±£Ö¤¶Ô×îРJava EE ¹æ·¶µÄÖ§³Ö
ÒÔ Ubuntu ΪÀý£¬°²×° OpenJDK 11 sudo apt update sudo apt install openjdk-11-jdk 2. ÏÂÔØÓë½âѹ Tomcat ´Ó Apache Tomcat ¹Ù·½ÍøÕ¾ÏÂÔØÊʺÏÄã²Ù×÷ϵͳµÄ Tomcat °æ±¾
ͨ³££¬¶þ½øÖÆ tar.gz °üÊÇ×î³£Óõݲװ·½Ê½
ÏÂÔØ Tomcat£¨ÒÔ Tomcat 9 ΪÀý£© wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz ½âѹ Tomcat tar -xzvf apache-tomcat-9.0.54.tar.gz sudo mv apache-tomcat-9.0.54 /opt/tomcat 3. Æô¶¯ Tomcat ½øÈë Tomcat µÄ bin Ŀ¼£¬Ö´ÐÐ `startup.sh` ½Å±¾Æô¶¯ Tomcat
cd /opt/tomcat/bin
sudo ./startup.sh
·ÃÎÊ `http://
¶þ¡¢Tomcat ÅäÖÃÎļþÏê½âÓëÓÅ»¯
Tomcat µÄºËÐÄÅäÖÃÎļþÖ÷ҪλÓÚ`conf`Ŀ¼Ï£¬°üÀ¨ `server.xml`¡¢`web.xml`¡¢`context.xml`ºÍ `tomcat-users.xml` µÈ ÏÂÃæ½«ÖðÒ»½éÉÜÕâЩÎļþµÄ¹Ø¼üÅäÖÃÏî¼°ÆäÓÅ»¯²ßÂÔ
1.server.xml
- Connector ÅäÖãºÕâÊÇ Tomcat ½ÓÊÕÍⲿÇëÇóµÄÖ÷Òª½Ó¿Ú
xml
-`minSpareThreads` ºÍ`maxSpareThreads`£º¿ØÖÆÏ̳߳ØÖеĿÕÏÐÏß³ÌÊýÁ¿£¬ÒÔÓÅ»¯×ÊÔ´ÀûÓÃ
-`acceptCount`£ºµ±ËùÓÐÇëÇó´¦ÀíÏ̶߳¼ÔÚʹÓÃʱ£¬ÓÃÓÚÅŶӵÄÇëÇóÊýÁ¿
-`enableLookups`£ºÉèÖÃΪ `false` ÒÔ½ûÓà DNS ²éÕÒ£¬Ìá¸ßÐÔÄÜ
-`URIEncoding`£ºÉèÖÃÇëÇóµÄ URI ±àÂë£¬ÍÆ¼öÉèÖÃΪ `UTF-8`
- Engine ºÍ Host ÅäÖ㺶¨Òå Tomcat µÄ·þÎñÒýÇæºÍÐéÄâÖ÷»ú
xml
-`autoDeploy`£ºÉèÖÃΪ`true` ʱ£¬Tomcat »á×Ô¶¯²¿ÊðÐÂÌí¼ÓµÄ WAR °ü
2.web.xml
¸ÃÎļþ¶¨ÒåÁËÈ«¾ÖµÄ Servlet¡¢Filter ºÍ Listener ÅäÖà ¶ÔÓÚ´ó¶àÊýÓ¦Óã¬Ä¬ÈÏÅäÖÃÒÑ×ã¹»£¬µ«¿ÉÒÔͨ¹ýÌí¼Ó»òÐÞ¸Ä`
3.context.xml
ÓÃÓÚÅäÖà Context ÔªËØ£¬¿ÉÒÔ¶¨ÒåÓ¦Óü¶±ðµÄ×ÊÔ´ÈçÊý¾ÝÔ´¡¢JNDI ×ÊÔ´µÈ
bash
CATALINA_OPTS=-Xms512m -Xmx1024m -XX:+UseG1GC
export CATALINA_OPTS
- À¬»ø»ØÊÕÆ÷Ñ¡Ôñ£º¸ù¾ÝÓ¦ÓÃÌØµãÑ¡ÔñºÏÊʵÄÀ¬»ø»ØÊÕÆ÷£¬Èç G1 GC ÊÊÓÃÓÚ´ó¶àÊý³¡¾°
2.Á¬½Ó³ØÓÅ»¯
ʹÓÃÁ¬½Ó³Ø£¨Èç HikariCP£©Ìæ´ú Tomcat ×Ô´øµÄ DBCP£¬ÒÔÌá¸ßÊý¾Ý¿âÁ¬½ÓЧÂÊ
3.»º´æ»úÖÆ
- ¾²Ì¬×ÊÔ´»º´æ£ºÀûÓ÷´Ïò´úÀí·þÎñÆ÷£¨Èç Nginx£©»º´æ¾²Ì¬×ÊÔ´£¬¼õÇá Tomcat ¸ºµ£
- Ó¦Óü¶»º´æ£ºÔÚÓ¦ÓÃÖÐʵÏÖ»º´æÂß¼£¬ÈçʹÓà Redis¡¢Memcached µÈ
4.°²È«¼Ó¹Ì
- ½ûÓò»±ØÒªµÄ·þÎñ£ºÈç¹Ø±Õ AJP Connector£¬³ý·ÇÓÐÌØ¶¨ÐèÇó
- ¸üÐÂÓë²¹¶¡£º¶¨ÆÚ¼ì²é²¢Ó¦Óà Tomcat ¼° JDK µÄ°²È«¸üÐÂ
- ·ÃÎÊ¿ØÖÆ£ºÊ¹Ó÷À»ðǽºÍ Tomcat µÄ Realm ÅäÖÃÏÞÖÆ·ÃÎÊȨÏÞ
ËÄ¡¢¼à¿ØÓëÈÕÖ¾·ÖÎö
- ÈÕÖ¾¹ÜÀí£ººÏÀíÅäÖà Tomcat µÄÈÕÖ¾Îļþ·¾¶¡¢¼¶±ðºÍÂÖת²ßÂÔ£¬Ê¹Óà Logrotate µÈ¹¤¾ß¹ÜÀíÈÕÖ¾
- ÐÔÄÜ¼à¿Ø£ºÀûÓà JConsole¡¢VisualVM »òÉÌÒµ APM ¹¤¾ß£¨Èç New Relic¡¢Dynatrace£©¼à¿Ø Tomcat µÄÐÔÄÜÖ¸±ê£¬Èç CPU ʹÓÃÂÊ¡¢ÄÚ´æÕ¼Óá¢Ïß³Ì״̬µÈ
½áÓï
ͨ¹ý¶Ô Linux »·¾³Ï Tomcat µÄϸÖÂÅäÖÃÓëÓÅ»¯£¬¿ÉÒÔÏÔÖøÌáÉý Java Web Ó¦ÓõÄÔËÐÐЧÂÊ¡¢Îȶ¨ÐԺͰ²È«ÐÔ ±¾Îĸ²¸ÇÁË´Ó°²×°µ½ÅäÖã¬ÔÙµ½ÐÔÄÜÓÅ»¯ºÍ°²È«¼Ó¹ÌµÄÈ«ÃæÁ÷³Ì£¬Ö¼ÔÚΪ¿ª·¢ÕßÌṩһÌ×ʵÓõIJÙ×÷Ö¸ÄÏ È»¶ø£¬Ã¿¸öÓ¦Óö¼ÓÐÆä¶ÀÌØÐÔ£¬×î¼Ñʵ¼ùÍùÍùÐèÒª¸ù¾Ýʵ¼ÊÇé¿öÁé»îµ÷Õû Òò´Ë£¬½¨Òé³ÖÐø¼à¿ØÓ¦ÓñíÏÖ£¬½áºÏÈÕÖ¾·ÖÎöºÍÐÔÄÜ¼à¿ØÊý¾Ý£¬²»¶ÏÓÅ»¯ÅäÖã¬ÒÔ´ïµ½×î¼ÑµÄÔËÐÐЧ¹û