行业知识
Linux系统架构----nginx上构建虚拟主机
2026-11-14 07:50:00
来源:互联网转载
Linux���统架构----nginx上构建虚拟主机
一、构建虚拟主机概述
- 利用虚拟主机,不用为每个运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程,虚拟主机提供了在同一台服务器、同一组Nginx进程上运行的多个网站的功能
- 与Apache相同,Nginx也可以配置多种类型的虚拟主机,分别是基于域名、基于端口、基于IP地址的虚拟主机
- 使用Nginx搭建虚拟主机服务器时,每个虚拟web站点拥有独立的“server {}”配置段,各自监听的IP地址、端口号段单独指定
二、基于域名的虚拟主机
- 安装DNS服务
#配置DNS服务器[root@nginx-server ~]# vim /etc/named.conf ##修改监听地址# listen-on port 53 { any; };# listen-on-v6 port 53 { any; };[root@nginx-server ~]# 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; };};##如果没有加-p选项,需要修改所有者或权限[root@nginx-server ~]# cp -p /var/named/named.localhost /var/named/kgc.com.zone [root@nginx-server ~]# vim /var/named/kgc.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 10.1.1.172kgc IN CNAME www.kgc.com[root@nginx-server ~]# 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 10.1.1.172kgc IN CNAME www.kgc.com##检查配置文件格式是否正确[root@nginx-server ~]# named-checkconf[root@nginx-server ~]# named-checkzone kgc.com /var/named/kgc.com.zone zone kgc.com/IN: loaded serial 0OK- 测试DNS服务
[root@nginx-server ~]# nslookup www.kgc.comServer:10.1.1.172Address:10.1.1.172#53Name:www.kgc.comAddress: 10.1.1.172[root@nginx-server ~]# nslookup www.accp.comServer:10.1.1.172Address:10.1.1.172#53Name:www.accp.comAddress: 10.1.1.172
- 基于域名构建虚拟主机
##配置nginx的主配置文件[root@nginx-server ~]# vim /etc/nginx/nginx.confserver { server_name www.kgc.com; location / { root /var/www/kgc; index index.html; }}server { server_name www.accp.com; location / { root /var/www/accp; index index.html; }}##创建主页面文件[root@nginx-server ~]# cd /var[root@nginx-server var]# mkdir -p www/kgc www/accp[root@nginx-server var]# cd /var/www/[root@nginx-server www]# echo "KGC
" > kgc/index.html[root@nginx-server www]# echo "
ACCP
" > accp/index.html##重启服务[root@nginx-server www]# systemctl restart nginx.service
- 测试服务结果
三、基于端口的虚拟主机
- 基于端口的虚拟主机和基于域名配置基本一样,区别在于,Nginx的主配置文件中,修改server{}参数
##基于域名的基础上在主配置文件上加入下列配置[root@nginx-server ~]# vim /etc/nginx/nginx.confserver { listen 10.1.1.172:80; server_name 10.1.1.172:80; location / { root /var/www/kgc; index index.html; }}server { listen 10.1.1.172:8080; server_name 10.1.1.172:8080; location / { root /var/www/accp; index index.html; }}- 重启服务,查看端口
[root@nginx-server ~]# systemctl restart nginx.service[root@nginx-server ~]# netstat -natp |grep nginxtcp 0 0 10.1.1.172:8080 0.0.0.0:* LISTEN 27006/nginx: master tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 27006/nginx: master tcp6 0 0 :::80 :::* LISTEN 27006/nginx: master
- 验证服务
-1709977708121)
四、基于端口的虚拟主机
- #基于域名的站点配置基础上在主配置文件上加入下列配置
[root@nginx-server ~]# vim /etc/nginx/nginx.confserver { listen 10.1.1.172:80; server_name 10.1.1.172:80; location / { root /var/www/kgc; index index.html; }}- 重启服务
[root@nginx-server ~]# systemctl restart nginx.service
- 验证服务
- 重启服务
- #基于域名的站点配置基础上在主配置文件上加入下列配置
- 验证服务
- 重启服务,查看端口
- 基于端口的虚拟主机和基于域名配置基本一样,区别在于,Nginx的主配置文件中,修改server{}参数
- 测试服务结果
- 基于域名构建虚拟主机
- 测试DNS服务
- 安装DNS服务