2016-06-02 5 views
1

と+のPHP5-FPM = 404エラーは、私がアマチュア、フロントエンドのWeb開発者です、と私は最近、いくつかのバックエンドの開発で私の手にしようとするUbuntuのサーバーを購入しました。私は、php5-fpmを使用してエイリアス化されたロケーションブロックからPHPファイルを提供する方法を理解しようとしています。 404 - ページが見つかりませんでした。私は運がないと私がここで見つけることができる提案されたすべてのソリューションを試しました。私はまだ初心者ですとして、私は同様に迅速ELI5と私のconfファイルの残りの部分上の任意のポインタを愛することになるので、私はあまりにも何かを学ぶことができます。私は主なルートフォルダはフラスコのアプリケーションを実行していることを言及する必要があり、私はエイリアスされた場所を使用している理由です。nginxの別名場所

私の仮想ホスト:

nginxのconfのファイル

server { 
listen 80; 
listen [::]:80; 
server_name www.example.com example.com; 

root /var/www/example; 
large_client_header_buffers 8 32k; 
access_log /var/www/example/logs/access.log; 
error_log /var/www/example/logs/error.log; 


location/{ 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $remote_addr; #$proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-NginX-Proxy true; 
    proxy_pass http://app_test; 
    proxy_redirect off; 
} 


location /test_site { 
    alias /var/www/test_site; 
    index index.php index.html index.htm; 
    location ~ .php$ { 
       try_files $uri =404; 
       fastcgi_split_path_info ^(.+?\.php)(/.*)?$; 
       fastcgi_pass unix:127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
    } 
    } 

PHP5のwww.confファイル

[www] 
... 
user = www-data 
group = www-data 


listen = 127.0.0.1:9000 
#listen = /tmp/php5-fpm.sock 

listen.owner = www-data 
listen.group = www-data 
listen.mode = 0660 
... 

マイfastcgi_paramsファイルがデフォルトです。私はphpとnginxの両方のログをチェックしており、エラーはありません。どんな助けでも大歓迎です!

答えて

0

fastcgiを使用して入れ子になった場所で動作させると、aliasは複雑になります。あなたが簡略化され、構成上、test_site場所はaliasを使用する必要はありませんしていないと仮定すると

location /test_site { 
    root /var/www; 
    index index.php index.html index.htm; 
    location ~ \.php$ { 
     try_files $uri =404; 
     fastcgi_pass unix:127.0.0.1:9000; 
     include fastcgi_params; 
    } 
} 

これはaliasディレクティブを削除し、PHPブロックでエイリアシングの問題を解決します。また

注:location ~ \.php$ブロック上の正規表現が間違っていました。 fastcgi_split_path_infoおよびfastcgi_indexディレクティブは不要です。

nginxディレクティブはdocumented hereです。

関連する問題