Mateデスクトップを使用して、新しくインストールしたUbuntu Server 15.10にnginxをインストールしようとしています。
私は簡単な更新を行いました:
Sudo apt-get update
Nginxをインストールしようとしています:
Sudo apt-get install nginx
ここに私が得ているものがあります:
server@Node1:~/nod$ Sudo apt-get install nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
nginx is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up nginx-core (1.9.3-1ubuntu1.1) ...
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
invoke-rc.d: initscript nginx, action "start" failed.
dpkg: error processing package nginx-core (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of nginx:
nginx depends on nginx-core (>= 1.9.3-1ubuntu1.1) | nginx-full (>= 1.9.3-1ubuntu1.1) | nginx-light (>= 1.9.3-1ubuntu1.1) | nginx-extras (>= 1.9.3-1ubuntu1.1); however:
Package nginx-core is not configured yet.
Package nginx-full is not installed.
Package nginx-light is not installed.
Package nginx-extras is not installed.
nginx depends on nginx-core (<< 1.9.3-1ubuntu1.1.1~) | nginx-full (<< 1.9.3-1ubuntu1.1.1~) | nginx-light (<< 1.9.3-1ubuntu1.1.1~) | nginx-extras (<< 1.9.3-1ubuntu1.1.1~); however:
Package nginx-core is not configured yet.
Package nginx-full is not installed.
Package nginx-light is not installed.
Package nginx-extras is not installed.
dpkg: error processing package nginx (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
nginx-core
nginx
E: Sub-process /usr/bin/dpkg returned an error code (1)
以下はsystemctl status nginx.service
の出力です
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2016-02-27 20:32:18 EST; 32min ago
Process: 6023 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Process: 6020 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Feb 27 20:32:16 Node1 nginx[6023]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Feb 27 20:32:17 Node1 nginx[6023]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Feb 27 20:32:17 Node1 nginx[6023]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Feb 27 20:32:17 Node1 nginx[6023]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Feb 27 20:32:17 Node1 nginx[6023]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Feb 27 20:32:18 Node1 nginx[6023]: nginx: [emerg] still could not bind()
Feb 27 20:32:18 Node1 systemd[1]: nginx.service: Control process exited, code=exited status=1
Feb 27 20:32:18 Node1 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Feb 27 20:32:18 Node1 systemd[1]: nginx.service: Unit entered failed state.
Feb 27 20:32:18 Node1 systemd[1]: nginx.service: Failed with result 'exit-code'.
これは15.10での初めての経験であり、もっと簡単になりたいと思っていました。サーバーのインストールと、14.xxへのロールバックを検討する時間はほとんどありません。解決策があれば教えてください。
ありがとうございました。
Apacheがインストールされている場合。
次のコマンドを適用します。
Apache2を停止します
service Apache2 stop
次に、nginxをインストールします
Sudo apt-get install nginx
バグがあります。修正を手動で編集できます。
私はデジタルオーシャンレポでそれを持っています。 virtualminを使用していますか?
私は同じ問題を抱えていました。 Apacheについてのアドバイスは、セットアップ中に積極的にアンインストールしたため、関係ありませんでした。
結局、nginxの構成ファイル/etc/nginx/nginx.conf
と/lib/systemd/system/nginx.service
のサービススクリプトとの競合の結果を見ていました。
具体的には、サービススクリプトはdaemon on
を含むいくつかのオプションでnginxを起動していました。
$ cat /lib/systemd/system/nginx.service
...
[Service]
...
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
...
端末で/usr/sbin/nginx -g 'daemon on; master_process on;'
を直接実行すると、次のエラーが発生しました。
nginx: [emerg] "daemon" directive is duplicate in /etc/nginx/nginx.conf:1
/etc/nginx/nginx.conf
を見て、見つかりました(1行目):
daemon off;
これをコメントアウトしてSudo apt-get -f install
を実行すると、問題が解決しました。