有可能吗?有人告诉我这是,但我不确定。
如果可能,我应该怎么做?我有一个/ www文件夹,我的网站所在。如何配置2个不同的站点?
答案 0 :(得分:51)
作为完全初学者,我一直在尝试在一个Apache VPS上托管多个域。教程中有太多的信息让我感到困惑。
下面我描述一下,对于完整的begginers,如何使用Ubuntu和Apache在一个VPS服务器上托管多个域。
重要!您需要使用root帐户执行大多数操作。
重要!如果您之前尝试对apache配置进行一些更改,请将其撤消。
在服务器上为您的域创建文件夹。 例如:
/home/apache/domain1
/home/apache/domain2
将index.html文件放在每个文件夹中,包含任何文字。
This is domain1
This is domain2
转到/ etc / apache2 / sites-available文件夹。
/etc/apache2/sites-available
创建文件domain1
sudo nano domain1
<VirtualHost *:80>
DocumentRoot /home/apache/domain1
ServerName domain1.com
ServerAlias www.domain1.com
</VirtualHost>
创建文件domain2
sudo nano domain2
<VirtualHost *:80>
DocumentRoot /home/apache/domain2
ServerName domain2.com
ServerAlias www.domain2.com
</VirtualHost>
您可以使用相同的方式创建子域。
sudo nano blog
<VirtualHost *:80>
DocumentRoot /home/apache/blog
ServerName blog.domain.com
ServerAlias www.blog.domain.com
</VirtualHost>
启用已创建的网站
sudo a2ensite domain1
sudo a2ensite domain2
重启apache
sudo service apache2 reload
只有将域名重定向到服务器IP时,创建的VirtualHost才会起作用。域名只是可以转换为IP号码的名称。
要在本地计算机上测试您的配置,您需要编辑主机文件。
sudo nano /etc/hosts
应该是这样的。
127.0.0.1 localhost domain1.com domain2.com
主机文件告诉您的计算机该域需要重定向到本地计算机。
重要!如果您在现有域的hosts文件中创建条目,例如
127.0.0.1 stackoverflow.com
您将无法访问此网站。
为了将域重定向到您的Web服务器,您需要为给定域创建或修改“A”型DNS记录到服务器的IP地址。您可以通过域名注册商提供的小组控制来执行此操作。
如果您不知道服务器的IP地址,请登录该服务器并输入命令行:
ifconfig
答案 1 :(得分:47)
程序是:
将两个域都指向VPS的ip。
配置您在VPS上安装的网络服务器,以回答这两个域。
对于Nginx with Passenger,需要在nginx.conf文件中添加条目。像这样:
server {
listen 80;
server_name domain1;
root /path/to/your/project;
passenger_enabled on;
}
server {
listen 80;
server_name domain2;
root /path/to/your/project;
passenger_enabled on;
}
检查您的网络服务器文档以执行类似操作。
答案 2 :(得分:11)
这总是可行的......您始终可以使用VPS上的一个或两个IP地址配置名称服务器。配置完成后,您可以使用这些名称服务器开始指向多个域。
在我的VPS上只有一个IP地址,但我在那里托管了35个以上的网站....