web服务器练习---配置nginx三种虚拟主机

在做实验之前,大家先安装nginx服务,有两种安装方法:

1、rpm包安装(安装过程简单,适用于学习阶段,方便测试)

2、源码安装(安装过程较为复杂,适用于生产环境)

想必大家都会安装,如果不会,请到csdn上查找教程,这里不做过多描述

还有最重要的一点,为了防止测试有误,我们需要关闭防火墙和selinux,

[root@node6 ~]# systemctl stop firewalld.service 
[root@node6 ~]# setenforce 0

目录

一:配置三种不同的虚拟主机

0.前期准备

1.基于IP的虚拟主机

2.基于端口的虚拟主机

3.基于域名的虚拟主机


一:配置三种不同的虚拟主机

0.前期准备

【1】首先创建访问的目录/data/Nginx,然后再创建三个目录,分别是nginx1,nginx2,nginx3

[root@node6 ~]# mkdir -p /data/Nginx/nginx{1..3}

【2】分别在三个目录中创建index.html

[root@node6 ~]# cd /data/Nginx/

[root@node6 Nginx]# echo "hello,nginx1!" > nginx1/index.html
[root@node6 Nginx]# echo "hello,nginx2!" > nginx2/index.html
[root@node6 Nginx]# echo "hello,nginx3!" > nginx3/index.html

1.基于IP的虚拟主机

1.首先增加两个IP地址(因为我配置了静态IP,所以只需增加两个)
[root@node6 Nginx]# nmcli connection modify ens33 +ipv4.addresses 192.168.111.66/24 ipv4.method manual 
[root@node6 Nginx]# nmcli connection modify ens33 +ipv4.addresses 192.168.111.166/24 ipv4.method manual 
[root@node6 Nginx]# nmcli connection up ens33    # 重新启动ens33的网络连接
2.在/usr/local/nginx/conf.d/(这个路径根据自己nginx服务安装路径)中新建配置文件vhost.conf
[root@node6 ~]# cd /usr/local/nginx/conf.d/
server {
    listen       192.168.111.6:80;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx1;
        index  index.html index.htm;
    }
}

server {
    listen       192.168.111.6:81;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx2;
        index  index.html index.htm;
    }
}

server {
    listen       192.168.111.6:82;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx3;
        index  index.html index.htm;
    }
}
 
server {
    listen       192.168.111.6:80;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx1;
        index  index.html index.htm;
    }
}

server {
    listen       192.168.111.66:80;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx2;
        index  index.html index.htm;
    }
}

server {
    listen       192.168.111.166:80;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx3;
        index  index.html index.htm;
    }
}
[root@node6 conf.d]# nginx -t     # 检查配置文件语法
[root@node6 conf.d]# systemctl restart nginx.service     # 重新启动服务

 在浏览器上进行访问:

2.基于端口的虚拟主机

【1】 先把刚才增加的IP地址去掉

[root@node6 conf.d]# nmcli connection modify ens33 -ipv4.addresses 192.168.111.66/24
[root@node6 conf.d]# nmcli connection modify ens33 -ipv4.addresses 192.168.111.166/24
[root@node6 conf.d]# nmcli connection up ens33

【2】修改vhost.conf配置文件(大家也可以在新建一个配置文件,为了避免配置之间互相干扰,将vhost.conf文件删除或者修改为 ".bak" 结尾的文件)

# 把IP地址改为一样的,修改成不同的端口号
[root@node6 conf.d]# vim vhost.conf
server {
    listen       192.168.111.6:80;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx1;
        index  index.html index.htm;
    }
}

server {
    listen       192.168.111.6:81;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx2;
        index  index.html index.htm;
    }
}

server {
    listen       192.168.111.6:82;
    server_name  localhost;
    location / {
        root   /data/Nginx/nginx3;
        index  index.html index.htm;
    }
}
[root@node6 conf.d]# nginx -t     # 检查配置文件语法
[root@node6 conf.d]# systemctl restart nginx.service     # 重新启动服务

 【3】在浏览器上进行访问:

3.基于域名的虚拟主机

【1】修改vhost.conf配置文件(大家也可以在新建一个配置文件,为了避免配置之间互相干扰,将vhost.conf文件删除或者修改为 ".bak" 结尾的文件)

# 把IP地址和端口号改为一样的,域名不同
[root@node6 conf.d]# vim vhost.conf
server {
    listen       192.168.111.6:80;
    server_name  www.test1.com;
    location / {
        root   /data/Nginx/nginx1;
        index  index.html index.htm;
    }
}

server {
    listen       192.168.111.6:80;
    server_name  www.test2.com;
    location / {
        root   /data/Nginx/nginx2;
        index  index.html index.htm;
    }
}

server {
    listen       192.168.111.6:80;
    server_name  www.test3.com;
    location / {
        root   /data/Nginx/nginx3;
        index  index.html index.htm;
    }
}
[root@node6 conf.d]# nginx -t     # 检查配置文件语法
[root@node6 conf.d]# systemctl restart nginx.service     # 重新启动服务

【2】在浏览器上进行访问

需要在本地 C:\Windows\System32\drivers\etc\hosts 中写入以下这行,进行保存

192.168.111.6 www.test1.com www.test2.com www.test3.com

 

 实现结束!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/160256.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

三十分钟学会Hive

Hive的概念与运用 Hive 是一个构建在Hadoop 之上的数据分析工具(Hive 没有存储数据的能力,只有使用数据的能力),底层由 HDFS 来提供数据存储,可以将结构化的数据文件映射为一张数据库表,并且提供类似 SQL …

设计模式--模板方法外观模式

模板方法模式 场景:需使用代码方式实现,考完试后,将各个学生的试卷及答案誊抄一份。 假如有两个学生的试卷誊抄完毕. // 学生A public class TestPaperA {// 试题1public void testQuestion1() {System.out.println("问题一:XXXXXXXX…

一文搞懂RC滤波器的设计?

滤波器是一种可以对“波”进行过滤的器件,一般是特定频率的信号。所以可以常常看到滤波器的种类繁多,有高通滤波器,低通滤波器,带通滤波器及带阻滤波器等等。 滤波器的主要作用就是滤波,它需要尽可能的让有用信号能够做…

九. Linux网络命令

网络命令write 网络命令wall 网络命令ping 首先,ping程序会向域名服务器(DNS)发送请求,解析域名www.baidu.com的IP地址。DNS返回域名的一个别名www.a.shifen.com以及对应的IP地址183.2.172.185。之后ping程序开始向这个地址发送请求报文,每1s…

大模型重塑软件设计,南京真我加入飞桨技术伙伴,大模型生态圈成员又添一员!...

为帮助伙伴更快、更好的应用大模型技术,飞桨技术伙伴体系及权益基于星河共创计划全面升级,通过丰富的场景、技术、算力、品牌等资源,为伙伴企业提供一站式的大模型资源对接,全面降低创建AI原生应用的门槛。 近日,南京真…

C 语言字符串

C 语言字符串 在本教程中,您将学习C语言编程中的字符串。您将在示例的帮助下学习声明它们,对其进行初始化以及将它们用于各种 I / O(输入/输出)操作。 在C语言编程中,字符串是以null字符\0结束的字符序列。例如: ch…

电子学会2023年06月青少年软件编程(图形化)等级考试试卷(一级)真题,含答案解析

青少年软件编程(图形化)等级考试试卷(一级) 一、单选题(共25题,共50分) 1. 看图找规律,请问下图红框中是?( ) A.

京东数据采集与挖掘(京东大数据):2023年10月京东冰箱品牌销售排行榜

鲸参谋监测的京东平台10月份冰箱市场销售数据已出炉! 10月份,冰箱市场的销售额有小幅上涨。鲸参谋数据显示,在京东平台上,今年10月冰箱市场的销量为94万,销售额将近23亿,同比增长超过1%。从价格上看&#x…

Flume学习笔记(1)—— Flume入门

Flume 概述 Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统 Flume 基于流式架构,灵活简单 Flume最主要的作用就是,实时读取服务器本地磁盘的数据,将数据写入到HDFS 基础架…

4.3每日一题(知全微分求函数本身)

公式 1、先通过公式:dx前系数对y求偏导、dy前面的系数对x求偏导,求出 f(x)的表达式;对x求不定积分,再通过 f(0)0求出常数C,即可求出 f(x) 2、把F(x)的全微分列出来,dx、dy前面的表达式分别为F(x)偏x、y的…

数据库编程sqlite3库安装及使用

数据库编程 数据库的概念 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是…

在python中os.chdir()的含义以及用法

文章目录 一、os.chdir() 是什么?二、用法注意 一、os.chdir() 是什么? 在Python中,os.chdir() 是 “change directory” 的缩写,意思是改变当前工作目录。这个函数是Python的 os 模块的一部分,允许你更改程序的工作目…

CTF-虚拟机——【前置知识二】

文章目录 CPU虚拟化特权级压缩权限系统虚拟化解决方法模拟&解释执行(VMware)扫描&修补二进制翻译(Binary Translation)二进制代码翻译技术与扫描修补技术区别硬件辅助虚拟化技术(VT)VMX操作模式&am…

在线 sha1 加密

ttmd5 http://www.ttmd5.com/hash.php?type5 qqxiuzi https://www.qqxiuzi.cn/bianma/sha-1.htm jb51 http://tools.jb51.net/password/sha_encode

vue3安装vue-router

环境 node 18.14.2 yarn 1.22.19 windows 11 vite快速创建vue项目 参考 安装vue-touter 官网 yarn add vue-router4src下新建router文件夹,该文件夹下新建index.ts // router/index.ts 文件 import { createRouter, createWebHashHistory, RouterOptions, Ro…

浅谈霍尔电流传感器在UPS蓄电池浮充电流远程监测方案的应用-安科瑞 蒋静

摘要:针对无人平台UPS蓄电池多次出现浮充电流过高的现象,介绍了UPS系统的结构和工作原理,通过应用霍尔电流传感器,DCS组态,实现UPS蓄电池浮充电流远程监控,异常电流故障报警,推动了无人平台的自…

《向量数据库指南》——TruLens + Milvus Cloud构建RAG深入了解性能

深入了解性能 索引类型 本例中,索引类型对查询速度、token 用量或评估没有明显影响。这可能是因为数据量较小的关系。索引类型对较大语料库可能更重要。 Embedding 模型 text-embedding-ada-002 在准确性(0.72,平均 0.60)和答案相关度(0.82,平均0.62)上优于 MiniLM Embeddin…

BUUCTF [GXYCTF2019]佛系青年 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 密文: 下载附件,解压得到ZIP压缩包。 解题思路: 1、压缩包内有一张png图片和一个txt文本,解压zip压缩包,解压出图片,但txt文本提示需要输入密…

ElementUI及ElementUI Plus Axure RP高保真交互元件库及模板库

基于ElementUI2.0及ElementUI Plus3.0二次创作的ElementUI 元件库。2个版本的原型图内容会有所不同,ElementUI Plus3.0的交互更加丰富和高级。你可以同时使用这两个版本。 不仅包含Element UI 2.0版,还包含Element Plus 3版本。Element 2版支持Axure 8&…

vue+element实现多级表头加树结构

标题两种展示方式 方式一 完整代码: <template><div class"box"><el-tableref"areaPointTable":data"tableData"border:span-method"objectSpanMethod":header-cell-style"tableHeaderMerge"><el-ta…