Nginx เริ่มปัญหาใหม่


13

ทั้งหมดในทันทีเมื่อรีสตาร์ท Nginx ฉันได้รับข้อผิดพลาดดังต่อไปนี้:

การรีสตาร์ท nginx: [การแจ้งเตือน]: ไม่สามารถเปิดไฟล์บันทึกข้อผิดพลาด: open () "/var/log/nginx/error.log" ล้มเหลว (13: ปฏิเสธการอนุญาต)
2011/02/16 17:20:58 [เตือน] 23925 # 0: คำสั่ง "ผู้ใช้" จะสมเหตุสมผลถ้ากระบวนการหลักทำงานด้วยสิทธิ์ผู้ใช้ระดับสูงโดยไม่สนใจใน /etc/nginx/nginx.conf:1
ไฟล์การกำหนดค่า /etc/nginx/nginx.conf ไวยากรณ์นั้นใช้ได้
2011/02/16 17:20:58 [ฉุกเฉิน] 23925 # 0: open () "/var/run/nginx.pid" ล้มเหลว (13: ปฏิเสธการอนุญาต)
การกำหนดค่าไฟล์ /etc/nginx/nginx.conf การทดสอบล้มเหลว

ที่ส่วนหน้าของเว็บไซต์โหลด แต่บางไฟล์เช่น CSS โดยเฉพาะไม่โหลด มีอยู่ในเซิร์ฟเวอร์ แต่เมื่อโหลดทรัพยากรโดยตรงใน Chrome พวกเขาจะพูดว่า "ไม่พบหน้านี้เลย"

ฉันตั้งกลุ่มพิเศษและผู้ใช้ให้เรียกใช้ไฟล์ apache โดยใช้ suexec สำหรับไฟล์โดเมนของฉัน ฉันคิดว่า nginx เป็นเจ้าของโดย root แต่ที่ฉันคิดว่าเป็นปัญหา แต่เจ้าของไฟล์ nginx ที่ฉันจะเปลี่ยน?

คำตอบ:


15

หรือคุณสามารถเปลี่ยนการอนุญาตไฟล์ nginx.log เพื่อให้ตรงกับผู้ใช้ปัจจุบันของคุณซึ่งคุณใช้เพื่อเริ่ม nginx:

chown your_user /var/log/nginx/error.log

ฉันขอแนะนำให้คุณเพิ่มการอนุญาตนี้ลงใน nginx log dir ทั้งหมด

chown -R your_user /var/log/nginx/

11

เพียงเริ่ม nginx ในฐานะผู้ใช้รูทหรือใช้ sudo

$>sudo /etc/init.d/nginx start

$>sudo service nginx start

ไม่แน่ใจว่าคุณเป็นระบบปฏิบัติการใด ตั้งเจ้าของผู้ใช้ใน nginx.conf ของคุณ http://forum.nginx.org/read.php?11,2664


Dheivame ye kadavule ... จริง ๆ คำตอบของคุณช่วยฉันมาก :) ขอบคุณ
Abhiram

3

กระบวนการหลักของ nginx มีสิทธิ์ใช้งานรูท แต่ Amplify-agent จะดำเนินการคำสั่ง 'nginx -t' เป็นระยะ ๆ โดยผู้ใช้ที่ไม่ใช่รูท นั่นคือเหตุผลสำหรับข้อผิดพลาดเหล่านี้ใน error.log

ดังนั้นคุณอาจเพิกเฉยต่อข้อผิดพลาดเหล่านี้

ตรวจสอบโดยเปรียบเทียบผลลัพธ์จาก " sudo nginx -t"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.