getpwnam(“ www”)は/etc/nginx/nginx.confで失敗しました


24

nginx.confサンプルをubuntu 12.04ボックスにコピーしました(他のconfファイルをどこに置くかわかりません。nginxnoobです)。nginxを起動しようとすると、次のエラーが表示されます。

abe-lens-laptop@abe:/etc$ sudo service nginx start
Starting nginx: nginx: [emerg] getpwnam("www") failed in /etc/nginx/nginx.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed

このエラーはどういう意味ですか?どうすれば修正できますか?この投稿を見つけましたが、ユーザーは既にwww wwwに設定されています(リンクされたファイルに表示されている場合)NGINXユーザーを変更するにはどうすればよいですか?


nginx.configへのリンクが壊れている
ジョシュ・ノエ

回答:



8

他のオプション(新しいユーザーを作成したくない場合)は、nginx.confのユーザーフィールドを次のように置き換えることです。

user nobody;

3

wwwユーザーを作成します。Ubuntuでは、これは次のコマンドとフラグを使用して実行する必要があります。

sudo adduser --system --no-create-home --shell /bin/false --group --disabled-login www

0

マイケル・ハンプトンの答えは正しいですが、答えの一部にすぎません。より完全なバージョンは次のようになります。

  1. ユーザーが存在するかどうかを確認します
  2. また、Dockerコンテナの起動に使用するユーザーを確認します

もしあなたがそうするなら:

docker -u 0 ....

ユーザーがホストシステムに存在する場合でも、同じメッセージが表示されます。-uの後ろの値をユーザーnginxのIDに変更すると、この問題は解決します。


0

nginxバージョン:OpenSSL 1.1.0gでビルドされたgcc 5.4.0 20160609(Ubuntu 5.4.0-6ubuntu1〜16.04.9)によってビルドされたnginx / 1.13.9 2017年11月2日

ただ使う

user  nobody nogroup;

0

これは私にとって有効なコマンド「Scientific Linux」です

adduser  --no-create-home  --system  --user-group --shell /bin/false   www

または、www-data代わりに使用する場合はユーザー名

adduser  --no-create-home  --system  --user-group --shell /bin/false   www-data  

-1

同じ問題がありました...「nginx」ユーザーを選択しましたが、存在しませんでした。既存のものを選択してNGINXを再構成および再コンパイルすることで解決しました。

./configure --prefix = / opt / nginx --user = myUser --group = myUsergroup

今はすべて大丈夫です...


コンパイルオプションは、一部のディレクティブのデフォルト値を設定する方法です。もちろん、これらを変更するために再度nginxをコンパイルする必要はありません。これらのデフォルト値は設定ファイルによってオーバーロードされます。
ザビエルルーカス14年

もちろん、私たちは初めての話をしているconfguration /編集...
ホルヘ・ルイス・Guacarán

どこでそれを正確に読みましたか?最初の構成は、コンパイルとは関係ありません。
ザビエルルーカス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.