本文概述
配置Apache/Nginx以托管多个网站
如果你使用的是DigitalOcean等专用服务器或VPS或任何其他服务器, 并计划在单个服务器上托管多个网站, 则可以使用Apache HTTP或Nginx Web服务器来做到这一点。
假设你已经将DNS映射到你的主机, 就像下面两个我映射到DigitalOcean的域一样。
- bestflare.com
- usefulread.com
在实施此功能之前, 请先了解其工作原理。在单个实例上具有多个网站的概念称为虚拟服务器。虚拟服务器配置是在Web服务器配置中定义的, 并且基于服务器/ IP地址, 请求将转发到相应的文档根目录。
在Apache中配置虚拟主机以承载多个域
- 登录到Apache HTTP Server
- 转到apache conf位置。 (在默认安装中–你可以在/etc/httpd/conf/httpd.conf中找到它)
- 备份httpd.conf文件
- 像下面那样创建一个VirtualHost容器, 我已经为两个域完成了。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /opt/htdocs/bestflare
ServerName bestflare.com
ErrorLog logs/bestflare.com-error_log
CustomLog logs/bestflare.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /opt/htdocs/usefulread
ServerName usefulread.com
ErrorLog logs/usefulread.com-error_log
CustomLog logs/usefulread.com-access_log common
</VirtualHost>
注意:根据你的要求更改ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog的值。
- 重新启动Apache HTTP并测试两个URL。
在Nginx中配置虚拟主机以承载多个域
- 登录到Nginx服务器
- 转到virtual.conf位置(在默认位置–你可以在/etc/nginx/conf.d/virtual.conf中找到它)
- 备份virtual.conf
- 如下所示, 为两个URL创建服务器块。
server {
listen 80;
root /opt/htdocs/bestflare;
index index.html index.htm;
server_name bestflare.com;
location/{
try_files $uri $uri/ =404;
}
}
server {
listen 80;
root /opt/htdocs/usefulread;
index index.html index.htm;
server_name usefulread.com;
location/{
try_files $uri $uri/ =404;
}
}
注意:根据你的要求更改root server_name的值。
- 重新启动Nginx并测试两个URL
那是在单个Web服务器实例(例如Apache或Nginx)中托管多个域的快速指南。网站上线后, 请不要忘记对其进行安全性测试。