我希望在我的网站上创建链接,例如 support.mydomain.com 或 management.mydomain.com,而不是 mydomain.com/support 等。我听说可以使用 apache 虚拟主机来实现,但我不确定如何设置。
我在 apache 2.4 和 ubuntu 16.04 上
答案1
这Apache2发行版带有一个非常易于使用的模块化配置。
将您的000-default.conf
内容复制/etc/apache2/sites-available
到一个文件中,然后按名称命名您的虚拟站点。使用配置文件000-default.conf
作为模板。
在这种情况下,您已指示mydomain.com
。您还指示management.mydomain.com
。您可以使用两者来指代访问同一站点。在这些步骤中,我将使用mydomain.com
。
配置文件可以使用任意名称。如果您创建了多个网站,使用包含虚拟主机名称的名称将使管理网站更加容易。
运行这些步骤。我给它们编号,以便您轻松指出哪个步骤(如果有)卡住了或不明白。 表示$
您输入命令的终端提示符。 命令是提示符后看到的文本$
。
1. $ mkdir -p /home/web/mysite/www 2. $ mkdir -p /home/web/mysite/log 3. $ cd /etc/apache2/sites-available 4. $ sudo cp 000-default.conf mydomain.conf 5. $ gksudo gedit mydomain.conf
更改自:
<虚拟主机 *:80> # ServerName 指令设置请求方案、主机名和端口 # 服务器用来标识自己。这在创建时使用 # 重定向 URL。在虚拟主机上下文中,ServerName # 指定请求的 Host: 标头中必须出现的主机名 # 匹配此虚拟主机。对于默认虚拟主机(此文件),此 # 值不是决定性的,因为无论如何它都被用作最后的手段主机。 # 但是,您必须为任何其他虚拟主机明确设置它。 #服务器名称 www.example.com ServerAdmin webmaster@localhost 文件根目录 /var/www/html # 可用的日志级别:trace8,...,trace1,debug,info,notice,warn, # 错误,严重,警报,紧急。 # 也可以为特定 # 模块,例如 #日志级别 info ssl:warn 错误日志 ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log 合并 # 对于 conf-available/ 中的大多数配置文件,它们是 # 在全球范围内启用或禁用,可以 # 只包含一个特定虚拟主机的行。例如 # 以下行仅为该主机启用 CGI 配置 # 在使用“a2disconf”全局禁用它之后。 #包括conf-available/serve-cgi-bin.conf </虚拟主机> # vim: 语法=apache ts=4 sw=4 sts=4 sr noet
改成:
<虚拟主机 *:80> # ServerName 指令设置请求方案、主机名和端口 # 服务器用来标识自己。这在创建时使用 # 重定向 URL。在虚拟主机上下文中,ServerName # 指定请求的 Host: 标头中必须出现的主机名 # 匹配此虚拟主机。对于默认虚拟主机(此文件),此 # 值不是决定性的,因为无论如何它都被用作最后的手段主机。 # 但是,您必须为任何其他虚拟主机明确设置它。 #服务器名称 www.example.com 服务器名称 mydomain.com 服务器别名 www.mydomain.com 服务器别名 management.mydomain.com ServerAdmin webmaster@localhost 文件根目录 /home/web/www <目录 /home/web/ubunzeus/www> 选项 +FollowSymLinks +ExecCGI +Includes # 允许覆盖所有 # Apache 2.4.3 需要的新指令: 要求所有已授予 </目录> # 可用的日志级别:trace8,...,trace1,debug,info,notice,warn, # 错误,严重,警报,紧急。 # 也可以为特定 # 模块,例如 #日志级别 info ssl:warn 错误日志 /home/web/mydomain/log/error.log CustomLog /home/web/mydomain/log/access.log 合并 # 对于 conf-available/ 中的大多数配置文件,它们是 # 在全球范围内启用或禁用,可以 # 只包含一个特定虚拟主机的行。例如 # 以下行仅为该主机启用 CGI 配置 # 在使用“a2disconf”全局禁用它之后。 #包括conf-available/serve-cgi-bin.conf </虚拟主机> # vim: 语法=apache ts=4 sw=4 sts=4 sr noet
继续以下命令来激活更改:
6. $ sudo a2ensite mydomain.conf 7. $ sudo 服务 apache2 重启
通过这些步骤,您现在可以通过在 Web 浏览器中输入您指定的名称来访问新的虚拟主机。
放置您的网页内容(你的html将文件 (.docx) 放入您为虚拟主机创建的目录中。在此示例中,它是:/home/web/www
。您的 Web 目录可以放在系统上的任何位置。您只需使用这些信息配置虚拟主机配置文件即可。
每当您更改 Apache2 配置文件时,请务必重新加载它以使更改生效。
$ sudo service apache2 restart