Jim*_* W. 10 apache2 vps vhosts
我计划尽快获得一个VPS并且有两个我想要托管的网站.我使用主机文件为我的开发环境设置了本地vhosts设置以正确移植它.
我的问题很简单:当设置两个单独的域指向一个VPS服务器时,Apache是否足够智能,就像在本地环境中一样,自动过滤任何对domain.com的请求到正确的VHOST,就像在本地一样?我想确定:)
谢谢!
我要问的例子:
说Domain1.com和Domain2.com都在我的VPS上.
当有人请求www.Domain1.com时,apache会看到并将其传递给domain1.com vhost文件.当有人请求www.Domain2.com时,apache会看到并将其传递给domain2.com vhost文件.
Pet*_*han 10
简单的答案是"是",Apache就是那么聪明.如果您习惯将本地vhost文件与hosts文件结合使用来模拟本地域,则可以在VPS上应用完全相同的技术.您正在使用hosts文件执行的部分实际上是创建一个本地名称服务器,除了Apache不知道其中的区别.只需为每个命名的vhost设置ServerName指令,您应该发现它与本地工作方式相同.
Raf*_*fal 10
仅使用一个VPS从托管两个域重新获得我的答案?在这里它甚至更相关.
作为完全初学者,我一直在尝试在一个Apache VPS上托管多个域.教程中有太多的信息让我感到困惑.
下面我为完整的初学者描述如何使用Ubuntu和Apache在一个VPS服务器上托管多个域.
重要!您需要使用root帐户执行大多数操作.
重要!如果您之前尝试对apache配置进行一些更改,请将其撤消.
在服务器上为您的域创建文件夹.例如:
/home/apache/domain1
/home/apache/domain2
Run Code Online (Sandbox Code Playgroud)
将index.html文件放在每个文件夹中,包含任何文本.
This is domain1
This is domain2
Run Code Online (Sandbox Code Playgroud)
转到/etc/apache2/sites-available文件夹.
创建文件domain1.conf
sudo nano domain1.conf
<VirtualHost *:80>
DocumentRoot /home/apache/domain1
ServerName domain1.com
ServerAlias www.domain1.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
创建文件domain2.conf
sudo nano domain2.conf
<VirtualHost *:80>
DocumentRoot /home/apache/domain2
ServerName domain2.com
ServerAlias www.domain2.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
您可以以相同的方式创建子域.
sudo nano blog.conf
<VirtualHost *:80>
DocumentRoot /home/apache/blog
ServerName blog.domain.com
ServerAlias www.blog.domain.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
启用创建的网站
sudo a2ensite domain1.conf
sudo a2ensite domain2.conf
Run Code Online (Sandbox Code Playgroud)
重启apache
sudo service apache2 reload
Run Code Online (Sandbox Code Playgroud)
只有将域名重定向到服务器IP时,创建的VirtualHost才会起作用.域只是可以转换为IP号的名称.
要在本地计算机上测试配置,您需要编辑hosts文件.
sudo nano /etc/hosts
Run Code Online (Sandbox Code Playgroud)
它看起来应该是这样的.
127.0.0.1 localhost domain1.com domain2.com
Run Code Online (Sandbox Code Playgroud)
主机文件告诉您的计算机该域需要重定向到本地计算机.
重要!例如,如果在主机文件中为现有域创建条目
127.0.0.1 stackoverflow.com
Run Code Online (Sandbox Code Playgroud)
您将无法访问此网站.
为了将域重定向到您的Web服务器,您需要为给定域创建或修改"A"型DNS记录到服务器的IP地址.您可以通过域名注册商提供的面板控制来执行此操作.
如果您不知道服务器的IP地址,请登录该服务器并键入命令行:
ifconfig
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6865 次 |
| 最近记录: |