:~$ sudo apt-get remove nginx* && sudo apt-get install nginx-full* Reading package lists... Done Building dependency tree Reading state information... Done After this operation, 5,579 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://in.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 nginx-full-dbg amd64 1.10.0-0ubuntu0.16.04.1 [3,789 kB] Fetched 3,789 kB in 33s (112 kB/s) Selecting previously unselected package nginx-common. (Reading database ... 189767 files and directories currently installed.) Preparing to unpack .../nginx-common_1.10.0-0ubuntu0.16.04.1_all.deb ... Unpacking nginx-common (1.10.0-0ubuntu0.16.04.1) ... Selecting previously unselected package nginx-full. Preparing to unpack .../nginx-full_1.10.0-0ubuntu0.16.04.1_amd64.deb ... Unpacking nginx-full (1.10.0-0ubuntu0.16.04.1) ... Selecting previously unselected package nginx-full-dbg. Preparing to unpack .../nginx-full-dbg_1.10.0-0ubuntu0.16.04.1_amd64.deb ... Unpacking nginx-full-dbg (1.10.0-0ubuntu0.16.04.1) ... Processing triggers for ufw (0.35-0ubuntu1) ... Rules updated for profile 'Apache Full' Rules updated for profile 'Nginx HTTP' Processing triggers for systemd (229-4ubuntu4) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for man-db (2.7.5-1) ... Setting up nginx-common (1.10.0-0ubuntu0.16.04.1) ... Setting up nginx-full (1.10.0-0ubuntu0.16.04.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-full (--configure): subprocess installed post-installation script returned error exit status 1 dpkg: dependency problems prevent configuration of nginx-full-dbg: nginx-full-dbg depends on nginx-full (= 1.10.0-0ubuntu0.16.04.1); however: Package nginx-full is not configured yet. dpkg: error processing package nginx-full-dbg (--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-full nginx-full-dbg E: Sub-process /usr/bin/dpkg returned an error code (1)
9 Answers
Shutting down apache2 first before installing nginx should fix this problem:
sudo service apache2 stop
-
3Welcome to Ask Ubuntu! I recommend editing this answer to expand it with specific details about how to do this. (See also How do I write a good answer? for general advice about what sorts of answers are considered most valuable on Ask Ubuntu.) Jul 31, 2016 at 14:46
-
This gave me the hint I needed. In my case I was using a docker container which run another nginx server Feb 15, 2017 at 12:51
-
I hit the same thing, but finding the culprit with
netstat -tulpn | grep :80
, in my case it was Varnish configured to listen on port 80.systemctl stop varnish
, then installing Nginx, fixed it for me. Why Debian/Ubuntu packages try to start themselves on install is beyond me... I would rather install, configure it how I like it, then start it :P Jul 26, 2017 at 13:57 -
It's odd that NGINX doesn't check for this in their installer, and at least provide a more helpful message. Apache is very commonly installed on Linux systems. Oct 30, 2019 at 23:52
-
Yes this works for me , but one should cross verify other process using the port 80 and stop it in order to install nginx May 7, 2020 at 7:55
Andrew Chan provided the right answer for me. To extend his answer a bit, here's what you can do on the commandline;
stop apache2
sudo systemctl stop apache2.service
prevent apache2 to start at boot
sudo systemctl disable apache2.service
Reinstall nginx
sudo apt-get install nginx
-
1I would suggest that you not disable Apache2 at boot if you need it - there are many cases where you do not need to disable Apache if you end up configuring it to listen on another port. Having done this myself, for some setups, I can speak from some experience (I also do a lot of work in the nginx package, which is where this experience comes from)– Thomas Ward ♦Aug 2, 2016 at 15:09
In my case the error is the server has IPv6 disabled. Solution:
Edit /etc/nginx/sites-enabled/default
and comment IPv6 out:
listen [::]:80 default_server;
Reinstall nginx:
apt purge nginx
apt autoremove
apt install nginx
-
@DavidFoerster With apt 1.0, a new binary was introduced that collects many of the familiar (sub-)commands that were distributed among
apt-get
,apt-cache
and so forth. For example,apt update
equalsapt-get update
,apt search some-name
equalsapt-cache search some-name
and so forth. In some cases, there has been some rewording, likeapt full-upgrade
that equalsapt-get dist-upgrade
. The old binaries and their commands are still available for those who fancy them, as well. Oct 27, 2016 at 15:04 -
@HenningKockerbeck: Thanks. I truly didn't know back then and thought it was a typo but I educated myself in the mean time. Oct 27, 2016 at 17:51
-
Worked for me, but I can't implement this in my shell scripts for server deployment, that's ridiculously roundabout...– MenashehFeb 15, 2017 at 6:09
I just had this issue, but the solution was slightly different.
Once I solved a simple site misconfiguration, I was able to update nginx.
Check your nginx error log:
sudo cat /var/log/nginx/error.log|less
Then try again:
sudo apt-get update;sudo apt-get upgrade
-
logs FTW, in my case the 80 port was already in use which was the cause of error– xliivJun 30, 2017 at 18:47
In my case nothing helped at all, except of this:
sudo fuser -k 80/tcp
service nginx start
When I checked /var/log/nginx/error.log I saw that the installer was unable to open /var/cache/nginx/microcache
A directory listing showed there was no /var/cache/nginx directory, so I created it and the install succeeded.
Before the installation remove any manually added symlinks from /sites-enabled
.
-
This was driving me crazy. I hadn't realised I had old sites in sites-enabled and had tried everything. I'm glad I scrolled to the bottom.– MichaelNov 21, 2020 at 15:17
In my case it has been a misconfigurated file in /etc/nginx/sites-enabled/ I named them as .old files, but that does not matter. They will be readed and may prevend an successfull installation or start of that service. Be careful with files in that folder and read your error output carefully as discribed by @Taiger
I see you want to reinstall Nginx, but we can have the same error when we have Nginx run in Docker container.
In this case, just look at started containers:
user@host:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
f4ee2264d5fb docker_nginx "nginx -g 'daemon of…" 5 months ago Up 2 days 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp nginx
Just stop it with CONTAINER ID
docker stop f4ee2264d5fb
Then you are able to install Nginx
apt-get -f install
without any packagesystemctl -l status nginx
as wellSee "systemctl status nginx.service" and "journalctl -xe" for details.
– Can you please do that and include the output in your question?