在云服务器上托管多个网站是一种节省资金的好方法,尤其是当您的网站资源不太密集时。而且,如果您在云服务器上,根据需要扩展资源也容易得多。
如果您正在管理多个站点并希望将它们托管在一台服务器上,您可以使用Virtual Server它来执行此操作。它是一个配置设置,允许您的网络服务器(例如 Apache)从同一台服务器加载站点。
在下面的指南中,我们将了解如何使用两种方法在一台服务器上托管多个网站:标准配置方法(需要一些技术理解),以及 RunCloud 如何让您做到这一点。
通过配置 Apache 在一台服务器上托管多个网站
Apache 允许您配置虚拟主机。Apache 中的子目录conf可用于更改配置。
要登录到您的 Apache HTTP 服务器,只需使用您的 FTP 客户端连接到您的服务器,然后导航到子目录conf 。它通常存在于/etc/httpd/conf/httpd.conf.
在开始之前,创建此文件的备份总是明智的。完成后,使用 SSH 客户端(macOS 的终端或 Windows 的 PuTTY)登录服务器。
您必须输入服务器根帐户的登录凭据。现在您已经进入了,让我们假设您要在服务器上托管两个站点,example1.com 和 example2.com。
在开始之前,运行以下命令为两个站点创建一个根目录:
mkdir /var/www/html/example1.commkdir /var/www/html/example2.com
接下来,您需要为这两个站点创建一个 index.html 文件。您可以通过对每个网站使用以下命令来执行此操作:
nano /var/www/html/example1.com/index.html
现在,添加以下文本:
<html><title>example1.com</title><h1>Welcome to this basic site</h1><p>This is just to show you how to host multiple sites on one server</p></html>
对两个站点都执行此操作(交换每个站点的命令中的 URL),然后为两个站点运行以下命令以更改其目录的所有权:
chown -R www-data:www-data /var/www/html/example1.comchown -R www-data:www-data /var/www/html/example2.com
现在,您需要在 Apache 上为每个网站创建虚拟主机配置文件。这可以通过为每个运行以下命令来实现:
nano /etc/apache2/sites-available/example1.com.conf
您还需要添加以下代码来创建Virtual Host:
<VirtualHost *:80> ServerAdmin admin@example1.com ServerName example1.com DocumentRoot /var/www/html/example1.com DirectoryIndex index.htmlErrorLog ${APACHE_LOG_DIR}/example1.com_error.logCustomLog ${APACHE_LOG_DIR}/example1.com_access.log combined </VirtualHost>
同样,您需要通过交换 URL 并将它们替换为您要托管的网站来为您的两个网站执行此操作。
完成后,您需要Virtual Host使用以下命令启用:
a2ensite example1.com a2ensite example1.com
就是这样!您现在已将 Apache 配置为从同一台服务器为两个站点提供服务。您现在只需在浏览器中键入每个站点的 URL 即可测试它们!