Linux 在不同的Apache服务器上托管多个子域

Linux 在不同的Apache服务器上托管多个子域,linux,apache,server,ubuntu-16.04,Linux,Apache,Server,Ubuntu 16.04,我们在Microsoft服务器上托管我们的网站。出于我不打算在这里解释的原因,我们决定在Ubuntu 16.04服务器上托管3个子域 我的问题是如何在Apache上为此配置虚拟主机 我有(我想)所有我需要的信息 我的疑问是:作为ServerName,我将编写子域(见下面的示例),对吗?基本上,我将把子域当作我有3个不同的网站 /etc/apache2/sites available/sudomain1.example.com.conf <VirtualHost *:80> Ser

我们在Microsoft服务器上托管我们的网站。出于我不打算在这里解释的原因,我们决定在Ubuntu 16.04服务器上托管3个子域

我的问题是如何在Apache上为此配置虚拟主机

我有(我想)所有我需要的信息

我的疑问是:作为ServerName,我将编写子域(见下面的示例),对吗?基本上,我将把子域当作我有3个不同的网站

/etc/apache2/sites available/sudomain1.example.com.conf

<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain1.example.com
  DocumentRoot /var/www/sudomain1.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain2.example.com
  DocumentRoot /var/www/sudomain2.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain3.example.com
  DocumentRoot /var/www/sudomain3.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

服务器管理员admin@example.com
ServerName sudomain1.example.com
DocumentRoot/var/www/sudomain1.example.com/public\u html
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
/etc/apache2/sites available/sudomain2.example.com.conf

<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain1.example.com
  DocumentRoot /var/www/sudomain1.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain2.example.com
  DocumentRoot /var/www/sudomain2.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain3.example.com
  DocumentRoot /var/www/sudomain3.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

服务器管理员admin@example.com
ServerName sudomain2.example.com
DocumentRoot/var/www/sudomain2.example.com/public\u html
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
/etc/apache2/sites available/sudomain3.example.com.conf

<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain1.example.com
  DocumentRoot /var/www/sudomain1.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain2.example.com
  DocumentRoot /var/www/sudomain2.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
  ServerAdmin admin@example.com
  ServerName sudomain3.example.com
  DocumentRoot /var/www/sudomain3.example.com/public_html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

服务器管理员admin@example.com
ServerName sudomain3.example.com
DocumentRoot/var/www/sudomain3.example.com/public\u html
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合

问题是什么?您是否尝试过上述虚拟主机配置?它起作用了吗?你遇到了什么问题?如果我不清楚,我很抱歉。问题是我是否应该将子域视为单独的网站。我知道最好是在询问之前测试一些东西,相信我,我总是在询问别人之前打破我的头脑,但这是我无法测试的东西,只能直接在生产服务器上实现,所以我希望找到至少做过一次的人。以上情况对我来说很好。我习惯于为我的项目设置两个虚拟主机,一个是
project.domain.com
,然后是
markup project.domain.com
,它们都有自己的虚拟主机配置。由于这两个虚拟主机是相关的,我将它们存储在同一个文件中,即
/etc/apache2/sites available/project.conf
。当然,您首先需要使用演示设置来测试这一点。只需添加一些虚拟域,然后在主机文件中,例如
/etc/hosts
将每个域指向服务器的ip。