開關防火牆php
systemctl stop firewalld.service #中止firewall
systemctl disable firewalld.service #禁止firewall開機啓動
systemctl enable firewalld.service #設置firewall開機啓動
systemctl restart firewalld.service #firewall重啓
systemctl start firewalld.service #firewall啓動nginx
開啓端口shell
firewall-cmd --zone=public --add-port=80/tcp --permanentapache
--zone #做用域
--add-port=80/tcp #添加端口,格式爲:端口/通信協議
--permanent #永久生效,沒有此參數重啓後失效
複製代碼
重啓防火牆
firewall-cmd --reloadwindows
經常使用命令介紹centos
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 ##查看幫助bash
直接關閉防火牆
systemctl stop firewalld.service #中止firewall
systemctl disable firewalld.service #禁止firewall開機啓動
複製代碼
yum -y install iptables-services
若是要修改防火牆配置,如增長防火牆端口3306
vi /etc/sysconfig/iptables
增長規則
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 保存退出後
systemctl restart iptables.service #重啓防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啓動
最後重啓系統使設置生效便可。tcp
lsof -i tcp:80php-fpm
netstat -ntlpspa
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 寫入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重啓防火牆,修改生效
複製代碼
vi /etc/sysconfig/iptables 打開配置文件加入以下語句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 重啓防火牆,修改完成
複製代碼
/sbin/iptables -I INPUT -p tcp --dport 80 -j DROP 寫入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重啓防火牆,修改生效
複製代碼
vi /etc/sysconfig/iptables 打開配置文件加入以下語句
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP 重啓防火牆,修改完成
複製代碼
/etc/init.d/iptables status
複製代碼
有時啓動應用時會發現端口已經被佔用,或者是感受有些端口本身沒有使用卻發現是打開的。這時咱們但願知道是哪一個應用/進程在使用該端口。 CentOS下能夠用netstat或者lsof查看,Windows下也能夠用netstat查看,不過參數會不一樣
netstat -nap #會列出全部正在使用的端口及關聯的進程/應用 lsof -i :portnumber #portnumber要用具體的端口號代替,能夠直接列出該端口聽使用進程/應用
netstat -lnp|grep 88 #88請換爲你的apache須要的端口,如:80
複製代碼
結果: nginx pid 473 佔用 採用 kill -9 473 可殺死進程
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 473/nginx
unix 2 [ ACC ] STREAM LISTENING 322345929 480/php-fpm /tmp/php-cgi.sock
複製代碼
netstat -nao #會列出端口關聯的的進程號,能夠經過任務管理器查看是哪一個任務 最後一列爲程序PID,再經過tasklist命令:tasklist | findstr 2724 再經過任務管理結束掉這個程序就能夠了