回答:
% ps -o args -C nginx
COMMAND
build/sbin/nginx -c ../test.conf
nginxが-c
オプションなしで実行された場合、-V
オプションを使用して、標準以外の値に設定された構成引数を見つけることができます。その中であなたにとって最も興味深いのは:
--prefix=PATH set installation prefix
--sbin-path=PATH set nginx binary pathname
--conf-path=PATH set nginx.conf pathname
どちらnginx -t
とnginx -V
デフォルトのnginxの設定ファイルのパスをプリントアウトします。
$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ nginx -V
nginx version: nginx/1.11.1
built by gcc 4.9.2 (Debian 4.9.2-10)
built with OpenSSL 1.0.1k 8 Jan 2015
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf ...
必要に応じて、次の方法で構成ファイルを取得できます。
$ nginx -V 2>&1 | grep -o '\-\-conf-path=\(.*conf\)' | cut -d '=' -f2
/etc/nginx/nginx.conf
他の設定ファイルをロードした場合でも、デフォルト値が出力されます。
ps aux
現在読み込まれているnginx設定ファイルが表示されます。
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 11 0.0 0.2 31720 2212 ? Ss Jul23 0:00 nginx: master process nginx -c /app/nginx.conf
たとえば、実際に構成ファイルを取得するには、次のようにします。
$ ps aux | grep "[c]onf" | awk '{print $(NF)}'
/app/nginx.conf
which nginx
使用されているnginxのパスを提供します
編集(2017年1月18日)
この回答に対するウィルパルマーのコメントのおかげで、私は以下を追加しました...
HomeBrewなどのパッケージマネージャーを介してnginxをインストールした場合...
which nginx
使用されているnginxへの正確なパスを提供しない場合があります。ただし、それを使用してそれを見つけることができます
realpath $(which nginx)
@Daniel Liが述べたように
あなたは彼の方法でnginxの設定を取得できます
または、これを使用することもできます。
nginx -V
which nginx
現在のユーザー(現在のユーザーでなく、現在のシェル)のnginx のデフォルトパスのみを表示します。nginxが「使用されている」パスは表示されません。
他のすべての回答は役に立ちますが、nginx
オンにPATH
なっていないcommand not found
nginx
場合は役に立たない可能性があるため、実行しようとすると次のようになります。
Debian 7 Wheezyにnginx 1.2.1があります。nginx
実行可能ファイルはon PATH
ではないので、最初に見つける必要がありました。すでに実行されていたので、を使用してにあるps aux | grep nginx
ことがわかりました。/usr/sbin/nginx
そのため、を実行する/usr/sbin/nginx -t
必要がありました。
デフォルト以外の構成ファイル(つまり、ではない/etc/nginx/nginx.conf
)を使用する場合は、次の-c
パラメーターを指定して実行します/usr/sbin/nginx -c <path-to-configuration> -t
。
として実行するroot
必要がある場合もあります。そうしないと、nginxがログなどを開く権限を持っていない可能性があるため、コマンドが失敗します。