HTTPS証明書をインストールしてみましたが、数時間壁に頭をぶつけた後、Nginxが/etc/nginx/sites-available/
に含まれるサイト構成ファイルで行った変更を取得していないことに気付きました
service nginx restart
を実行すると、正常に再起動します。 nginx -t
を実行すると、構文に問題がなく、構成テストが成功したと表示されます。ただし、service nginx reload
を実行すると、reload: Not running
というエラーが表示されます
/var/log/nginx/error.log
を見ると、これらのエラーがあります。
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use)
2016/08/29 16:04:40 [emerg] 14744#14744: still could not bind()
ぐるぐる回った後、このコマンドnetstat -plutn | grep 80
に遭遇しました...
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14642/nginx: worker
tcp6 0 0 :::80 :::* LISTEN 14642/nginx: worker
これが本当に何を意味するのかはわかりませんが、読んでみると、Nginxがポート80で実行されてはいけないようです。 Nginxは私のウェブサーバーですが、ポート80で実行したくないですか?
進め方がわからない。 service nginx reload
コマンドを使用してサイト構成ファイルに加えた変更をNginxに取得させたいと同時に、10のWebサイトがホストされているため、ネット上で見つけたコマンドをコピーして貼り付けるのをためらっています。このサーバー上。
どこが間違っているのですか? sites-available
フォルダー内のdefault
ファイルを削除しようとしましたが、問題が何であるか、およびその修正方法がよくわかりません。
問題が修正されました。ティムが言ったように、私はps -ef | grep nginx
コマンドを使用して手動で実行したkill PID
すべてのプロセス。それから私は走ったservice nginx restart
そしてすべてうまくいった。次に私が走ったときservice nginx reload
エラーは発生せず、HTTPS証明書が機能するようになりました。ティムとドモラティ、ありがとう
Initスクリプトとnginxのpidファイルの場所に問題があるようです。次のように手動でnginxを強制終了できます。
須藤キル14642
次に、次のようにinitスクリプトを介してnginxを起動します。
Sudoサービスnginx開始
そこから、initスクリプトとnginx.confファイルをコピーして貼り付けると、pidの問題を見つけることができると確信しています。