Nginx虚拟主机应用——基于域名、IP、端口的虚拟主机
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Nginx支持的虚拟主机有三种●基于域名的虚拟主机●基于IP的虚拟主机●基于端口的虚拟主机每一种虚拟主机均可通过"server{}" 配置段实现各自的功能基于域名的虚拟主机实验环境1.基础源码包(无密
千家信息网最后更新 2025年12月02日Nginx虚拟主机应用——基于域名、IP、端口的虚拟主机
Nginx支持的虚拟主机有三种
●基于域名的虚拟主机
●基于IP的虚拟主机
●基于端口的虚拟主机
每一种虚拟主机均可通过"server{}" 配置段实现各自的功能
基于域名的虚拟主机
实验环境
| 1.基础源码包(无密码):https://pan.baidu.com/s/14WvcmNMC6CFX1SnjHxE7JQ 2.CentOS 7版本Linux虚拟机 | 主机IP | 域名 |
|---|---|---|
| 192.168.235.158 | www.kgc.com,www.accp.com |
实验步骤
一、编译安装Nginx服务
第一步:远程获取Windows上的源码包,并挂载到Linux上
[root@localhost ~]# smbclient -L //192.168.235.1Enter SAMBA\root's password: Sharename Type Comment--------- ---- -------LNMP Disk [root@localhost ~]# mkdir /abc[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abcPassword for root@//192.168.235.1/LNMP: [root@localhost ~]# ls /abcDiscuz_X3.4_SC_UTF8.zip nginx-1.12.0.tar.gz php-7.1.10.tar.bz2mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz php-7.1.20.tar.gz第二步:解压源码包
[root@localhost ~]# cd /abc[root@localhost abc]# tar zxvf nginx-1.12.0.tar.gz -C /opt[root@localhost abc]# ls /optnginx-1.12.0 rh第三步:下载安装编译组件包
[root@localhost abc]# cd /opt[root@localhost opt]# yum install -y \> gcc \ //C语言> gcc-c++ \ //c++语言> pcre-devel \ //pcre语言工具> zlib-devel //压缩函数库第四步:创建程序用户并配置Nginx服务相关组件
[root@localhost opt]# useradd -M -s /sbin/nologin nginx//创建程序用户nginx,并限定其不可登录终端[root@localhost opt]# cd nginx-1.12.0/[root@localhost nginx-1.12.0]# ./configure \ //配置nginx> --prefix=//usr/local/nginx \ //指定安装路径 > --user=nginx \//指定用户名> --group=nginx \//指定用户所属组> --with-http_stub_status_module//安装状态统计模块第五步:编译与安装Nginx
[root@localhost nginx-1.12.0]# make && make install第六步:优化Nginx服务启动脚本,并建立命令软连接
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建nginx服务命令软链接到系统命令[root@localhost nginx-1.12.0]# systemctl stop firewalld.service //关闭防火墙[root@localhost nginx-1.12.0]# setenforce 0//关闭增强型安全功能[root@localhost nginx-1.12.0]# nginx //输入nginx 开启服务[root@localhost nginx-1.12.0]# netstat -ntap | grep 80 //查看服务的80 端口,显示已开启tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7520/nginx: master 二、配置DNS域名解析服务
[root@localhost ~]# yum -y install bind//安装DNS服务的bind包[root@localhost ~]# vim /etc/named.conf //编辑主配置文件options { listen-on port 53 { any; }; ##将监听地址127.0.0.1替换为any, listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; ##将授权localhost替换为any[root@localhost ~]# vim /etc/named.rfc1912.zones //编辑两个域名的区域配置文件zone "kgc.com" IN { type master; file "kgc.com.zone"; allow-update { none; };}; zone "accp.com" IN { type master; file "accp.com.zone"; allow-update { none; };}; [root@localhost ~]# cd /var/named[root@localhost named]# cp -p named.localhost kgc.com.zone [root@localhost named]# cp -p named.localhost accp.com.zone [root@localhost named]# vim kgc.com.zone //编辑kgc域名区域数据配置文件$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1www IN A 192.168.235.158##删除原来末行的内容,添加域名解析地址为本机地址[root@localhost named]# vim accp.com.zone //编辑accp域名区域数据配置文件$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1www IN A 192.168.235.158##删除原来末行的内容,添加域名解析地址为本机地址[root@localhost named]# systemctl start named //开启dns服务[root@localhost named]# systemctl stop firewalld.service //关闭防火墙[root@localhost named]# setenforce 0 //关闭增强型安全功能三、配置虚拟主机
第一步:创建测试网页
[root@localhost named]# cd [root@localhost ~]# mkdir -p /var/www/html/kgc[root@localhost ~]# mkdir -p /var/www/html/accp[root@localhost ~]# ls /var/www/html/accp kgc[root@localhost ~]# cd /var/www/html/[root@localhost html]# echo "this kgc web" > kgc/index.html[root@localhost html]# echo "this accp web" > accp/index.html第二步:编辑nginx.conf配置文件
[root@localhost html]# vim /usr/local/nginx/conf/nginx.confserver { listen 80; server_name www.kgc.com; charset utf-8; ##支持中文字符 access_log logs/www.kgc.com.access.log; ##kgc站点访问日志 location / { root /var/www/html/kgc; index index.html index.htm; } error_page 500 502 503 504 /50x.html; ##服务端报错相关网页 location = /50x.html { root html; } }server { listen 80; server_name www.accp.com; charset utf-8; access_log logs/www.accp.com.access.log; location / { root /var/www/html/accp; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }第三步:重载Nginx服务
[root@localhost ~]# killall -s HUP nginx[root@localhost ~]# netstat -ntap | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6117/nginx: master 第四步:测试网页,输入www.kgc.com与www.accp.com两个域名进行访问
基于端口的虚拟主机
配置虚拟主机
第一步:创建另一个端口的测试网页
[root@localhost ~]# cd /var/www/html/[root@localhost html]# echo "this is kgc 8080 web" > kgc/index.html 第二步:编辑nginx.conf配置文件,仅修改监听地址
[root@localhost html]# vim /usr/local/nginx/conf/nginx.confserver { listen 192.168.235.158:80; ##监听主机的80端口 server_name www.kgc.com; charset utf-8; access_log logs/www.kgc.com.access.log; location / { root /var/www/html/kgc; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }server { listen 192.168.235.158:8080; ##监听主机的8080端口 server_name www.kgc.com; charset utf-8; access_log logs/www.kgc.com.access.log; location / { root /var/www/html/kgc; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }第三步:重载Nginx服务
[root@localhost html]# killall -s HUP nginx[root@localhost html]# netstat -ntap | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 41958/nginx: master 第四步:测试网页,分别访问80端口的默认网页以及8080端口的网页
基于IP的虚拟主机
第一步:添加网卡,并规划域名IP
| 主机IP | 域名 |
|---|---|
| 192.168.235.158 | www.kgc.com |
| 192.168.235.142 | www.accp.com |
第二步: 修改accp域名的区域数据文件配置
[root@localhost ~]# vim /var/named/accp.com.zone$TTL 1D@ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1www IN A 192.168.235.142##更改IP地址为 192.168.235.142[root@localhost ~]# systemctl restart named##重启域名解析服务第三步:编辑nginx.conf配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf##此段不做修改server { listen 192.168.235.158:80; server_name www.kgc.com; charset utf-8; access_log logs/www.kgc.com.access.log; location / { root /var/www/html/kgc; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }server { listen 192.168.235.142:80; ##修改本段监听地址为192.168.234.142 server_name www.accp.com; charset utf-8; access_log logs/www.accp.com.access.log; location / { root /var/www/html/accp; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }第四步:重载Nginx服务
[root@localhost ~]# killall -s HUP nginx[root@localhost ~]# netstat -ntap | grep 80tcp 0 0 192.168.235.142:80 0.0.0.0:* LISTEN 7299/nginx: master tcp 0 0 192.168.235.158:80 0.0.0.0:* LISTEN 7299/nginx: master 第五步:测试网页,分别输入IP地址192.168.235.158和192.168.235.142进行访问
到此便是Nginx虚拟主机应用的全部内容了,谢谢阅读!!!
主机
域名
服务
配置
虚拟主机
地址
端口
文件
网页
测试
监听
区域
用户
内容
功能
命令
数据
源码
语言
编译
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
mysql导出完整数据库
怎样更换网络安全类型
北京瑞祥鑫悦网络技术
软件开发程序图
软件开发质量标准
网络安全投入占比1.87%
上海手机软件开发大概多少钱
软件开发流程devops
抖音软件开发有多少人
可以自定义的软件开发
网络安全知识发言材料存在问题
冷战数据库
网络安全控制措施
邮件服务器有哪些
河源清吧线上点餐软件开发
廊坊云财务软件网络技术
怎么租阿里云服务器
金手指数据库编辑器
医疗软件开发加班严重吗
网络技术科岗位设置
怎么用旧手机搭建内网服务器
数据库中提取的秒数不对
服务器开机时间2小时
国际服为什么要服务器
视易无法连接数据库
电气设备参数数据库
网络技术英语单词
公式里面怎么复制数据库
pdo连接数据库的方式
软件开发与数据挖掘能力