yum を使用してローカル仮想マシンに nginx をインストールしました。インストールは正常でしたが、アクセス時間は 403、
それでは、nginx ログを確認してください。パスは /var/log/nginx/error.log です。ログを開き、「許可が拒否されました」というエラーを見つけます。詳細なエラーは次のとおりです:
1. open() "/data/www/1.txt" が失敗しました (13: 許可が拒否されました)、クライアント: 192.168。 1.194、サーバー: www.web1.com、リクエスト: "GET /1.txt HTTP/1.1"、ホスト: "www.web1.com"
権限がありませんか?そこで、多くの情報を見つけました。次の 4 つの手順でこの問題を解決できます。以前の構成に問題があるだけかもしれませんし、必ずしも 4 つの手順すべてを実行する必要はないかもしれません。
1. 起動ユーザーと nginx の動作ユーザーが一致していないため
1.1 nginx の起動ユーザーを確認すると、誰もいないことがわかりますが、 root で開始
コマンド: ps aux | grep "nginx: ワーカー プロセス" | awk'{print $1}'
1.2 起動ユーザーと一致するように nginx.config のユーザーを変更します。 ,
コマンド: vi conf/nginx.conf
2. 構成ファイルのインデックスindex.htmlindex.htm行で指定されているファイルindex.htmlまたはindex.phpが見つかりません。
1. サーバー {
2. リッスン 80;
3. サーバー名 localhost;
4. インデックスindex.phpindex.html ;
5. root /data/www/;
6. }
index.php、/data/www/配下のindex.htmlがない場合は、直接ファイルは 403 禁止を報告します。
3. 権限の問題: nginx に Web ディレクトリを操作する権限がない場合、403 エラーも発生します。
解決策: Web ディレクトリの読み取りおよび書き込み権限を変更するか、nginx の起動ユーザーをディレクトリのユーザーに変更し、Nginx を再起動して問題を解決します。
1 .chmod -R 777 /data
2. chmod -R 777 /data/www/
4. SELinux がオープン状態 (有効) に設定されている理由。
4.1. selinux の現在のステータスを確認します。
1. /usr/sbin/sestatus
4.2. SELINUX=enforcing を SELINUX=disabled 状態に変更します。
1. vi /etc/selinux/config
2.
3. #SELINUX=enforcing
4.SELINUX=disabled
4.3. 再起動して有効にします。リブート。
1.再起動
Nginx 関連の技術記事の詳細については、Nginx チュートリアル 列にアクセスして学習してください。
以上がnginx 403の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。