|
| 1 | +<h1 id="tomcat0">Tomcat 8 安装和配置</h1> |
| 2 | + |
| 3 | +------ |
| 4 | + |
| 5 | +* [Tomcat 8 安装和配置](#tomcat0) |
| 6 | + * [Tomcat 8 安装](#tomcat1) |
| 7 | + * [Tomcat 8 配置](#tomcat2) |
| 8 | + * [Tomcat 8 优化](#tomcat3) |
| 9 | + * [资料](#tomcat4) |
| 10 | + |
| 11 | +------ |
| 12 | + |
| 13 | +<h2 id="tomcat1">Tomcat 8 安装</h2> |
| 14 | + |
| 15 | +- Tomcat 8 安装 |
| 16 | + - 官网:<http://tomcat.apache.org/> |
| 17 | + - Tomcat 8 官网:<http://tomcat.apache.org/download-80.cgi> |
| 18 | + - 此时(20160207) Tomcat 8 最新版本为:`apache-tomcat-8.0.30.tar.gz` |
| 19 | + - 我个人习惯 `/opt` 目录下创建一个目录 `setups` 用来存放各种软件安装包;在 `/usr` 目录下创建一个 `program` 用来存放各种解压后的软件包,下面的讲解也都是基于此习惯 |
| 20 | + - 我个人已经使用了第三方源:`EPEL、RepoForge`,如果你出现 `yum install XXXXX` 安装不成功的话,很有可能就是你没有相关源,请查看我对源设置的文章 |
| 21 | + - Tomcat 8 下载:`wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.30/bin/apache-tomcat-8.0.30.tar.gz` |
| 22 | + - 压缩包解压:`tar -zxvf apache-tomcat-8.0.30.tar.gz` |
| 23 | + - 移到解压出来文件夹到 /usr 下:`mv apache-tomcat-8.0.30/ /usr/program/` |
| 24 | + - 为了方便,修改解压目录的名字:`mv /usr/program/apache-tomcat-8.0.30/ /usr/program/tomcat8/` |
| 25 | + |
| 26 | + |
| 27 | +- 设置 Iptables 规则(这一步是必须设置的): |
| 28 | + - 一种方式:先关闭 iptables,防止出现拦截问题而测试不了:`service iptables stop` |
| 29 | + - 一种方式:在 iptables 中添加允许规则(svn 默认端口是 3690): |
| 30 | + - 添加规则:`sudo iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT` |
| 31 | + - 保存规则:`sudo /etc/rc.d/init.d/iptables save` |
| 32 | + - 重启 iptables:`sudo service iptables restart` |
| 33 | + |
| 34 | + |
| 35 | +- 测试安装好后的 Tomcat: |
| 36 | + - 启动 Tomcat:`sh /usr/program/tomcat8/bin/startup.sh ; tail -200f /usr/program/tomcat8/logs/catalina.out` |
| 37 | + - 访问:`http://服务器 IP 地址:8080/` |
| 38 | + - 停止 Tomcat:`sh /usr/program/tomcat8/bin/shutdown.sh` |
| 39 | + |
| 40 | + |
| 41 | +<h2 id="tomcat2">Tomcat 8 配置</h2> |
| 42 | + |
| 43 | +- 设置 Tomcat 环境变量: |
| 44 | + - `sudo vim /etc/profile` |
| 45 | + - 最文件最尾巴添加下面内容: |
| 46 | + ``` |
| 47 | + CATALINA_HOME=/usr/program/tomcat8 |
| 48 | + export CATALINA_HOME |
| 49 | + |
| 50 | + # 下面参数根据自己机子内存进行配置 |
| 51 | + # CATALINA_OPTS 只配置给 Tomcat 的 VM |
| 52 | + # JAVA_OPTS 配置给所有调用 Java 的程序的 VM |
| 53 | + # 有 CATALINA_OPTS 的时候 Tomcat 优先读这个 |
| 54 | + # 其中:-server 表示启用 jdk 的 server 版,一定要作为第一个参数,在多个 CPU 时性能佳; |
| 55 | + CATALINA_OPTS="-server -Xms528m -Xmx528m -XX:PermSize=256m -XX:MaxPermSize=358m" |
| 56 | + export CATALINA_OPTS |
| 57 | + |
| 58 | + # 设置生成的 PID 位置 |
| 59 | + CATALINA_PID=$CATALINA_HOME/catalina.pid |
| 60 | + export CATALINA_PID |
| 61 | + ``` |
| 62 | + - 刷新变量配置:`sudo source /etc/profile` |
| 63 | +- 如果使用 `shutdown.sh` 无法停止 tomcat,可以修改其配置:`vim /usr/program/tomcat8/bin/shutdown.sh` |
| 64 | + - 把最尾巴这一行:`exec "$PRGDIR"/"$EXECUTABLE" stop "$@"` |
| 65 | + - 改为:`exec "$PRGDIR"/"$EXECUTABLE" stop 10 -force` |
| 66 | + |
| 67 | + |
| 68 | +<h2 id="tomcat3">Tomcat 8 优化</h2> |
| 69 | +
|
| 70 | +- 官网标准答案:<https://tomcat.apache.org/tomcat-8.0-doc/config/http.html> |
| 71 | +- 官网帮助文档下载(该资料在:`/tomcat-8.0-doc/config/http.html`):`wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.30/bin/apache-tomcat-8.0.30-fulldocs.tar.gz` |
| 72 | +- 编辑配置文件:`vim /usr/program/tomcat8/conf/server.xml` |
| 73 | + - 修改链接参数: |
| 74 | + - 默认值: |
| 75 | + ``` |
| 76 | + <Connector |
| 77 | + port="8080" |
| 78 | + protocol="HTTP/1.1" |
| 79 | + connectionTimeout="20000" |
| 80 | + redirectPort="8443" |
| 81 | + /> |
| 82 | + ``` |
| 83 | + - 修改为: |
| 84 | + ``` |
| 85 | + <Connector |
| 86 | + port="8080" |
| 87 | + protocol="org.apache.coyote.http11.Http11Nio2Protocol" |
| 88 | + connectionTimeout="20000" |
| 89 | + redirectPort="8443" |
| 90 | + enableLookups="false" |
| 91 | + acceptCount="100" |
| 92 | + maxThreads="200" |
| 93 | + minSpareThreads="10" |
| 94 | + compression="on" |
| 95 | + compressionMinSize="2048" |
| 96 | + compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" |
| 97 | + URIEncoding="utf-8" |
| 98 | + /> |
| 99 | + ``` |
| 100 | + - 重点参数解释: |
| 101 | + ``` |
| 102 | + protocol,Tomcat 8 设置 nio2 更好:org.apache.coyote.http11.Http11Nio2Protocol |
| 103 | + protocol,Tomcat 6 设置 nio 更好:org.apache.coyote.http11.Http11NioProtocol |
| 104 | + enableLookups,禁用DNS查询 |
| 105 | + acceptCount,指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认设置 100 |
| 106 | + maxThreads,最大并发数,默认设置 200 |
| 107 | + minSpareThreads,Tomcat初始化时创建的线程数,默认设置 10 |
| 108 | + ``` |
| 109 | +
|
| 110 | +
|
| 111 | +<h2 id="tomcat4">资料</h2> |
| 112 | +
|
| 113 | +- <http://www.jikexueyuan.com/course/2064_3.html?ss=1> |
| 114 | +- <http://www.wellho.net/mouth/2163_CATALINA-OPTS-v-JAVA-OPTS-What-is-the-difference-.html> |
| 115 | +- <http://blog.csdn.net/sunlovefly2012/article/details/47395165> |
| 116 | +- <http://blog.csdn.net/lifetragedy/article/details/7708724> |
| 117 | +- <http://ihuangweiwei.iteye.com/blog/1233941> |
| 118 | +- <http://www.cnblogs.com/ggjucheng/archive/2013/04/16/3024731.html> |
| 119 | +- <https://tomcat.apache.org/tomcat-8.0-doc/config/http.html#Connector_Comparison> |
0 commit comments