CentOS Java Web服务器配置技巧
CentOS Java Web服务器配置技巧
一、基础环境配置
1. JDK安装与环境变量设置
选择合适的JDK版本(如OpenJDK 8/11或Oracle JDK),通过包管理器(yum install java-1.8.0-openjdk-devel
)或手动下载解压安装。安装完成后,编辑/etc/profile
文件添加环境变量:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk 根据实际路径调整
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
执行source /etc/profile
使配置生效,验证java -version
显示正确版本。
2. Tomcat安装与基础配置
从Apache官网下载Tomcat二进制包(如Tomcat 9),解压至/usr/local/tomcat
目录。赋予启动脚本执行权限(chmod +x /usr/local/tomcat/bin/*.sh
),启动服务(./startup.sh
)。配置server.xml
文件:
- 修改
< Connector>
端口号(默认8080,生产环境建议改用8081或其他高位端口); - 调整
maxThreads
(最大线程数,如500)和acceptCount
(最大等待队列长度,如100)提升并发处理能力; - 禁用不必要的AJP连接器(删除或注释
< Connector protocol="AJP/1.3">
)。
3. 防火墙配置
使用firewalld
开放Java Web应用所需端口(如8080、8443):
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
若使用SELinux,临时设置为宽松模式(setenforce 0
)或编辑/etc/selinux/config
永久禁用(不推荐生产环境完全禁用)。
二、性能优化技巧
1. JVM参数调优
创建/usr/local/tomcat/bin/setenv.sh
文件(若不存在则新建),添加以下参数:
export JAVA_OPTS="-Xms512m -Xmx2048m -XX:MaxPermSize=256m -XX:+UseG1GC -Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF-8"
-Xms
(初始堆大小)和-Xmx
(最大堆大小)根据服务器内存调整(建议为物理内存的1/4-1/2);-XX:+UseG1GC
启用G1垃圾回收器(适合大内存应用);-Djava.security.egd=file:/dev/./urandom
加速随机数生成(提升Tomcat启动速度)。
2. Tomcat连接器优化
在server.xml
中配置<
Connector>
时,启用NIO模型(默认已启用)并调整参数:
<
Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="500" acceptCount="100"
connectionTimeout="20000" redirectPort="8443" />
maxThreads
:根据CPU核心数调整(如4核CPU可设为200-500);acceptCount
:避免过多请求排队导致超时。
3. 内核参数优化
编辑/etc/sysctl.conf
文件,添加以下参数优化网络和内存性能:
net.ipv4.tcp_fin_timeout = 30 TCP连接超时时间(秒)
net.ipv4.tcp_max_syn_backlog = 4096 SYN队列长度
net.ipv4.tcp_tw_reuse = 1 允许TIME-WAIT套接字重用
vm.swappiness = 10 减少swap使用(值越低越优先使用物理内存)
执行sysctl -p
使配置生效。
三、安全加固措施
1. Tomcat安全配置
- 禁用目录列表:编辑
conf/web.xml
,添加以下内容防止敏感信息泄露:< security-constraint> < web-resource-collection> < web-resource-name> Directory Listing< /web-resource-name> < url-pattern> /*< /url-pattern> < http-method> GET< /http-method> < /web-resource-collection> < auth-constraint/> < /security-constraint>
- 访问权限控制:编辑
tomcat-users.xml
,仅允许授权用户访问管理界面(如manager-gui
),并设置强密码:< tomcat-users> < role rolename="manager-gui"/> < user username="admin" password="StrongPassword123!" roles="manager-gui"/> < /tomcat-users>
- 禁用Java控制面板:删除
/usr/java/latest/jre/lib/security/controlpanel.jar
文件,避免信息泄露。
2. SSH安全配置
编辑/etc/ssh/sshd_config
文件,限制SSH访问:
PermitRootLogin no 禁止root直接登录
AllowUsers admin 仅允许指定用户登录
ClientAliveInterval 600 空闲超时10分钟(秒)
ClientAliveCountMax 2 超时后断开连接
MaxAuthTries 4 最大登录尝试次数
重启SSH服务(systemctl restart sshd
)使配置生效。
3. 定期更新与监控
- 定期更新Java、Tomcat至最新稳定版本(
yum update java-1.8.0-openjdk-devel
、/usr/local/tomcat/bin/version.sh
查看版本); - 使用
top
、htop
监控CPU和内存使用,vmstat 1
监控系统整体性能,tail -f /usr/local/tomcat/logs/catalina.out
查看Tomcat日志。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Java Web服务器配置技巧
本文地址: https://pptw.com/jishu/715377.html