是否有可能在NGINX上设置多个服务器块而没有多个域



我有一个子域labs.mydomain.com,我想托管我在不同文件夹上开发的几个web应用程序:labs.mydomain.com/app1, labs.mydomain.com/app2, labs.mydomain.com/app3。我希望它是由文件夹分隔的相同域,而不是为每个文件夹创建一个新的子域,就像上面的例子一样。

问题是我在每个项目上使用一些框架,所以我必须将/app1映射到/app1/public/app2映射到app2/public

NGINX接受server_namelabs.mydomain.com/app1一样吗?

这样做可能吗?如果不是,最好的选择是什么?

Nginx不支持labs.mydomain.com/app1作为server_name。但是你可以使用location指令来为你的目录配置规则。示例波形:

location /app1 {
    alias /var/www/app1/public/;
}
location ~ ^/app1/(.+.php)$ {
    alias /var/www/app1/public/$1;
    fastcgi_pass 127.0.0.1:8888;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    include fastcgi_params;
}

相关内容

最新更新