在Debian 8上安装Nginx-full的问题


23

我在debian jessie上安装nginx pkg(nginx-full)时遇到一些问题

# apt-get install nginx-full
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  nginx-common
Suggested packages:
  fcgiwrap nginx-doc
The following NEW packages will be installed:
  nginx-common nginx-full
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 510 kB of archives.
After this operation, 1.271 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://debian.c3sl.ufpr.br/debian/ jessie/main nginx-common all 1.6.1-1 [83,6 kB]
Get:2 http://debian.c3sl.ufpr.br/debian/ jessie/main nginx-full amd64 1.6.1-1+b1 [427 kB]
Fetched 510 kB in 1s (266 kB/s)     
Selecting previously unselected package nginx-common.
(Reading database ... 170540 files and directories currently installed.)
Preparing to unpack .../nginx-common_1.6.1-1_all.deb ...
Unpacking nginx-common (1.6.1-1) ...
Selecting previously unselected package nginx-full.
Preparing to unpack .../nginx-full_1.6.1-1+b1_amd64.deb ...
Unpacking nginx-full (1.6.1-1+b1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up nginx-common (1.6.1-1) ...
Setting up nginx-full (1.6.1-1+b1) ...
Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
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
Errors were encountered while processing:
 nginx-full
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)
   Active: failed (Result: exit-code) since Sex 2014-09-05 11:39:46 BRT; 1s ago
  Process: 2972 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

#journalctl -xn
No journal files were found.

有人知道如何解决吗?


1
您能否添加“ systemctl status nginx.service”和“ journalctl -xn”的输出
0x7c0 2014年

#systemctl status nginx.service存在,并且journalctl -xn返回“未找到日志文件”。
gnomex 2014年

自从我首先安装lighttpd以来,我遇到了同样的问题。如果nginx将提供更好的错误消息,那将是很棒的,尽管@Shutupsquare:对我而言,输出无用,并且不能断定端口已被阻塞……
Chris

Answers:


26

Debian错误#754407报告了类似问题。最后,只是其他进程(Apache2)占用了端口80。也可能是您的情况吗?


阅读了该错误之后,这确实应该更优雅,更有意义地失败。如果当前端口正在使用中,那么也应该可以切换到另一个端口。我认为postgresql做这样的事。
Faheem Mitha 2014年

该错误已在版本1.6.1-2中修复。现在,所有事物都运行良好
gnomex

@gnomex nope,Stretch中的1.9.10-1,我不得不停止apache2安装nginx-full
berbt

在我的情况下,Varnish在尝试为443安装nginx时正在使用端口80。感谢您的提示
NoChecksum 2016年

20

停止apache2

service apache2 stop

然后安装nginx

apt-get install nginx

然后庆祝吧!


9

以我为例

sudo apt-get remove nginx* --purge 之后,我安装了nginx-common

sudo apt-get install nginx-common

然后我安装了nginx

sudo apt-get install nginx

在此之后,我在浏览器中输入了ip,就可以了


1

我有同样的问题。我没有Apache,也没有其他东西阻止我的端口80。我无法使用

sudo apt-get install nginx

也没有

sudo apt-get install nginx-common nginx-full

一个星期后,我偶然发现了这个小博客:https : //etc.banana.fish/?p=75

在此博客中,解决方案是:

  1. 安装nginx-common: sudo apt-get install nginx-common
  2. listen [::]:80 default_server;/ etc / nginx / sites-enabled / default中删除(我使用root用户进行此操作)
  3. 可以肯定的是,我确实重启了服务器。
  4. 只是可以肯定的两倍,我做了sudo apt-get update,然后sudo apt-get upgrade
  5. 现在,我终于打电话给我了sudo apt-get install nginx-full

之后,当我输入远程服务器的IP时,我可以看到nginx的标题屏幕!


0

在我的情况下,错误是服务器禁用了IPv6。只需编辑nginx配置文件即可修复(例如:/ etc / nginx / sites-enabled / default),然后重新启动nginx恶魔。


0

我遇到了同样的问题。关于Apache的建议并不重要,因为我在安装过程中会主动将其卸载。

原来,我看到的是nginx的配置文件/etc/nginx/nginx.conf和处的服务脚本之间冲突的结果/lib/systemd/system/nginx.service

具体来说,服务脚本使用一些选项来启动nginx,包括daemon on

$ 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解决问题。


0

我在apt-get remove nginx和时遇到此问题apt-get automove nginx,之后我手动删除了nginx文件夹。当我apt-get install nginx再次出现这个问题时。

~# apt-get install  

nginx正在读取程序包列表...完成构建依赖关系树正在读取状态信息...已完成nginx已经是最新版本。0已升级,0新安装,0已删除和140未升级。2没有完全安装或卸下。此操作后,将使用0 B的额外磁盘空间。你想继续吗?[Y / n] y设置nginx-full(1.6.2-5 + deb8u4)... nginx.service的作业失败。有关详细信息,请参见“ systemctl status nginx.service”和“ journalctl -xn”。invoke-rc.d:初始化脚本nginx,操作“启动”失败。dpkg:错误处理软件包nginx-full(--configure):安装的子进程安装后的脚本返回了错误退出状态1 dpkg:依赖关系问题阻止了nginx的配置:nginx依赖于nginx-full(> = 1.6.2-5 + deb8u4 )| nginx-light(> = 1.6。2-5 + deb8u4)| nginx-extras(> = 1.6.2-5 + deb8u4); 然而:
软件包nginx-full尚未配置。未安装软件包nginx-light。未安装软件包nginx-extras。nginx取决于nginx-full(<< 1.6.2-5 + deb8u4.1〜)| nginx-light(<< 1.6.2-5 + deb8u4.1〜)| nginx-extras(<< 1.6.2-5 + deb8u4.1〜); 但是:软件包nginx-full尚未配置。未安装软件包nginx-light。
未安装软件包nginx-extras。

dpkg:错误处理软件包nginx(--configure):依赖关系问题-未配置处理时遇到错误:nginx-full nginx E:子进程/ usr / bin / dpkg返回错误代码(1)

~# systemctl status nginx.service  

nginx.service-高性能Web服务器和反向代理服务器已加载:已加载(/lib/systemd/system/nginx.service;已启用)活动:自2017年2月21日星期二以来失败(结果:退出代码): 35:29 EDT;33分钟前1分钟
进程:19912 ExecStartPre = / usr / sbin / nginx -t -q -g守护程序打开;master_process on; (代码=退出,状态= 1 /失败)主PID:18408(代码=退出,状态= 0 /成功)

3月21日04:35:29 dayinhu nginx [19912]:nginx:[emerg] open()“ /etc/nginx/nginx.conf”失败(2:无此类文件或目录)3月21日04:35:29 dayinhu nginx [19912]:nginx:配置文件/etc/nginx/nginx.conf测试失败3月21日04:35:29 dayinhu systemd [1]:nginx.service:控制进程已退出,代码=退出状态= 3月21日04:35 :29 dayinhu systemd [1]:无法启动高性能Web服务器和反向代理服务器。3月21日04:35:29 dayinhu systemd [1]:单元nginx.service进入失败状态。

据说nginx.conf丢失了,我尝试了很多次都没有成功。

最终我固定了,

apt-get purge nginx nginx-common nginx-full
apt-get install nginx

-2
  1. 如果您有Skype:将Skype端口切换80443
  2. 停止apache2服务
  3. 安装nginx
  4. 重新启动apache2
  5. apt-get更新
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.