[FIX] Η εκκίνηση NGINX απέτυχε CentOS 7 - nginx: [emer] open () "path" απέτυχε (13: Δεν επιτρέπεται η άδεια)

Όσον αφορά τη διαχείριση διαδικτυακών διακομιστών, μπορεί να προκύψουν πολλές δυσάρεστες εκπλήξεις. Ειδικά όταν μεταβαίνουμε από μια παλαιότερη παλαιότερη έκδοση ενός λειτουργικού συστήματος σε ένα νέο. Vsalable και για τα δύο Ubuntu και για CentOS.

Από CentOS 5 σε 7 CentOS πολλά πράγματα έχουν αλλάξει προς το καλύτερο. Η προσοχή εστιάστηκε στην ασφάλεια και τη σταθερότητα. Για ένα linux αρχάριος, ή για έναν χρήστη που δεν γνωρίζει τι νέο υπάρχει σχετικά με τους εξυπηρετητές και τις υπηρεσίες που είναι ειδικά για τη διαχείριση web hosting, μικρές ειδήσεις μπορούν να σας δώσουν πονοκεφάλους.

Ένα από τα πιο κοινά σφάλματα που αντιμετωπίστηκαν κατά την εγκατάσταση του 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: [emer] open ()" path "απέτυχε (13: Άρνηση άδειας)"

Ασφάλεια-Ενισχυμένο Linux (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. Μετά την αποθήκευση του παραπάνω αρχείου, restartέχετε τον διακομιστή.

Όλα πρέπει να λειτουργούν ομαλά.

Παθιασμένος με την τεχνολογία, μου αρέσει να δοκιμάζω και να γράφω σεμινάρια για λειτουργικά συστήματα macOS, Το Linux, Windows, σχετικά με τη διαμόρφωση διακομιστή ιστού WordPress, WooCommerce και LEMP (Linux, NGINX, MySQL και PHP). Γράφω StealthSettings.com από το 2006 και λίγα χρόνια αργότερα άρχισα να γράφω στο iHowTo.Tips σεμινάρια και ειδήσεις σχετικά με συσκευές στο οικοσύστημα Apple: iPhone, iPad, Apple Παρακολουθήστε, HomePod, iMac, MacBook, AirPods και αξεσουάρ.

1 σκέψη σχετικά με το “[FIX] NGINX start start failed CentOS 7 - nginx: [emerg] open ()“ path ”απέτυχε (13: Η άδεια απορρίφθηκε)”

Αφήστε ένα σχόλιο