通過端口找到進程和項目
你想找到運行在 http://localhost:8091 的項目,也就是 Nginx 反向代理指向的后端服務。以下是幾種常用的方法來定位這個項目:
?? 方法一:使用 netstat 或 ss 查看端口占用
在服務器上執行以下命令,查看是哪個進程占用了 8091 端口:
sudo netstat -tulnp | grep :8091
或者使用較新的 ss 命令:
sudo ss -tulnp | grep :8091
輸出示例:
tcp 0 0 127.0.0.1:8091 0.0.0.0:* LISTEN 12345/node
重點關注最后一列,比如:
12345/node表示是一個 Node.js 進程。12345/python3表示是 Python 服務。12345/java可能是 Java/Spring Boot 應用。
記下進程 PID(如 12345),然后查看該進程的更多信息:
ps aux | grep 12345
輸出會顯示啟動命令和工作目錄,例如:
ccs 12345 0.0 1.2 1234567 89012 ? Sl 10:00 0:10 node /home/ccs/my-uniapp-server/bin/www
?? 這里的 /home/ccs/my-uniapp-server/ 就是項目目錄!
?? 方法二:使用 lsof 命令(如果有)
sudo lsof -i :8091
輸出會直接顯示進程名、PID 和用戶,便于追蹤。
?? 方法三:檢查常見的服務啟動方式
如果這是一個長期運行的服務,可能是通過以下方式啟動的:
1. PM2(Node.js 常用)
pm2 list
pm2 describe <app-name>
可以查看 Node.js 項目的路徑和狀態。
2. systemd 服務
systemctl list-units --type=service | grep 8091
# 或者搜索可能相關的服務名
systemctl list-units --type=service | grep node
查看某個服務的詳細信息:
systemctl status <service-name>
通常會顯示執行的命令和工作目錄。
3. Docker 容器
如果項目是用 Docker 運行的,檢查是否有容器映射了 8091 端口:
docker ps
看是否有類似:
CONTAINER ID IMAGE PORTS NAMES
abc123456789 my-node-app 0.0.0.0:8091->8091/tcp uniapp-server
然后進入容器或查看 docker inspect abc123456789 找到掛載路徑。
?? 方法四:搜索可能的項目目錄
如果你懷疑項目在某個用戶目錄下(比如 /home/ccs/),可以搜索包含 server、app.js、package.json 等文件的目錄:
find /home/ccs -name "package.json" -exec grep -l "8091" {} \;
或者查找監聽 8091 的配置文件:
grep -r "8091" /home/ccs/
?? 方法五:查看 Nginx 日志(輔助判斷)
雖然不能直接找到項目,但可以確認請求是否到達:
sudo tail -f /var/log/nginx/access.log
# 刷新網頁,看是否有訪問記錄
? 總結步驟建議:
ss -tulnp | grep :8091→ 找到 PIDps aux | grep <PID>→ 看命令和路徑- 如果是 Node.js,用
pm2 list查看 - 如果是 Docker,用
docker ps查看 - 如果是 systemd,用
systemctl status <服務名>
?? 一旦你找到項目路徑,就可以查看里面的 package.json、app.js、server.js 等文件,確認這就是你要找的項目。
如果你執行這些命令后得到輸出,可以貼出來,我可以幫你進一步分析。

浙公網安備 33010602011771號