[แก้ไข] การเริ่มต้น NGINX ล้มเหลว CentOS 7 - nginx: [emergen] open () "path" ล้มเหลว (13: ปฏิเสธการอนุญาต)

ในแง่ของการจัดการเว็บเซิร์ฟเวอร์อาจเกิดความประหลาดใจอันไม่พึงประสงค์ขึ้นได้ โดยเฉพาะอย่างยิ่งเมื่อย้ายจากระบบปฏิบัติการเวอร์ชันเก่าที่เก่ากว่าไปเป็นระบบใหม่ Vsalable สำหรับทั้งคู่ อูบุนตู และสำหรับ CentOS.

จาก CentOS 5 ถึง 7 CentOS หลายสิ่งหลายอย่างเปลี่ยนไปเพื่อสิ่งที่ดีกว่า การมุ่งเน้นไปที่การรักษาความปลอดภัยและความมั่นคง สำหรับ linux สามเณรหรือสำหรับผู้ใช้ที่ไม่ทราบว่ามีอะไรใหม่เกี่ยวกับเซิร์ฟเวอร์และบริการเฉพาะสำหรับการจัดการ เว็บโฮสติ้งข่าวเล็ก ๆ น้อย ๆ สามารถทำให้คุณปวดหัว

หนึ่งในข้อผิดพลาดที่พบบ่อยที่สุดเมื่อติดตั้ง LEMP (Linux, NGINX, MySQL, PHP) สิทธิ์ด้านความปลอดภัยและบริการ ติดตั้งบนระบบปฏิบัติการ CentOS 7

ไม่สามารถเริ่มบริการ NGINX แม้ว่าทุกอย่างดูเหมือนว่าจะมีการกำหนดค่าอย่างดีในแง่ของ PHP-FPM และ NGINX


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

เรามีรายละเอียดดังต่อไปนี้ในสถานะ แต่พวกเขาไม่ได้ช่วยเรามาก

systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2019-03-08 06:57:41 UTC; 17s ago
Process: 4405 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
Process: 4704 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 4766 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
Process: 4764 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 4706 (code=exited, status=0/SUCCESS)
Mar 08 06:57:40 srv.xsystem.dev systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: [emerg] open() "/srv/www/web.dev/logs/access.log" failed (13: Permission denied)
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: configuration file /etc/nginx/nginx.conf test failed
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: nginx.service: control process exited, code=exited status=1
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: Unit nginx.service entered failed state.
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: nginx.service failed.

อย่างไรก็ตามเราเข้าใจว่าการเข้าถึงบริการ "nginx" กำลังปิดกั้นการดำเนินการบน CentOS 7

การแก้ปัญหา "nginx: [ที่เกิดขึ้นใหม่] open ()" path "ล้มเหลว (13: การอนุญาตถูกปฏิเสธ)"

ลินุกซ์เสริมความปลอดภัย (SELinux) เป็นโมดูลที่ส่วนใหญ่มักจะมาพร้อมกับการติดตั้ง CentOS 7 หรือการกระจาย Linux อื่น ๆ โมดูลนี้มีหลาย เครื่องมือควบคุมและการควบคุมการเข้าถึง ที่ระดับเซิร์ฟเวอร์ระวังตัวเมื่อพูดถึง ความปลอดภัยและความซื่อสัตย์. อย่างไรก็ตาม อาจ จำกัด สิทธิ์ของบริการและแอปพลิเคชันที่สำคัญติดตั้งบนระบบ

ทางออกที่ง่ายสำหรับปัญหาข้างต้นคือการปิดการใช้งาน SELinux

วิธีปิดใช้งาน SELinux บน CentOS 7

1 ก่อนอื่นตรวจสอบว่าโมดูลนี้เปิดใช้งานบนระบบโดยการดำเนินการคำสั่ง “sestatus”.

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

2 หากเปิดใช้งานบริการเรียกใช้บรรทัดคำสั่ง: "setenforce 0" จากนั้นไปและแก้ไขไฟล์ “/etc/selinux/config”.
ที่นี่คุณตั้ง: SELINUX=disabled.

3 หลังจากบันทึกไฟล์ข้างต้นให้รีสตาร์ทเซิร์ฟเวอร์

ทุกอย่างควรทำงานอย่างราบรื่น

[แก้ไข] การเริ่มต้น NGINX ล้มเหลว CentOS 7 - nginx: [emergen] open () "path" ล้มเหลว (13: ปฏิเสธการอนุญาต)

เกี่ยวกับผู้เขียน

ชิงทรัพย์

หลงใหลเกี่ยวกับทุกสิ่งที่หมายถึงแกดเจ็ตและไอทีฉันยินดีที่จะเขียนบน stealthsettings.com จาก 2006 และฉันชอบที่จะค้นพบสิ่งใหม่ ๆ เกี่ยวกับคอมพิวเตอร์และ macOS ระบบปฏิบัติการ Linux Windows, iOS และ Android

แสดงความคิดเห็น