Nginx虚拟主机应用——基于域名、IP、端口的虚拟主机
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Nginx支持的虚拟主机有三种●基于域名的虚拟主机●基于IP的虚拟主机●基于端口的虚拟主机每一种虚拟主机均可通过"server{}" 配置段实现各自的功能基于域名的虚拟主机实验环境1.基础源码包(无密
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
云南咖啡
互联网科技财经
互联网科技卖菜
互联网 科技创业
新浪科技互联网
互联网科技论坛
中国互联网金融科技基金
互联网科技类展会
互联网科技股午盘股票涨跌
互联网教育科技公司vipkid
互联网企业和科技型企业
华服互联网科技官网
互联网科技有哪些公司
互联网科技与管理
互联网软件和科技
深圳市优智互联网科技有限公司
天津腾达互联网科技有限公司
互联网科技快讯热点
广州智享互联网科技
唐山双旺合互联网科技产业园
哈尔滨大商圈互联网科技有限公司
涨乐互联网科技
无线互联网科技
互联网科技公司有哪些
四川狮子座互联网科技
无锡溥仪互联网科技有限公司
沐思想互联网科技有限公司
互联网科技快讯热点
互联网科技新闻
绵阳真晨互联网科技有限公司