我有一個包含FastCGI項目的目錄,是更具體的不同版本的同一個項目。例如,有ver1
和ver2
目錄位於/some/dir/project/
,我希望它們分別爲ver1.project.example.com
和ver2.project.example.com
。多個fastcgi項目作爲nginx的子域名
我應該怎麼用nginx做,而不是爲每個版本創建不同的配置,並假設可以動態添加新版本?
我有一個包含FastCGI項目的目錄,是更具體的不同版本的同一個項目。例如,有ver1
和ver2
目錄位於/some/dir/project/
,我希望它們分別爲ver1.project.example.com
和ver2.project.example.com
。多個fastcgi項目作爲nginx的子域名
我應該怎麼用nginx做,而不是爲每個版本創建不同的配置,並假設可以動態添加新版本?
在/etc/nginx/sites-enabled/project
:
server {
server_name ~^(?<version>\w+)\.project\.example\.com;
root /some/dir/project/$version;
include fastcgi_params;
}
在/some/dir/project/version99
增加一個新的版本目錄會自動使其可在version99.project.example.com
。
關於多配置問題,可以使用nginx包含文件include fastcgi_params;
解決。我不知道變量服務器和套接字的位置,但是,你應該爲此使用多個子句。爲了讓事情更快,你可以寫一些像add-fcgi-subdomain.sh
。我使用nginx configs和shell腳本的模板來解決這個問題,從/ var/www生成它們。