无法在 Linux 上安装 Nginx

无法在 Linux 上安装 Nginx

我刚刚创建了一个 Ubuntu 服务器。我尝试安装 Nginx,但出现错误。

root@scw-eefca0:~# sudo apt-get install nginx
Reading package lists... Done
Building dependency tree        
Reading state information... Done
nginx is already the newest version (1.10.0-0ubuntu0.16.04.4).
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.10.0-0ubuntu0.16.04.4) ...
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.10.0-0ubuntu0.16.04.4) | nginx-full (>= 1.10.0-0ubuntu0.16.04.4) | nginx-light (>= 1.10.0-0ubuntu0.16.04.4) | nginx-extras (>= 1.10.0-0ubuntu0.16.04.4); 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.10.0-0ubuntu0.16.04.4.1~) | nginx-full (<< 1.10.0-0ubuntu0.16.04.4.1~) | nginx-light (<< 1.10.0-0ubuntu0.16.04.4.1~) | nginx-extras (<< 1.10.0-0ubuntu0.16.04.4.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
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 Mon 2017-01-23 13:40:38 UTC; 10min ago
  Process: 12375 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

Jan 23 13:40:38 scw-eefca0 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jan 23 13:40:38 scw-eefca0 nginx[12375]: nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
Jan 23 13:40:38 scw-eefca0 nginx[12375]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jan 23 13:40:38 scw-eefca0 systemd[1]: nginx.service: Control process exited, code=exited status=1
Jan 23 13:40:38 scw-eefca0 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Jan 23 13:40:38 scw-eefca0 systemd[1]: nginx.service: Unit entered failed state.
Jan 23 13:40:38 scw-eefca0 systemd[1]: nginx.service: Failed with result 'exit-code'.

这是一个全新的服务器,除了更新 apt-get 之外我没有配置任何东西。

答案1

nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)

Nginx 尝试启动并连接到 [::]:80,但无法连接。可能是因为机器上禁用了 IPv6。启用 IPv6 或更改 nginx 配置。在配置文件中搜索此行/etc/nginx/nginx.conf

listen [::]:80 default_server;

并注释掉它:

# listen [::]:80 default_server;

重启nginx:

systemctl nginx restart

或者,如果出现未运行的错误:

systemctl nginx start

然后再次运行安装命令。

相关内容