Centos查看端口占用情況和開啟端口命令
阿新 • • 發佈:2018-11-30
詳細 配置 entos grep 文件 占用 sbin 防火 web
Centos查看端口占用情況命令,比如查看80端口占用情況使用如下命令:
lsof -i tcp:80
列出所有端口
netstat -ntlp
1、開啟端口(以80端口為例)
方法一:
/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 重啟防火墻,修改完成
2、關閉端口
方法一:
/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 重啟防火墻,修改完成
3、查看端口狀態
/etc/init.d/iptables status
有時啟動應用時會發現端口已經被占用,或者是感覺有些端口自己沒有使用卻發現是打開的。這時我們希望知道是哪個應用/進程在使用該端口。
CentOS下可以用netstat或者lsof查看,Windows下也可以用netstat查看,不過參數會不同
Linux:
netstat -nap #會列出所有正在使用的端口及關聯的進程/應用
lsof -i :portnumber #portnumber要用具體的端口號代替,可以直接列出該端口聽使用進程/應用
1、檢查端口被哪個進程占用
代碼如下復制代碼
netstat -lnp|grep 88 #88請換為你的apache需要的端口,如:80
SSH執行以上命令,可以查看到88端口正在被哪個進程使用。如下圖,進程號為 1777 。
2、查看進程的詳細信息
ps 1777
SSH執行以上命令。查看相應進程號的程序詳細路徑。如下圖。
3、殺掉進程,重新啟動apache
代碼如下復制代碼
kill -9 1777 #殺掉編號為1777的進程(請根據實際情況輸入)
service httpd start #啟動apache
SSH執行以上命令,如果沒有問題,apache將可以正常啟動。
Windows系統:
netstat -nao #會列出端口關聯的的進程號,可以通過任務管理器查看是哪個任務
最後一列為程序PID,再通過tasklist命令:tasklist | findstr 2724
再通過任務管理結束掉這個程序就可以了
Centos查看端口占用情況和開啟端口命令