2016-12-29 6 views
2

domain.com/apiでphpと一緒にノードを実行したい。私のnginxの設定は以下の通りですNginx php5.6 fpm空白ページを表示

server { 
    listen  80; 
    server_name domain.com; 
    return  301 http://domain.com$request_uri; 
} 
server { 
    listen 80; 
    server_name domain.com; 
    location/{ 
     proxy_pass http://domain.com:8080; 
     proxy_redirect off; 
     proxy_set_header  X-Forwarded-For $remote_addr; 
     location ~* \.(html|css|jpg|gif|ico|js)$ { 
       proxy_cache   cache; 
       proxy_cache_key  $host$uri$is_args$args; 
       proxy_cache_valid 200 301 302 30m; 
       expires    30m; 
       proxy_pass http://domain.com:8080; 
     } 
    } 
    location ^~ /api { 
     alias /var/www/html/testphp/api; 
     try_files $uri $uri/ @api; 
     location ~* \.php { 
      fastcgi_split_path_info ^(.+\.php)(/.+)$; 
      include /etc/nginx/fastcgi_params; 
      fastcgi_pass unix:/run/php/php5.6-fpm.sock; 
      fastcgi_index index.php; 
     } 
    } 
    location @api { 
     rewrite ^/api/(.*)$ /api/index.php/$1 last; 
    } 
} 

しかし、domain.api/test.phpファイルを実行すると、空白のページが表示されますか?これを解決する方法

+0

ここにヘルプがありますか? –

+0

私は、fastcgi_param行を追加しました。SCRIPT_FILENAME /var/www/html/testphp/api/test.php;それは特定のファイルで動作しますが、私はそれをfastcgi_param SCRIPT_FILENAME/var/www/html/testphp/api/$ fastcgi_script_nameに変更します。それは動作しません –

+0

'alias'の代わりに' root/var/www/html/testphp; 'を試してください。 –

答えて

0

私はこの構成を完全に動作させました。私はコードイグナイタを実行しており、正しく動作しています。

server { 
listen 80; 
server_name www.domain.com; 
root /var/www/html/testphp/api; 
location/{ 
    proxy_pass http://www.domain.com:8080; 
    proxy_redirect off; 
    proxy_set_header  X-Forwarded-For $remote_addr; 
    location ~* \.(html|css|jpg|gif|ico|js)$ { 
     proxy_cache   cache; 
     proxy_cache_key  $host$uri$is_args$args; 
     proxy_cache_valid 200 301 302 30m; 
     expires    30m; 
     proxy_pass http://www.domain.com:8080; 
    } 
} 

location /api/ { 
alias /var/www/html/testphp/api/; 
try_files $uri $uri/ /api/index.php; 
location ~ \.php$ { 
    include /etc/nginx/fastcgi_params; 
    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_index index.php; 
    fastcgi_pass unix:/run/php/php5.6-fpm.sock; 
    fastcgi_param SCRIPT_FILENAME $request_filename; 
    } 
} 
} 
関連する問題