問題:
虛擬機上安裝centOS7,配置Tomcat并成功啟動。但是在瀏覽器里卻無法訪問Tomcat 8080端口腋么。
tomcat的配置咕娄,請參考文章:Linux-CentOS7 配置 Tomcat
原因:
因為CentOS 7或RHEL 7或Fedora,默認防火墻是由firewalld來管理珊擂,而firewalld沒有對8080端口開放圣勒,所以進行8080端口開放配置费变。
CentOs 7 之前的版本,由iptables控制Linuxs的端口圣贸。
CentOS升級到7之后挚歧,無法使用iptables控制Linuxs的端口,因為是Centos 7使用firewalld代 替了原來的iptables吁峻。
以下提供兩種方式解決該問題滑负。
解決方案一,還原傳統(tǒng)的iptables管理方式用含。
1矮慕、執(zhí)行命令設置firewalld
systemctl stop firewalld
systemctl mask firewalld
2、安裝iptables-services
執(zhí)行命令:yum install iptables-services
如果不安裝耕餐,直接執(zhí)行iptables相關命令會報錯:
Failed to stop iptables.service: Unit iptables.service not loaded.
3凡傅、關閉防火墻
執(zhí)行命令:systemctl stop iptables
4辟狈、編輯 vi /etc/sysconfig/iptables
添加以下內容并保存退出:
#允許8080端口通過防火墻
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
#允許3306端口通過防火墻
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
#允許9904端口通過防火墻
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9904 -j ACCEPT
5肠缔、重啟防火墻
執(zhí)行命令:systemctl restart iptables
6、打開外部瀏覽器哼转,輸入http://centOS IP:8080
即可看到Tomcat歡迎界面明未!
解決方案二,firewalld 進行8080端口開放配置
1壹蔓、在firewalld 上開放8080端口
輸入命令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
命令解析:
--zone #作用域
--add-port=8080/tcp #添加端口趟妥,格式為:端口/通訊協(xié)議
--permanent #永久生效,沒有此參數設置佣蓉,重啟后會失效披摄。
2、重啟防火墻
輸入命令:firewall-cmd --reload
3勇凭、打開外部瀏覽器疚膊,輸入http://centOS IP:8080,即可看到Tomcat歡迎界面虾标!