centos系统,设置firewall+tomcat

目录

前言

一 7步解决方案

二 补充:Centos中如何打开和关闭防火墙??

1 防火墙系统为firewall的关闭和打开方式

2 CentOS 7以上默认使用firewall作为防火墙改为iptables

前言
linux中明明启动了tomcat服务器,但是在网页上却打不开,那么十有八九是因为linux防火墙的问题,要么完全关闭防火墙,此时不太安全,要么就是针对某一个端口,设置其越过防火墙的限制。

一 7步解决方案
Step1. 启动tomcat
进入 tomcat 所在的目录的 bin 的文件夹下执行" ./ startup.sh" 命令 启动 tomcat ,如果出现下面这种情况说明 tomcat 启动 成功。

Step2. 验证 tomcat 是否启动成功
输入" ps -ef|grep tomcat " 命令验证 tomcat 是否启动成功,如果出现下面这种情况说明启动成功。

Step3: 若启动成功,在linux中输入curl http://192.168.112.130:8080(自己linux的ip)看是否正常访问。

如下则表示正常访问:

Step4. 检验防火墙是否启动
输入命令 " firewall-cmd --state " 如果出现如图所示的这种情况说明正在运行,如果没有正在运行需要执行命令" systemctl start firewalld "开启防火墙服务

Step5. 检查8080端口是否被防火墙开启
输入命令" firewall-cmd --permanent --zone=public --list-ports “ 如果终端输出 “8080/tcp” 则说明8080端口被开启

如果没有该输出则需要执行命令" firewall-cmd --zone=public --add-port=8080/tcp --permanent"开启8080端口, 出现" success" 则表示添加成功。

Step6. 重新启动防火墙
输入命令" firewall-cmd --reload" 重新启动防火墙,出现” success“ 字样则表示重新启动成功。

Step7.验证开启的8080端口是否生效

    输入命令” firewall-cmd --zone=public --query-port=8080/tcp“ 验证8080端口是否生效,如果出现 ” yes “字样则代表生效。

此时,重新启动tomcat就可以使用外部浏览器访问centos 中的tomcat啦。

二 补充:Centos7中如何打开和关闭防火墙??
1 防火墙系统为firewall的关闭和打开方式
Centos 7中默认的linux的系统默认防火墙不是iptables,而是firewall,此时应该使用以下方式关闭防火墙了。

(1)关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

(2)开启端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent #设置8080端口越过防火墙的限制

命令含义

–zone #作用域
–add-port=8080/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

(3)重启防火墙

systemctl start firewalld "开启防火墙服务

firewall-cmd --reload

其他常用命令:

firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助

更多命令,使用 firewall-cmd --help 查看帮助文件

2 CentOS 7以上默认使用firewall作为防火墙改为iptables
CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

2、iptables防火墙(这里iptables已经安装,下面进行配置)
vi/etc/sysconfig/iptables #编辑防火墙配置文件

sampleconfiguration for iptables service

you can edit thismanually or use system-config-firewall

please do not askus to add additional ports/services to this default configuration

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]
-A INPUT -m state–state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -jACCEPT
-A INPUT -i lo -jACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT
-A INPUT -j REJECT–reject-with icmp-host-prohibited
-A FORWARD -jREJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出

备注:这里使用80和8080端口为例。***部分一般添加到“-A INPUT -p tcp -m state --state NEW -m tcp–dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。
systemctlrestart iptables.service #最后重启防火墙使配置生效
systemctlenable iptables.service #设置防火墙开机启动

