Ubuntu güncellemesinden bu yana Nginx başlamıyor (16.04)


0

Son zamanlarda Ubuntu sunucumu 16.04 sürümüne yükselttim. O zamandan beri nginx servisini başlatamıyorum.

Sonuçlar service nginx restart :

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

Sistem kayıtlarım ne diyor? cat /var/log/syslog ):

May 20 17:03:53: Stopped A high performance web server and a reverse proxy server.
May 20 17:03:53: Starting A high performance web server and a reverse proxy server...
May 20 17:03:53: nginx.service: Failed at step EXEC spawning /usr/sbin/nginx: No such file or directory
May 20 17:03:53: nginx.service: Control process exited, code=exited status=203
May 20 17:03:53: Failed to start A high performance web server and a reverse proxy server.
May 20 17:03:53: nginx.service: Unit entered failed state.
May 20 17:03:53: nginx.service: Failed with result 'exit-code'.

Sonuçları cat /lib/systemd/system/nginx.service :

# Stop dance for nginx
# =======================
#
# ExecStop sends SIGSTOP (graceful stop) to the nginx process.
# If, after 5s (--retry QUIT/5) nginx is still running, systemd takes control
# and sends SIGTERM (fast shutdown) to the main process.
# After another 5s (TimeoutStopSec=5), and if nginx is alive, systemd sends
# SIGKILL to all the remaining processes in the process group (KillMode=mixed).
#
# nginx signals reference doc:
# http://nginx.org/en/docs/control.html
#
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
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
# Use TERM instead of QUIT to prevent Nginx from leaving stale Unix socket and failing the next start (https://trac.nginx.org/nginx/ticket/753)
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry TERM/5 --pidfile /run/nginx.pid
# Give Passenger a chance to clean up before being killed by systemd.
ExecStop=/bin/sleep 1
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

Gerçekten de hiçbir dosya yok /usr/sbin/nginx, ben de denedim apt install nginx, ama işte sonuç:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nginx : Depends: nginx-core (>= 1.10.0-0ubuntu0.16.04.4) but it is not going to be installed or
                  nginx-full (>= 1.10.0-0ubuntu0.16.04.4) but it is not going to be installed or
                  nginx-light (>= 1.10.0-0ubuntu0.16.04.4) but it is not going to be installed or
                  nginx-extras (>= 1.10.0-0ubuntu0.16.04.4) but it is not going to be installed
         Depends: nginx-core (< 1.10.0-0ubuntu0.16.04.4.1~) but it is not going to be installed or
                  nginx-full (< 1.10.0-0ubuntu0.16.04.4.1~) but it is not going to be installed or
                  nginx-light (< 1.10.0-0ubuntu0.16.04.4.1~) but it is not going to be installed or
                  nginx-extras (< 1.10.0-0ubuntu0.16.04.4.1~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Güncelleme 1:

Özgeçmişleri systemctl status nginx.service koşu sonrası updatedb :

● 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 2017-05-20 17:41:49 CEST; 1min 30s ago
     Docs: man:nginx(8)
  Process: 11212 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
  Process: 11210 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)

May 20 17:41:48 ns3031916.ip-178-32-217.eu nginx[11212]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
May 20 17:41:48 ns3031916.ip-178-32-217.eu nginx[11212]: nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
May 20 17:41:48 ns3031916.ip-178-32-217.eu nginx[11212]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
May 20 17:41:49 ns3031916.ip-178-32-217.eu nginx[11212]: nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
May 20 17:41:49 ns3031916.ip-178-32-217.eu nginx[11212]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
May 20 17:41:49 ns3031916.ip-178-32-217.eu nginx[11212]: nginx: [emerg] still could not bind()
May 20 17:41:49 ns3031916.ip-178-32-217.eu systemd[1]: nginx.service: Control process exited, code=exited status=1
May 20 17:41:49 ns3031916.ip-178-32-217.eu systemd[1]: Failed to start A high performance web server and a reverse proxy server.
May 20 17:41:49 ns3031916.ip-178-32-217.eu systemd[1]: nginx.service: Unit entered failed state.
May 20 17:41:49 ns3031916.ip-178-32-217.eu systemd[1]: nginx.service: Failed with result 'exit-code'.

