14

php-cliと一緒にUbuntu10.10でnginx0.7.67をセットアップしました。フロントコントローラーベースのPHPフレームワークを実行しようとしていますが、index.phpを除くすべてのページで403エラーが発生します。

元 :

  1. http://mysite.com/styles/style.css-403禁止
  2. http://mysite.com/scripts/script.css-403禁止
  3. http://mysite.com/index.php-動作します

私の/etc/ nginx / sites-enabled/defaultは次のとおりです

server {
    listen          80;
    server_name     mysite.com;

    access_log      /var/log/nginx/access.log;
    error_log       /var/log/nginx/error.log warn;

    index           index.php index.html;
    root        /full/path/to/public_html;

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|html)$ {
            expires max;
    }


    location ~ index.php {
            include     /etc/nginx/fastcgi_params;
            keepalive_timeout 0;
            fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_pass    127.0.0.1:9000;
    }

}

上記を修正する方法について何か提案はありますか?

PS:これはエラーログからのエントリです

2010/10/14 19:56:15 [error] 3284#0: *1 open() "/full/path/to/public_html/styles/style.css" 
failed (13: Permission denied), client: 127.0.0.2, server: quickstart.local, 
request: "GET /styles/style.css HTTP/1.1", host: "mysite"
4

6 に答える 6

26

同じ問題がありました。CSSとJSのファイルとフォルダーに適切なアクセス許可を設定するだけで修正されました。権限の設定には注意してください。ただし、ファイルをWebで読み取るには、サーバープロセスを実行しているユーザーがファイルを読み取る必要があります。

chmod -R +rx css
chmod -R +rx js

読み取りおよび実行のアクセス許可を付与します。-R再帰用です。これは、世界中で読みたいファイルに対してのみ実行してください。

于 2013-12-13T04:27:20.267 に答える
7

代替ソリューション:nginx.conf(例:/usr/local/nginx/conf/nginx.conf)をこれらのファイルの所有者に編集して、実行ユーザーを変更します。

user myuser mygroup;
于 2014-08-05T02:31:38.967 に答える
2

あなたのロケーションラインでこれを試してください:

location ~* ^.+\.(js|css|png|jpg|jpeg|gif|ico|html)$ {

また

location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|html)$ {
于 2010-10-14T14:07:56.030 に答える
-1

すべての最上位ディレクトリにアクセス許可レベルとindex.htmlがあることを確認してください。ほとんどの場合、/ wwwに表示するファイルをコピーして、名前をindex.htmlに変更します。新しいindex.htmlに適切なアクセス許可があることを確認してください(もちろん、テストのためだけに777を確認してください)。

于 2012-08-19T22:32:38.163 に答える
-1

この問題の代替ソリューションを作成する必要があります。WordPressをPleskサーバーに移行すると、cssおよびjsスクリプトでこのエラーが発生します。Nginx構成では、jsファイルとcssファイルを取得する際にバグが発生します。CSSおよびJSスクリプトの読み込み中にワードプレスエラーが発生した場合(禁止)、nginxおよびapacheの構成が原因である可能性があります。

構成nginxとapacheのボックスのロックを解除します。

静的ファイルのインテリジェント処理->チェックなし

これで私の問題は解決します。他の人もpymessoft.comを願っています

于 2018-01-04T00:58:44.527 に答える
-2
    server {
        listen          80;
        server_name     mysite.com;

        access_log      /var/log/nginx/access.log;
        error_log       /var/log/nginx/error.log warn;

        index           index.php index.html;
        root        /full/path/to/public_html;

} <--- you forgot this one

        location ~* \.(js|css|png|jpg|jpeg|gif|ico|html)$ {
                expires max;
        }


        location ~ index.php {
                include     /etc/nginx/fastcgi_params;
                keepalive_timeout 0;
                fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_pass    127.0.0.1:9000;
        }

    }

場所を定義する前に、server{}を閉じる必要があります。

または、ファイルにアクセスできない場合は、ファイルの所有者をwww-dataまたはapacheに変更します。

于 2010-10-15T16:25:41.007 に答える