linux apache-tomcat-9.0.40
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun
的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现, 因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
添加专用用户
添加一个新用户,用来跑tomcat, 为了后期好管理,形成良好的习惯。
1 | useradd admin |
如果有跳板机需要修改文件/etc/security/access.conf 下边代码加在access.conf 文件尾部。
1 | +:admin:跳板机IP |
安装JDK
JDK 是一种用于构建在 Java 平台上发布的应用程序、Applet 和组件的开发环境,即编写 Java 程序必须使用 JDK,它提供了编译和运行 Java 程序的环境。
我这里下载 gz 包方便后期 复制移植用。 包名 jdk-15.0.1_linux-x64_bin.tar.gz
JAVA 安装目录 JAVAHOME=/usr/java 没有目录就创建。
1 | cp jdk-15.0.1_linux-x64_bin.tar.gz /usr/java/ |
添加和修改环境变量
在admin 家目录下添加一个 .bash_profile 用来声明JDK变量 文件内容如下。
1 | cat /home/admin/.bash_profile |
修改 limits.conf 内容如下。
1 | cat >>/etc/security/limits.conf<<EOF |
安装apache-tomcat-9.0.40
1.下载安装包 apache-tomcat-9.0.40.tar.gz 到 /home/admin/ 下。
解压 apache-tomcat-9.0.40.tar.gz 到当前目录。
1 | ln -s apache-tomcat-9.0.40 apache-tomcat |
2.修改 apache-tomcat-9.0.40/bin/catalina.sh 在注释下方, 约125行处添加。以下代码。没有装APR的可以删除 “-D java.library.path=/usr/local/apr/lib”
这段。gc 选项是为了崩溃后排查用。
JAVA_OPTS='-server -Xms4096m -Xmx4096m -Xss256k -XX:+HeapDumpOnOutOfMemoryError -Djava.library.path=/usr/local/apr/lib -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/home/admin/logs/gc.log'
3.添加启动选项 init.d 下添加文件,内容如下。
1 | cat /etc/init.d/tomcat_admin |
然后修改权限
1 | chmod +x /etc/init.d/tomcat_admin |
4.修改 tomcat 主配置文件 server.xml
将源文件里的2处内容替换为新的。 第一处源内容:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
替换内容:
APR 模式下的替换配置
<Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol" enableLookups="false" maxThreads="800" acceptCount="800" acceptorThreadCount="2" connectionTimeout="6000" redirectPort="8443" compression="on" maxKeepAliveRequests="1"/>
NIO 模式下的替换配置
<Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" enableLookups="false" maxThreads="800" acceptCount="800" acceptorThreadCount="2" connectionTimeout="6000" redirectPort="8443" compression="on" maxKeepAliveRequests="1"/>
9.0以后的协议处理类:
org.apache.coyote.http11.Http11NioProtocol:对应非阻塞 IO
org.apache.coyote.http11.Http11Nio2Protocol:对应异步 IO
org.apache.coyote.http2.Http2Protocol:对应 http2 协议
org.apache.coyote.http11.Http11AprProtocol 对应 APR 从操作系统级别来解决异步的IO问题,大幅度的提高性能。
logs 格式的替换 第二处源内容:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
替换内容:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="${user.home}/logs"
prefix="ip.access.log." suffix="" buffered="false"
pattern="%{X-Forwarded-For}i %{CLIENT_IP}i %l %u %t %T %r %s %b '%{Referer}i' %{User-Agent}i" />
APR 的安装
APR (Apache Portable Runtime (APR) based Native library for Tomcat)
Tomcat可以使用Apache Portable Runtime提供出色的可伸缩性,性能以及与本机服务器技术的更好集成。 Apache可移植运行时是一个高度可移植的库,它是Apache HTTP Server 2.x的核心。
APR有许多用途,包括访问高级IO功能(例如sendfile,epoll和OpenSSL),操作系统级别的功能(生成随机数,系统状态等)和本机进程处理(共享内存,NT管道和Unix套接字)。
这些功能使Tomcat成为通用的Web服务器,可以更好地与其他本机Web技术集成,并且从总体上使Java作为完整的Web服务器平台而不是仅以后端为中心的技术更加可行。
1.安装需要三个基础APR包。 分别为:
apr-x.x.x
apr-util-x.x.x
apr-iconv-x.x.x
三个包的版本需要匹配,否则安装失败。新手三个包建议 用yum apt dnf 这类工具来安装。
编译安装:
cd apr-x.x.x
1 | ./configure;make;make install |
cd apr-util-x.x.x
1 | ./configure --with-apr=/usr/local/apr;make;make install |
cd apr-iconv-x.x.x
1 | ./configure --with-apr=/usr/local/apr;make;make install |
查看配置
1 | ldconfig |
2.apache-tomcat-9.0.40 中安装 tomcat-native组件
cd /home/admin/apache-tomcat/bin/
tar zvf tomcat-native.tar.gz
cd tomcat-native-1.2.25-src
1 | ./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk-15.0.1;make;make install |
装好了APR, server.xml 中才可以启用APR配置。
启动tomcat
1 | service tomcat_admin start |
赞助广告
感谢 lxeridium品牌赞助. 品牌官网:http://www.lxeridium.com
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !