Nginx虚拟主机应用——基于域名、IP、端口的虚拟主机
发表于:2024-09-29 作者:千家信息网编辑
千家信息网最后更新 2024年09月29日,Nginx支持的虚拟主机有三种●基于域名的虚拟主机●基于IP的虚拟主机●基于端口的虚拟主机每一种虚拟主机均可通过"server{}" 配置段实现各自的功能基于域名的虚拟主机实验环境1.基础源码包(无密
千家信息网最后更新 2024年09月29日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安全错误
数据库的锁怎样保障安全
数据库insert后无法查询
最高检成立网络安全指导组
网络安全伴我征文
论文查重数据库更新有什么影响
深圳5g服务器机柜哪家好
中国武术人才数据库吉林数据中心
交警大队加强网络安全教育
erp数据库怎么用
中兴的软件开发前景怎么样
科技互联网信息管理
启用打印服务器的好处
网络安全法 的执行
软件开发app定制宁波
网络安全法的基本内容涉及
sql改数据库密码修改
互联网公司网络安全审查
软件开发的行业发展情况
滨州hr人力资源软件开发
mysql数据库32位处理器
服务器容易被查吗
慧一舍棋牌软件开发公司
软件开发2011年11号
网闸时间服务器代理设置
建筑软件开发Python
软件开发 人证合一
中金软件开发 加班
打开服务器安全组密令
master主服务器的作用
gee平台服务器繁忙
目前网络安全划分有哪些基本方法