Linux-Nginx虚拟主机

news/2024/11/25 19:04:25/

文章目录

      • 虚拟主机
      • 路由规则

https://i-blog.csdnimg.cn/blog_migrate/58966ddd9b29aabe8841f5ec34f0d31c.gif

🏡作者主页:点击!

🤖Linux专栏:点击!

⏰️创作时间:2024年11月21日9点32分

在这里插入图片描述

虚拟主机

配置不同域名不同端口号访问到不同内容

mkdir /data/nginx{1..3}    #创建三个目录
echo "hello nginx-1" > /data/nginx1/index.html
echo "hello nginx-2" > /data/nginx2/index.html
echo "hello nginx-3" > /data/nginx3/index.html
cd /etc/nginx/conf.d/
mv static.conf static.conf.bakvi /etc/nginx/conf.d/vhost.confserver{listen 81;    #监听81端口server_name localhost;    #域名为www.test.comlocation / {    # / 意思是随意匹配root /data/nginx1;    #主目录为 Nginx1index index.html;    #默认页面为index.html}}server{listen 82;    #监听82端口server_name localhost;    #域名为www.test.comlocation / {    # / 意思是随意匹配root /data/nginx2;    #主目录为 Nginx2index index.html;    #默认页面为index.html}}server{listen 83;    #监听83端口server_name localhost;    #域名为www.test.comlocation / {    # / 意思是随意匹配root /data/nginx3;    #主目录为 Nginx3index index.html;    #默认页面为index.html}}nginx -t    #检查 Nginx 服务
nginx -s reload    #重新加载服务curl localhost:81    #使用命令验证
curl localhost:82
curl localhost:83

路由规则

cd /data/
mv nginx1 Nginx1    #将 nginx1 改为 Nginx1vi /etc/nginx/conf.d/vhost.conf    #修改虚拟主机的配置文件server{listen 81;    #监听81端口server_name localhost;    #域名为www.test.comlocation / {    # / 意思是随意匹配root /data/nginx1;    #主目录为 /data/nginx1index index.html;    #默认页面为index.html}}server{listen 82;    #监听82端口server_name localhost;    #域名为www.test.comlocation /nginx2 {    # 所有以 nginx2 开头的请求都会被重定向到 /data 目录root /data;    #主目录为 /dataindex index.html;    #默认页面为index.html}}#第三个nginx不做修改,依旧是默认匹配
nginx -s reload    #保存并重新加载curl localhost:81    #此处提示失败,因为本地的路径已经改为 Nginx1,配置文件里面是 nginx1
curl localhost:82    #此处返回的是Nginx on openeuler 最早的界面,在data下面没有index.html文件
curl localhost:82/nginx2    #加上nginx2参数之后,nginx2是个目录需要重定向
curl localhost:82/nginx2/    #此时就能正常访问到了对应的index.html文件
curl localhost:83    #此处显示成功
vi /etc/nginx/conf.d/vhost.confserver{listen 81;    #监听81端口server_name localhost;    #域名为www.test.comlocation ~* \.html$ {    #不分大小写的来匹配 .html 后缀的文件root /data/Nginx1;    #主目录为index index.html;    #默认页面为index.html}}	server{listen 82;    #监听82端口server_name localhost;    #域名为www.test.comlocation = /nginx2/index.html {    #意思是精准匹配/nginx2/index.htmlroot /data;    #主目录为/dataindex index.html;    #默认页面为index.html}}server{listen 83;    #监听83端口server_name localhost;    #域名为www.test.comlocation = / {    #精准匹配 / 接受/的请求,并重定向到 /data/nginx3root /data/nginx3;    #主目录为index index.html;    #默认页面为index.html}}nginx -s reload    #重新加载服务curl localhost:81    #会在/data/Nginx1目录下寻找所有匹配的html文件并返回
curl localhost:82/nginx2/index.html    #需要严格对应/nginx2/index.html才能做到正常回显
curl localhost:83    #接受 /,我们文件是不可能 / 结尾的,因此返回的是默认页面
vi /etc/nginx/conf.d/vhost.confserver{listen 81;    #监听81端口server_name localhost;    #域名为www.test.comlocation /Nginx1 {    #不分大小写的来匹配 .html 后缀的文件root /data;    #主目录为index index.html;    #默认页面为index.html}}	server{listen 82;    #监听82端口server_name localhost;    #域名为www.test.comlocation /nginx2 {    #意思是精准匹配/nginx2/index.htmlalias /data/nginx2/index.html;    #别名为/data,此时alias为绝对路径,root为相对路径index index.html;    #默认页面为index.html}}server{listen 83;    #监听83端口server_name localhost;    #域名为www.test.comlocation = / {    #精准匹配 / 接受/的请求,并重定向到 /data/nginx3root /data/nginx3;    #主目录为index index.html;    #默认页面为index.html}}nginx -s reload    #重新加载curl localhost:81    #此时返回默认界面
curl localhost:81/Nginx1    #此时因为是目录,我们需要在 /Nginx1/ 这样返回是正确的
curl localhost:82    #此时返回默认环境界面
curl localhost:82/nginx2    #此时输入一个路径就可以正常返回
curl localhost:83/    #此时返回欢迎界面,我们配置的精准匹配是不可能以 / 结尾的

http://www.ppmy.cn/news/1549885.html

相关文章

SpringBoot3中的性能提升介绍

Spring Boot 3 是对 Spring Boot 框架的一个重要更新版本,它延续了 Spring Boot 简化 Spring 应用程序开发的宗旨,同时进一步提升了开发者体验和应用程序性能。本文将详细介绍 Spring Boot 3 中性能优化的提升,包括具体的代码示例&#xff0c…

PySpark3:pyspark.sql.functions常见的60个函数

目录 一、常见的60个函数 1、col 2、lit 3、sum 4、avg/mean 5、count 6、max 7、min 8、concat 9、substring 10、lower 11、upper 12、trim 13、ltrim 14、rtrim 15、split 16、explode 17、collect_list 18、collect_set 19、asc 20、desc 21、when 2…

ESP8266 AP模式TCP服务器 电脑手机网络调试助手

AP模式TCP服务器和手机电脑网络调试助手多连接

H.265流媒体播放器EasyPlayer.js H5流媒体播放器关于如何查看手机端的日志信息并保存下来

现今流媒体播放器的发展趋势将更加多元化和个性化。人工智能的应用将深入内容创作、用户体验优化等多个方面,带来前所未有的个性化体验。 EasyPlayer.js H.265流媒体播放器属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放&#…

Python棉花病虫害图谱系统CNN识别+AI问答知识neo4j vue+flask深度学习神经网络可视化

文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! 功能介绍 编号:F045 🪲 vueflaskneo4jmysql 架构 (前后端分离架构) 🪲 棉花…

Linux 进程概念与进程状态

目录 1. 冯诺依曼体系结构2. 操作系统(Operator System)2.1 概念2.2 设计OS的目的2.3 系统调用和库函数概念 3. 进程概念3.1 描述进程 - PCB3.2 task_struct3.3 查看进程3.4 通过系统调用获取进程标识符PID, PPID3.5 通过系统调用创建fork 4.…

应急响应:玄机_Linux后门应急

https://xj.edisec.net/challenges/95 11关做出拿到万能密码,ATMB6666,后面都在root权限下操作 1、主机后门用户名称:提交格式如:flag{backdoor} cat /etc/passwd,发现后门用户 flag{backdoor} 2、主机排查项中可以…

IDEA 添加外部.jar包。maven本地仓库录入新jar包。IDEA maven 命令巧妙使用。

这总方式有个好处,在打包和今后的引用都无需担心。 今天拿到一个别人的demo,需要把里面的jar导入到我的项目里面。 在IDEA maven工具面板中: 得到一个弹窗 因为输入框中已经有了mvn,所有我们写命令的时候直接忽略mvn指令 这里输…