分享免费的编程资源和教程

网站首页 > 技术教程 正文

网页服务-Nginx - 虚拟主机 - 基于域名

goqiw 2024-10-14 12:00:07 技术教程 23 ℃ 0 评论

基本环境

底层: Windows 11 x64
虚拟化层:VMWare Workstation 17.0.2
虚拟化兼容性:ESXi 6.7
虚拟硬件:
    CPU: 4 Core
    RAM: 16 GB
    HDD: 128 GB SCSI
    NetWork: NAT
操作系统版本: CentOS 7.9.2207 Mininal 无更新、无升级内核
                无系统更新
                无内核升级
                关闭 SELinux
                配置 NTP 时间同步
                安装 Open VM Tools
                美化 CLI

基本定义

#    虚拟主机:将多个网站发布在一台服务器上的配置方案是虚拟主机
#    基于 域名 的虚拟主机:使用基于IP的虚拟主机浪费IP,使用基于端口的虚拟主机,需要开放过多端口,影响系统安全性。为了解决这些问题,出现了基于域名的虚拟主机解决方案,可以在同一台服务器上指向不同域名,每个域名对应一个网站的虚拟主机方案。用户通过访问不同域名(或子域名、二三级域名),达到访问不同网站的目的

场景设计

#    默认网站 数据目录 
/data/www/
#    创建两个 网站数据目录
Site 5 站点 /data/www/site5
Site 6 站点 /data/www/site6
#    设定 网站
Site 5 站点 /data/www/site5 访问路径为 http://www.srover.com/
Site 6 站点 /data/www/site6 访问路径为 http://www.bonkers.com/

前置准备

创建 虚拟主机 网站

#    分别创建 两个 虚拟主机 网站目录
mkdir -p /data/www/site5
mkdir -p /data/www/site6
#    创建 虚拟主机 网站 Site 5 www.srover.com 首页文件
echo "Welcom To FourLeaf Studio by VT Host Domain Name Site 5 <br> Web Data /data/www/site5 <br> Web Domain Name Add www.srover.com" > /data/www/site5/index.html
#    创建 虚拟主机 网站 Site 6 www.bonkers.com 首页文件
echo "Welcom To FourLeaf Studio by VT Host Domain Name Site 6 <br> Web Data /data/www/site6 <br> Web Domain Name Add www.bonkers.com" > /data/www/site6/index.html

域名解析

#    需要确保 Web服务器 与 客户端 均可以解析域名
#    作为实验环境,我分别修改了 Web服务器 与 客户端 两部分的 Host文件
#    正常环境需要修改 DNS,以解析域名

#    修改 Web服务器端 Host文件
sudo cat <<EOF >> /etc/hosts

#    自定义 静态域名解析信息
172.16.26.131 www.srover.com
172.16.26.131 www.bonkers.com

EOF

#    修改 Windows 客户端 Host文件
echo. >> C:\Windows\System32\drivers\etc\hosts
echo 172.16.26.131 www.srover.com >> C:\Windows\System32\drivers\etc\hosts
echo 172.16.26.131 www.bonkers.com >> C:\Windows\System32\drivers\etc\hosts

编辑 虚拟主机 配置文件

#   方法 1 : 编辑 虚拟主机配置文件
nano /etc/nginx/conf.d/vt-host.conf
#    在最后添加如下内容
#    {
#    基于 域名 虚拟 主机 Site 5
#    IP地址 172.16.26.131
#    域名 http://www.srover.com/
#    访问路径 /data/www/site5
server {
    listen 172.16.26.131;
    server_name www.srover.com;
    root /data/www/site5;
    location / {
        index  index.html index.htm;
    }
}

#    基于 域名 虚拟 主机 Site 6
#    IP地址 172.16.26.131
#    域名 http://www.bonkers.com/
#    访问路径 /data/www/site6
server {
    listen 172.16.26.131;
    server_name www.bonkers.com;
    root /data/www/site6;
    location / {
        index  index.html index.htm;
    }
}

#    }

#    方法 2 : 命令行直接 编辑 虚拟主机 配置文件
sudo cat <<EOF >> /etc/nginx/conf.d/vt-host.conf
#    基于 域名 虚拟 主机 Site 5
#    IP地址 172.16.26.131
#    域名 http://www.srover.com/
#    访问路径 /data/www/site5
server {
    listen 172.16.26.131;
    server_name www.srover.com;
    root /data/www/site5;
    location / {
        index  index.html index.htm;
    }
}

#    基于 域名 虚拟 主机 Site 6
#    IP地址 172.16.26.131
#    域名 http://www.bonkers.com/
#    访问路径 /data/www/site6
server {
    listen 172.16.26.131;
    server_name www.bonkers.com;
    root /data/www/site6;
    location / {
        index  index.html index.htm;
    }
}

EOF

重新启动 Nginx 服务

#    重新启动 Nginx 服务
systemctl restart nginx.service

访问地址

#    基于 端口 虚拟主机 访问地址
http://www.srover.com/
http://www.bonkers.com/

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表