ปัญหาในการติดตั้ง nginx-full บน debian 8


23

ฉันมีปัญหาในการติดตั้ง nginx pkg (nginx-full) บน debian jessie

# 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

# systemctl status nginx.service อยู่ที่นั่นและ journalctl -xn ส่งคืน "ไม่พบไฟล์เจอร์นัล"
gnomex

ฉันมีปัญหาเดียวกันตั้งแต่ฉันติดตั้ง lighttpd ก่อน มันจะดีถ้า Nginx จะให้เกิดข้อผิดพลาดที่ดีขึ้นแม้ว่า @Shutupsquare: สำหรับผมว่าการส่งออกก็ไม่มีประโยชน์และไม่อนุญาตให้มีการสรุปว่าพอร์ตที่ถูกบล็อกแล้ว ...
คริส

คำตอบ:


26

ปัญหาที่คล้ายกันคือรายงานบนDebian ข้อผิดพลาด # ในที่สุดมันก็เป็นเพียงแค่พอร์ต 80 ที่ถูกดำเนินการโดยกระบวนการอื่น ๆ (Apache2) อาจเป็นกรณีของคุณเช่นกัน?


เมื่ออ่านข้อผิดพลาดสิ่งนี้ควรล้มเหลวอย่างสง่างามและไม่เป็นทางการ มันควรจะเป็นไปได้ที่จะสลับไปยังพอร์ตอื่นถ้าพอร์ตปัจจุบันถูกใช้งานอยู่ ฉันคิดว่า postgresql ทำอะไรเช่นนี้
Faheem Mitha

ข้อผิดพลาดได้รับการแก้ไขในรุ่น 1.6.1-2 ตอนนี้ทุกสิ่งทำงานได้อย่างสมบูรณ์แบบ
gnomex

@gnomex Nope, 1.9.10-1 ในยืดและฉันจะต้องหยุดการติดตั้งapache2 nginx-full
berbt

ในกรณีของฉันวานิชใช้พอร์ต 80 ขณะที่ฉันพยายามติดตั้ง nginx สำหรับ 443 ขอบคุณสำหรับเคล็ดลับ
NoChecksum

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 ฉันไม่สามารถติดตั้ง nginx ด้วย

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 (ฉันทำสิ่งนี้โดยใช้ผู้ใช้รูท)
  3. เพียงเพื่อให้แน่ใจว่าฉันได้รีบูตเซิร์ฟเวอร์ของฉัน
  4. เพียงเพื่อให้แน่ใจว่าเป็นครั้งที่สองที่ผมทำแล้วsudo apt-get updatesudo apt-get upgrade
  5. ในที่สุดฉันก็โทรมาsudo apt-get install nginx-fullแล้วก็ใช้งานได้

ฉันได้เห็นหน้าจอ Titlescreen ของ nginx เมื่อฉันพิมพ์ใน IP ของเซิร์ฟเวอร์ระยะไกลของฉัน!


0

ในกรณีของฉันข้อผิดพลาดคือเซิร์ฟเวอร์ปิดใช้งาน IPv6 เพียงแก้ไขไฟล์กำหนดค่า nginx เพื่อแก้ไข (ตัวอย่างเช่น: / etc / nginx / sites-enabled / default) และรีสตาร์ท nginx demon


0

ฉันมีปัญหาเดียวกัน คำแนะนำเกี่ยวกับ Apache ไม่เกี่ยวข้องเนื่องจากฉันจะถอนการติดตั้งอย่างแข็งขันในระหว่างการติดตั้ง

จะเปิดออกผมเห็นผลของความขัดแย้งระหว่างไฟล์ config 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: initscript nginx, การกระทำ "เริ่มต้น" ล้มเหลว dpkg: แพคเกจการประมวลผลข้อผิดพลาด nginx-full (--configure): subprocess ที่ติดตั้งสคริปต์หลังการติดตั้งส่งคืนสถานะข้อผิดพลาดออก 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 (<< 1.6.2-5 + deb8u4.1 ~) | nginx-extras (<< 1.6.2-5 + deb8u4.1 ~); อย่างไรก็ตาม: แพคเกจ nginx- เต็มยังไม่ได้กำหนดค่า ไม่ได้ติดตั้งแพ็กเกจ nginx-light
ไม่ได้ติดตั้งแพ็กเกจ nginx-extras

dpkg: แพคเกจการประมวลผลข้อผิดพลาด nginx (- กำหนดค่า): ปัญหาการอ้างอิง - พบข้อผิดพลาดที่ไม่ได้กำหนดค่าขณะประมวลผล: nginx- เต็ม nginx E: กระบวนการย่อย / usr / bin / dpkg ส่งคืนรหัสข้อผิดพลาด (1)

และ

~# systemctl status nginx.service  

nginx.service - เว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์ย้อนกลับ Loaded: โหลด (/lib/systemd/system/nginx.service; เปิดใช้งาน) ใช้งาน: ล้มเหลว (ผลลัพธ์: exit-code) ตั้งแต่อังคาร 2017-03-21 04: 35:29 EDT; 1 นาที 33
วินาทีที่ผ่านมากระบวนการ: 19912 ExecStartPre = / usr / sbin / nginx -t -q -g daemon on; เปิด master_process; (รหัส = ออกจากสถานะ = 1 / ความล้มเหลว) PID หลัก: 18408 (รหัส = ออกจากสถานะ = 0 / สำเร็จ)

21 มี.ค. 04:35:29 dayinhu nginx [19912]: nginx: [ฉุกเฉิน] open () "/etc/nginx/nginx.conf" ล้มเหลว (2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว) Mar 21 04:35:29 dayinhu nginx [19912]: nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf การทดสอบล้มเหลว 21 มี.ค. 04:35:29 dayinhu systemd [1]: nginx.service: กระบวนการควบคุมออกแล้วรหัส = สถานะที่ออก = 1 มี.ค. 21 04:35 : 29 dayinhu systemd [1]: ไม่สามารถเริ่มเว็บเซิร์ฟเวอร์ประสิทธิภาพสูงและพร็อกซีเซิร์ฟเวอร์ย้อนกลับ 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 80เป็น443
  2. หยุดบริการ apache2
  3. ติดตั้ง nginx
  4. รีสตาร์ท apache2
  5. apt-get update
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.