我有一个linode服务器,并且使用webrick运行一个单独的网站用于开发目的,现在我想将它投入生产并使用已经安装的Apache2并运行经典的It Work!预期的页面。
现在我想在这个VPS上运行多个站点我正在使用当前配置,这对于striaght HTML工作正常但不会运行Web应用程序,除非我在另一个端口(rails s -p3500等)上运行它们,因为端口80是已经被Apache接受了。
<VirtualHost *:80>
ServerName datumpoint.bizmodev.com
# ServerAlias *.example.com
DocumentRoot /var/www.bizmodev.com
<Directory "/var/www.bizmodev.com">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName homehounduk.co.uk
ServerAlias *.homehounduk.co.uk
DocumentRoot /var/www.homehounduk.co.uk
<Directory "/var/www.homehounduk.co.uk">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我是否需要使用乘客或其他东西才能使其正常工作?我已经尝试将虚拟主机更改为不同的端口和东西,但最终得到403。
任何帮助都将不胜感激。
答案 0 :(得分:1)
这一行:
<VirtualHost *:80>
你告诉你的apache它会在端口80上听任何东西
你改成这样的东西:
<VirtualHost www.myawesomeurl.com:80>
在这种情况下,您告诉Apache,端口80上来自此地址(www.myawesomeurl.com
)的请求所有内容都将使用该选项。
我想你想要这样的东西:
# Basically your home, like: www.myhome.com
<VirtualHost *:80>
ServerName datumpoint.bizmodev.com
# ServerAlias *.example.com
DocumentRoot /var/www.bizmodev.com
<Directory "/var/www.bizmodev.com">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
# Your custom site
<VirtualHost www.something.com:80>
ServerName homehounduk.co.uk
ServerAlias *.homehounduk.co.uk
DocumentRoot /var/www.homehounduk.co.uk
<Directory "/var/www.homehounduk.co.uk">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
并且不要忘记将www.something.com
指向与www.myhome.com
相同的IP
将此与乘客相结合,你将有一个服务器运行许多rails应用程序和许多php实例或html页面或任何你想要的东西。