بقدر ما يتعلق الأمر بإدارة خادم الويب ، يمكن أن تظهر العديد من المفاجآت غير السارة. خاصة عند الانتقال من إصدار أقدم من نظام التشغيل إلى إصدار أحدث. Vsalable على حد سواء أوبونتو ولل CentOS.
من CentOS 5 ، عام CentOS 7 لقد تغيرت أشياء كثيرة نحو الأفضل. وكان التركيز بشكل كبير على الأمن والاستقرار. للمبتدئين في Linux أو للمستخدم الذي ليس على علم بما هو جديد من حيث الخوادم والخدمات الخاصة بإدارة 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: [ظهور] فتح () فشل" المسار "(13: تم رفض الإذن)"
معزز بالأمان Linux (SELinux) هي وحدة يتم تنشيطها غالبًا مع التثبيت CentOS 7 أو توزيعات أخرى من Linux. تقدم هذه الوحدة عدة أدوات التحكم والوصول إلى التحكم على مستوى الخادم ، كونه حارس جيد عندما يتعلق الأمر الأمن والنزاهة. ومع ذلك، قد تحد من امتيازات الخدمات والتطبيقات الهامة، مثبتة على النظام.
الحل البسيط للمشكلة المذكورة أعلاه هو تعطيلها SELinux.
كيف يمكننا تعطيله SELinux pe 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. بعد حفظ الملف أعلاه ، أعد تشغيل الخادم.
كل شيء يجب أن يعمل بسلاسة.
كنت أحاول حل المشكلة منذ عدة أيام ، شكرًا جزيلاً لك على مساهمتك !!