如何将nginx中的一个域转发到不同的子目录(php,rails)?
How to forward one domain in nginx to different subdirectories (php, rails)?
我拥有一个用于开发的 VPS 服务器,它在 Ubuntu 服务器 14.04 x64 LTS 上运行。我有一些 RoR 站点和一些 Wordpress 站点。我希望能够通过 git 将它们推送到单独的目录来与它们一起玩。
这意味着我应该在 xxx.xxx.xxx.xxx/myrailsweb 中有一个 rails 网站,在 xxx.xxx.xxx.xxx/mywpweb 中有另一个 wordpress 网站。我如何使用 nginx 中的服务器块实现此目的?
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name 127.0.0.1;
location /apps/testphp {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
和
server {
listen 80 default_server;
# server_name 127.0.0.1;
passenger_enabled on;
passenger_app_env development;
root /home/myname/apps/testapp/public;
}
有什么想法吗?
只是将它们放在不同的端口上。所以 127.0.0.1:3000 转到 rails 站点,127.0.0.1 转到 wordpress 或类似的东西。所以使用你的例子:
server {
listen 3000;
server_name 127.0.0.1;
passenger_enabled on;
passenger_app_env development;
root /home/myname/apps/testapp/public;
}
在实时服务器上然后只使用子域。
我拥有一个用于开发的 VPS 服务器,它在 Ubuntu 服务器 14.04 x64 LTS 上运行。我有一些 RoR 站点和一些 Wordpress 站点。我希望能够通过 git 将它们推送到单独的目录来与它们一起玩。 这意味着我应该在 xxx.xxx.xxx.xxx/myrailsweb 中有一个 rails 网站,在 xxx.xxx.xxx.xxx/mywpweb 中有另一个 wordpress 网站。我如何使用 nginx 中的服务器块实现此目的?
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name 127.0.0.1;
location /apps/testphp {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
和
server {
listen 80 default_server;
# server_name 127.0.0.1;
passenger_enabled on;
passenger_app_env development;
root /home/myname/apps/testapp/public;
}
有什么想法吗?
只是将它们放在不同的端口上。所以 127.0.0.1:3000 转到 rails 站点,127.0.0.1 转到 wordpress 或类似的东西。所以使用你的例子:
server {
listen 3000;
server_name 127.0.0.1;
passenger_enabled on;
passenger_app_env development;
root /home/myname/apps/testapp/public;
}
在实时服务器上然后只使用子域。