前面讲了如何安装配置 Nginx, 大家可以去这里看看 nginx 系列文章: https://www.cnblogs.com/zhangweizhong/category/1529997.html
今天要说的是 Nginx 如何基于域名配置虚拟主机.
应用场景
两个域名指向同一台 nginx 服务器, 用户访问不同的域名显示不同的网页内容.
两个域名是 aaa.test.com 和 bbb.test.com
nginx 服务器使用虚拟机 192.168.78.132
准备环境
1. 创建 192.168.78.132 虚拟机, 保证本地电脑和虚拟网络通畅.
2. 在 192.168.78.132 上安装 nginx.
3. 通过 host 文件指定 aaa.test.com 和 bbb.test.com 对应 192.168.78.132 虚拟机:
修改 Windows 的 hosts 文件:(C:\Windows\System32\drivers\etc)
- 192.168.78.132 aaa.test.com
- 192.168.78.132 bbb.test.com
HTML 目录创建
1. 在 192.168.101.3 上创建 / usr/local/aaa_html, 此目录为 aaa.test.com 域名访问的目录
2. 在 192.168.101.3 上创建 / usr/local/bbb_html, 此目录为 bbb.test.com 域名访问的目录
3. 将 / usr/local/nginx/HTML 中的内容拷贝分别拷贝到上边两个目录中, 为了方便测试需要修改每个目录下的 index.HTML 内容使之个性化.
配置虚拟主机
修改 / usr/local/nginx/conf/nginx.conf 文件, 添加两个虚拟主机, 如下:
- # 配置虚拟主机 aaa.test.com
- server {
- #监听的 ip 和端口, 配置本机 ip 和端口
- listen 192.168.101.3:80;
- #虚拟主机名称是 aaa.test.com, 请求域名 aaa.test.com 的 url 将由此 server 配置解析
- server_name aaa.test.com;
- #所有的请求都以 / 开始, 所有的请求都可以匹配此 location
- location / {
- #使用 root 指令指定虚拟主机目录即网页存放目录
- #比如访问 http://ip/test.HTML 将找到 / usr/local/aaa_html/test.HTML
- #比如访问 http://ip/item/test.HTML 将找到 / usr/local/aaa_html/item/test.HTML
- root /usr/local/aaa_html;
- #指定欢迎页面, 按从左到右顺序查找
- index index.HTML index.htm;
- }
- }
- # 配置虚拟主机 bbb.test.com
- server {
- listen 192.168.101.3:80;
- server_name bbb.test.com;
- location / {
- root /usr/local/bbb_html;
- index index.HTML index.htm;
- }
- }
测试
分别访问 aaa.test.com,bbb.test.com, 看效果如何:
最后
以上, 就把 nginx 基于域名的虚拟主机配置说完了. 通过这三篇文章, 介绍了 nginx 配置虚拟主机的三种方式, 分别是基于 ip 的虚拟主机配置, 基于端口的虚拟主机配置和基于域名的虚拟主机配置.
其中最常用的还是基于域名的虚拟主机配置.
来源: https://www.cnblogs.com/zhangweizhong/p/11378554.html