J'ai installé nginx via yum localement sur une machine virtuelle. Tout s'est bien passé lors de l'installation, mais lorsque j'y ai accédé, j'ai obtenu. a 403,
Alors vérifiez le journal nginx, le chemin est /var/log/nginx/error.log. Ouvrez le journal et recherchez l'erreur Autorisation refusée. L'erreur détaillée est la suivante :
1. open() "/data/www/1.txt" a échoué (13 : Autorisation refusée), client : 192.168. 1.194, serveur : www.web1.com, requête : "GET /1.txt HTTP/1.1", hôte : "www.web1.com"
Aucune autorisation ? J'ai donc trouvé beaucoup d'informations et je peux résoudre ce problème en suivant les quatre étapes suivantes. Il se peut que vous ayez simplement un problème avec la configuration précédente et que les quatre étapes n'aient pas nécessairement été utilisées.
1. En raison de l'incohérence entre l'utilisateur de démarrage et l'utilisateur actif de nginx
1.1 Vérifiez l'utilisateur de démarrage de nginx et constatez que ce n'est personne, mais il est démarré. avec root
Commande : ps aux | grep "nginx: worker process" | awk'{print $1}'
1.2 Changer l'utilisateur de nginx.config pour qu'il soit le même que l'utilisateur de démarrage ,
Commande : vi conf/nginx.conf
2. Le fichier index.html ou index.php est manquant, qui est le fichier spécifié dans la ligne index index.html index.htm dans le fichier de configuration.
1. serveur {
2. écoute 80;
3. nom_serveur localhost;
4. ;
5. racine /data/www/;
6. }
S'il n'y a pas d'index.php, index.html sous /data/www/, Direct le fichier signalera 403 interdit.
3. Problèmes d'autorisation. Si nginx n'a pas l'autorisation d'exploiter le répertoire Web, une erreur 403 se produira également.
Solution : modifiez les autorisations de lecture et d'écriture du répertoire Web, ou remplacez l'utilisateur de démarrage de nginx par l'utilisateur du répertoire, et redémarrez Nginx pour résoudre le problème
1 . chmod -R 777 /données
2. chmod -R 777 /data/www/
4 La raison pour laquelle SELinux est défini sur l'état ouvert (activé).
4.1. Vérifiez l'état actuel de selinux.
1. /usr/sbin/sestatus
4.2. Changez SELINUX=enforcing en SELINUX=disabled.
1. vi /etc/selinux/config
2.
3. #SELINUX=enforcing
4. 🎜>4.3, redémarrez pour prendre effet. redémarrer.
1. redémarrer
Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne Tutoriel Nginx pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!