Nginx虚拟主机应用——基于域名、IP、端口的虚拟主机
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,Nginx支持的虚拟主机有三种●基于域名的虚拟主机●基于IP的虚拟主机●基于端口的虚拟主机每一种虚拟主机均可通过"server{}" 配置段实现各自的功能基于域名的虚拟主机实验环境1.基础源码包(无密
千家信息网最后更新 2024年11月28日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安全错误
数据库的锁怎样保障安全
2017软件开发前景
杭州网络安全课程老品牌
永兴软件开发培训
华为云服务器登录密码
河南创新服务器供应商
网络安全绘画作品中学生
用友U852数据库在哪里
大学生网络安全隐患调查报告
视音频流媒体融合服务器检验依据
sql用语句删除数据库
上海珍岛网络技术有限公司
网络安全平台119消防教育
数据库中年月是什么数字类型
网络安全警示教育片体会
江苏教育网络技术竞赛
湖北省 网络安全 会议精神
服务器节能标识
吐鲁番服务器设备维保
vc连接数据库操作
互联网科技公司职责
沈阳软件开发咋样
软件开发一体化
电力网络安全设备公安部监制章
高端的服务器包装公司价格
计祘机网络技术是干什么的
网络技术基础定义拓扑结构
服务器安全下载什么
3服务器安全模式
日语软件开发工资
西中心网络安全