Apache-2.2
參數化 Apache 虛擬主機
我有一個這樣製作的虛擬主機:
<VirtualHost *:80> Servername www.website.com DocumentRoot /path/to/application-1.2.1/client/app/ ErrorLog /var/log/apache2/logs/application.log </VirtualHost>
每次我們部署新版本時更改的應用程序名稱在哪裡
application
,例如下一個 DocumentRoot 將是:DocumentRoot /path/to/application-1.2.2/client/app/
是否可以使用萬用字元或類似的東西製作虛擬主機:
DocumentRoot /path/to/application-*/client/app/
這樣我就不必在每次部署新版本的應用程序時更改虛擬主機?
不,那裡不能有萬用字元。
相反,使用符號連結:
ln -s /path/to/application-1.2.2/client/app /path/to/application/client/app
並讀取配置
<VirtualHost *:80> Servername www.website.com DocumentRoot /path/to/application/client/app/ ErrorLog /var/log/apache2/logs/application.log </VirtualHost>
這有額外的好處,您可以保留舊版本以便在需要時快速回滾。
根據您的主要配置,您可能需要添加
<Directory /path/to/> Options +FollowSymlinks </Directory>
到你的配置,以及。