<think>嗯,用户问的是在CentOS系统上安装稳定的Tomcat。首先,我得回想一下CentOS的版本,通常现在可能用的是CentOS 7或者8,不过考虑到稳定性,可能更多用户还在用7。然后Tomcat的稳定版本,目前最新的稳定版应该是Tomcat 10,但可能需要确认一下,因为有些项目可能还在用Tomcat 9,特别是考虑到Java EE的兼容性问题,比如Jakarta EE的包名变化。所以可能需要提示用户注意版本选择。 接下来,安装步骤方面,CentOS通常用yum来安装软件包,但Tomcat可能不在默认仓库里,所以可能需要用EPEL仓库或者手动下载。不过手动下载的话,用户可能需要配置systemd服务,这样更稳定。另外,Java是Tomcat的依赖,所以需要先安装JDK,用户可能已经安装了,但如果没有的话,需要指导他们安装OpenJDK,比如用yum install java-11-openjdk。 然后,安全性和防火墙设置CentOS默认有firewalld,需要开放8080端口或者其他自定义端口。还有,可能需要创建tomcat用户来管理服务,避免用root运行,这样更安全。目录权限也需要设置正确,比如webapps目录的所属用户和组。 另外,配置环境变量比如JAVA_HOME,可能需要检查是否正确设置。还有,建议启用管理界面,但要注意安全,设置强密码和限制访问IP。最后,可能需要配置SSL证书,如果用户需要HTTPS的话。 测试部分,安装完成后,用systemctl启动服务,设置开机启动,然后用curl或者浏览器访问localhost:8080确认是否成功。日志文件的查看也是重要的,比如tail -f logs/catalina.out。 可能用户没有提到但需要考虑的是,是否需要配置虚拟主机,或者调整内存参数,比如JVM的堆大小,但作为基础安装可能暂时不需要。另外,SELinux可能会影响Tomcat的访问,如果出现问题可能需要调整策略或者禁用,但最好保持启用并正确配置。 最后,要确保步骤清晰,分点说明,用户友好。可能还需要提醒备份现有配置,以及定期更新Tomcat版本以保持安全性。</think>以下是在CentOS系统上安装稳定版Tomcat的分步指南: 一、环境准备 1. 更新系统 ```bash sudo yum update -y ``` 2. 安装Java环境(以JDK11为例) ```bash sudo yum install -y java-11-openjdk-devel ``` 3. 验证Java安装 ```bash java -version ``` 二、安装Tomcat(以Tomcat 9.0.85稳定版为例) 1. 创建专用用户 ```bash sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat ``` 2. 下载二进制包 ```bash wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz ``` 3. 解压安装 ```bash sudo tar xzvf apache-tomcat-9.0.85.tar.gz -C /opt/tomcat --strip-components=1 ``` 4. 设置权限 ```bash sudo chown -R tomcat:tomcat /opt/tomcat sudo chmod -R u+x /opt/tomcat/bin ``` 三、配置系统服务 1. 创建systemd单元文件 ```bash sudo vi /etc/systemd/system/tomcat.service ``` 2. 写入以下内容: ```ini [Unit] Description=Apache Tomcat 9 After=syslog.target network.target [Service] User=tomcat Group=tomcat Environment=JAVA_HOME=/usr/lib/jvm/jre-openjdk Environment=CATALINA_PID=/opt/tomcat/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat ExecStart=/opt/tomcat/bin/catalina.sh start ExecStop=/opt/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target ``` 3. 重载服务配置 ```bash sudo systemctl daemon-reload ``` 四、防火墙配置 ```bash sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload ``` 五、启动与验证 1. 启动服务 ```bash sudo systemctl start tomcat sudo systemctl enable tomcat ``` 2. 验证运行状态 ```bash sudo systemctl status tomcat ``` 3. 访问测试 ```bash curl http://localhost:8080 ``` 六、安全加固建议 1. 修改管理密码 ```bash sudo vi /opt/tomcat/conf/tomcat-users.xml ``` 2. 添加用户配置: ```xml <role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="admin" password="强密码" roles="manager-gui,admin-gui"/> ``` 3. 限制管理界面访问 ```bash sudo vi /opt/tomcat/webapps/manager/META-INF/context.xml ``` 注释掉Valve配置: ```xml <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> ``` 七、日志监控 ```bash tail -f /opt/tomcat/logs/catalina.out ``` 版本选择建议: - 生产环境推荐使用Tomcat 9.x长期支持版本 - 如需最新特性可选择Tomcat 10.x,但需注意Jakarta EE规范变化 - 可通过官网验证最新稳定版本号: $$ \text{https://tomcat.apache.org/download-90.cgi} $$ 注意事项: 1. 建议定期应用安全补丁 2. 生产环境应配置SSL证书 3. 根据应用需求调整JVM内存参数 4. 建议使用反向代理(如Nginx)进行前端代理
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值