nginx
当尝试使用以下命令在 Debian 9/stretch 中安装时:
sudo apt-get install nginx-full
安装失败并出现以下错误:
Setting up nginx-full (1.10.2-2) ...
[FAIL] Starting nginx: nginx failed!
invoke-rc.d: initscript nginx, action "start" failed.
dpkg: error processing package nginx-full (--configure):
subprocess installed post-installation script returned error exit status 1
怎么了?
答案1
错误提示nginx
无法启动。因此,由于 Stretch 上的安装后脚本依赖于它的启动才能成功安装,因此它会显示该错误。
在尝试启动它以进一步调试问题时,它显示了更清晰的错误:
#nginx
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
这里发生的情况是,该服务器禁用了 IPv6,并且安装假定这是一台双堆栈计算机。
要纠正此问题,请编辑/etc/nginx/sites-enabled/default
并评论:
#listen [::]:80 default_server;
现在尝试再次安装它,它应该可以工作。
sudo apt-get install nginx-full
或者,正如 @Stephen Kitt 指出的:
sudo dpkg --configure --pending