服務器:阿里云服務器 Ubuntu 16.04.3 LTS
自己弄了個學習的demo,搭建了vue + elementui + spring boot 前后端分離。將項目部署到服務器上面。
裝好nginx,為了避免沖突,將端口改為了8001,啟動nginx,發現訪問不了!
1.先查看nginx配置是否正確
執行下面的命令:
nginx -t #查看nginx配置是否正確 也可以切換到nginx的安裝目錄下的sbin目錄下,執行: ./nginx -t1
2.查看nginx是否啟動成功
ps -ef | grep nginx #查看nginx端口1
我先執行了1,2,發現nginx配置沒問題,且啟動成功了!那么,我預感到是端口沒開放,因為用的是阿里云的服務器,需要先配置安全組。
3.配置阿里云安全組,即放開對應的端口,讓其他主機可以訪問
ps:nginx里面我配置的端口8001,故這里放開8000-9000范圍的端口。但是訪問還是不行,那應該是服務器自身沒有放開8001這個端口。
4.檢查服務器對應的端口是否放開
4.1檢查防火墻是否開啟
然后懷疑是防火墻問題:
RHEL7 中使用了firewalld代替了原來的iptables,操作設置和原來有點不同:
查看防火墻狀態: systemctl status firewalld 或者 systemctl is-active firewalld
啟動防火墻: systemctl start firewalld
停止防火墻: systemctl stop firewalld
永久停用: systemctl disable firewalld
啟用防火墻: systemctl enable firewalld
我選擇關閉防火墻,然后重啟tomcat服務,再次訪問,發現還是不行。
其次懷疑是端口被占用:
修改tomcat/conf/server.xml,將8080端口號改為8090,重啟服務,發現可以正常訪問。
**那么**8080端口號被誰占用了呢?
使用netstat –apn | grep 8080,查看所有的進程和端口使用情況。發現下面的進程列表,其中最后一欄是PID/Program name 。
oracle 22725 oracle9i 3u IPv4 18621468 TCP RHEL3:6800 (LISTEN)
oracle 22725 oracle9i 4u IPv4 18621469 TCP RHEL3:6800->RHEL3:2174 (CLOSE_WAIT)
oracle 22725 oracle9i 8u IPv4 18621568 TCP RHEL3:6800->RHEL3:2175 (CLOSE_WAIT)
oracle 22725 oracle9i 9u IPv4 18621578 TCP RHEL3:6800->RHEL3:2176 (CLOSE_WAIT)
oracle 22726 oracle9i 3u IPv4 18621468 TCP RHEL3:6800 (LISTEN)
oracle 22726 oracle9i 4u IPv4 18621469 TCP RHEL3:6800->RHEL3:2174 (CLOSE_WAIT)
oracle 22726 oracle9i 8u IPv4 18621568 TCP RHEL3:6800->RHEL3:2175 (CLOSE_WAIT)
oracle 22726 oracle9i 9u IPv4 18621578 TCP RHEL3:6800->RHEL3:2176 (CLOSE_WAIT)
(1)查看開放的所有端口
命令一
netstat -a # 查看所有服務端口
命令二
nmap + ip地址 # 如:nmap 127.0.0.1
(2)很多時候 telnet 完就無法退出了,ctrl+c 有時也無法退出;
這個時候先執行:ctrl+] 然后在telnet 命令行輸入 quit 就可以退出了
4.2.2.放開端口,讓其他主機可以訪問:
請查閱該篇博客:linux端口開放指定端口的兩種方法
總結;一起學習的可以后臺私信“資料”送相關學習資料可以一起學習交流大家也可以關注一下,記得后臺私信“資料”送學習視頻需要C/C++ Linux服務器架構師學習資料后臺私信“資料”(資料包括C/C++,Linux,golang技術,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協程,DPDK,ffmpeg等等。。。),免費分享
在Windows系統上檢查Nginx的狀態,特別是如果你想了解Nginx是否正在運行以及其運行的具體情況,你可以采用以下幾種方法:
打開命令提示符(CMD)或PowerShell(無需管理員權限),輸入以下命令來檢查Nginx進程:
#cmd
tasklist /nh /fi "imagename eq nginx.exe"
如果Nginx正在運行,這條命令將會顯示Nginx進程的相關信息;如果沒有輸出,則說明Nginx沒有運行。
如果你的Nginx配置為Windows服務,可以通過以下步驟檢查其狀態:
Nginx提供了一個HTTP狀態頁面(如果在配置文件中啟用了stub_status模塊)。默認情況下,這個功能是關閉的,但如果你或你的管理員已經配置了,可以通過訪問 http://localhost/nginx_status(或相應的配置地址)來查看Nginx的工作狀態,包括活躍連接數、接受的請求數等信息。
檢查Nginx的錯誤日志也可以幫助了解Nginx的運行狀態,特別是如果Nginx沒有如預期那樣運行時。日志文件的位置通常在Nginx配置文件中指定,默認可能是 C:\nginx\logs\error.log。打開這個文件,可以查看是否有錯誤信息或警告,這些信息有助于診斷問題。
結合上述方法,你可以全面地了解并監控Windows系統上的Nginx狀態。