2016-12-27 4 views
0

私はdomain80を指すようにポート8080上でノードを実行できますが、その横にphpを実行します。domain.comとしてノードを実行し、サブフォルダ内のphpをdomain.com/phptestとして実行するためのnginx設定

サンプル構成は以下の通りです:

proxy_buffering on; 
proxy_buffer_size 1k; 
proxy_buffers 24 4k; 
proxy_busy_buffers_size 8k; 
proxy_max_temp_file_size 2048m; 
proxy_temp_file_write_size 32k; 

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; 
     } 
    } 
} 

今私はdomain.com/phpを持っているすべての要求は、PHPと他の人がノード上で動作する処理するので、PHPサーバーとしてdomain.com/php実行したいです。出来ますか?

+0

はい。新しい場所を作成してFPM(nginxで動作するphpパーサ)に転送するだけです。 – mike510a

答えて

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; 
     } 
    } 
} 
関連する問題