Linux環境下,怎么確定Nginx是以那個config文件啟動的?
輸入命令行: ps -ef | grep nginx
摁回車,將出現如下圖片:
Linux下查看Nginx安裝目錄、版本號信息?
master process 后面的就是 nginx的目錄。
怎么查看服務器上安裝的nginx版本號,主要是通過ngix的-v或-V選項,查看方法如下圖所示:
Linux下查看Nginx安裝目錄、版本號信息?
-v 顯示 nginx 的版本。
-V 顯示 nginx 的版本,編譯器版本和配置參數。
Linux下如何查看定位當前正在運行的Nginx的配置文件
Linux在啟動一個進程時,系統會在/proc下創建一個以PID命名的文件夾,在該文件夾下會有我們的進程的信息,其中包括一個名為exe的文件即記錄了絕對路徑,通過ll或ls –l命令即可查看。
cwd符號鏈接的是進程運行目錄;
exe符號連接就是執行程序的絕對路徑;
cmdline就是程序運行時輸入的命令行命令;
environ記錄了進程運行時的環境變量;
fd目錄下是進程打開或使用的文件的符號連接。
------------------------------------------------------------------
cat /proc/xxxx/environ |grep PWD
查看命令的絕對路徑。
因為備份、不同版本等問題,導致ECS Linux上存放有多個Nginx目錄,可以通過如下方法定位當前正在運行的Nginx的配置文件:
1. 查看nginx的PID,以常用的80端口為例:
netstat -anop | grep 0.0.0.0:80
2. 通過相應的進程ID(比如:4562)查詢當前運行的nginx路徑:
ll /proc/4562/exe
3. 獲取到nginx的執行路徑后,使用-t參數即可獲取該進程對應的配置文件路徑,如:
# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
linux如何查詢端口上的應用
sof -i:端口 ===>得到進程
例如:
lsof -i :22 知道22端口被哪個進程占用
netstat -lnp|grep 7000 查看7000端口被哪個進程占用
ps axu | grep 61354 ===>得到應用
Linux根據端口號查看進程PID
命令netstat,以查找占用80端口為例,用法如下:
[root@localhost sbin]# netstat -nlp|grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8246/nginx [root@localhost sbin]#
命令ps,可以查看已知進程PID的執行目錄的詳細信息
[root@localhost sbin]# ps -ef | grep 8246
root 8246 1 0 14:56 ? 00:00:00 nginx: master process ./nginx
nobody 8247 8246 0 14:56 ? 00:00:00 nginx: worker process
root 8461 2679 0 15:26 pts/1 00:00:00 grep 8246
[root@localhost sbin]# ps -x | grep 8246
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
8246 ? Ss 0:00 nginx: master process ./nginx
8463 pts/1 S+ 0:00 grep 8246
[root@localhost sbin]#