Bir acemi olarak, bu karışıklıkta oldukça kayboldum ve gerçekten biraz yardıma ihtiyacım var.

Zaman ayırdığınız için çok teşekkürler.


Ayrıca "updatedb" komutunu çalıştırıp "locate nginx" komutunu çalıştırabilir misiniz? Maalesef, itibar nedeniyle yorum yapamam. apt ile ilgili hataların ayrı ayrı çözülmesi gerekir.
Lewis Wheeler

Cevabınız için teşekkür ederim. Koşu sonrası updatedb, hala bir hata mesajı var: Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. Ama sonuncusundan farklı. Sonuçlarını görebilirsiniz systemctl status nginx.service içinde Güncelleme 1
William Mai

Yanıtlar:


0

Burada sorun çözüldü:
https://askubuntu.com/questions/917147/nginx-wont-start-since-ubuntu-upgrade-16-04/917152#917152

Sorunumu çözen Thomas Ward'ın cevabının kopyası / yapıştırması:

Demek ki çatışan ve onu yönlendiren iki şey var.   nginx ikili dosyalarına bir şekilde gidiyor: Xenial depo versiyonu,   ve NGINX PPA. Her ikisinin de sağlayıcısı olarak, açıklamama izin verin   fikir ayrılığı.

Xenial'da, güncelleme olarak yayınlandıktan hemen sonra 1.10.0 yayımladık. Bu   güncelleme bizi 'istikrarlı' bir şubeye itti ancak   dinamik olarak yüklenebilen modüller üretildi ve kullanıma sunuldu. Bu nedeniyle oldu   zamanla ama aynı zamanda testler sırasında ortaya çıkan çatışmaları da inşa etti. Biz   Sonunda Zesty'de çalışan dinamik modül desteği var.

PPA'da her zaman doğrudan Debian'dan klonladık. Yani, biz   her zaman Debian'ın 'dinamik modül' desteğini aldı;   Xenial paketleri ve bazı kurulum ve yükseltme ile sonuçlandı   çakışıyor.


Burada küçük bir çatışma var - karıştırıp eşleştiremezsiniz nginx-core (için yüklü varsayılan lezzet nginx paketlemek   Ubuntu) ve PPA'lar, bazen işleri ortadan kaldırır hale getirir.   Sorun burada, o zaman, mevcut Ubuntu paketini kaldırmak zorunda mıyız   ve sonra yalnızca PPA'dan yükleyin.

Bunu çözmek için önce nginx'inizi yedeklemeniz gerekir.   siteleriniz için saklamak istediğiniz yapılandırmalar. Yani, bir kopyasını al   / etc / nginx / sites-available / dizininizin başka bir yerde   Kullanıcının giriş dizini iyi, sitenin bir kopyasına ihtiyacımız var   düzenlemeler dahildir). Ayrıca, web sitesi verilerinizin bir yedeğine ihtiyacımız olacak,   bu yüzden başka bir yere de kopyalayın (standart dokümanda DEĞİL,   berbat olmaz).

Kopyayı yaptıktan sonra mevcut nginx'i kaldırmanız gerekir.   paketler. Bu, aşağıdaki komutla yapılabilir:

sudo apt-get remove nginx nginx-common nginx-doc nginx-core nginx-full nginx-extras nginx-light

Bu tamamlandığında, koş sudo apt-get update tekrar yapmak için   eminim ki en güncel sürüm numaralarına sahibiz.

Ardından, yükleyin nginx PPA'dan - sudo apt-get install nginx nginx-full nginx-common Bunu yapmalısın.

Artık hataları başlatmak için başarısız olmamanız gerekir. Emin olmak   site yapılandırmalarınız hala yerinde ve yapamadı   üzerine yazılır. Olursa, daha önce aldığımız yedeklerden geri yükleme   site config ve site verileri. Aksi takdirde, hepiniz hazırsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.