Nginx虚拟机主机

news2024/10/7 8:30:19

Nginx虚拟机主机

在这里插入图片描述

简述

虚拟主机是一种特殊软硬件技术,将网络上每一台计算机分成多个虚拟主机,每个虚拟主机可独立对外提供www服务,实现一台主机对外提供多个web服务,每个虚拟主机之间独立,互不影响。

在这里插入图片描述

配置位置

既可以在七层代理层配置,又可以在业务逻辑层配置。不同层需要配置不同模块。

支持的虚拟主机配置类型

  • 基于域名(server_name区分虚拟主机-应用:外部网站
  • 基于IP(一块主机绑定多个IP)
  • 基于端口(端口来区分虚拟主机-应用:公司内部网站,外部网站的管理后台

基于域名

#查看初始nginx配置
[root@node2 nginx]# pwd
/etc/nginx
[root@node2 nginx]# cat nginx.conf | grep include
    include       /etc/nginx/mime.types;
    include /etc/nginx/conf.d/*.conf;
#所有配置文件在 /etc/nginx/conf.d/*.conf;


#切换文件夹
[root@node2 conf.d]# ll
总用量 4
-rw-r--r-- 1 root root 1072 411 13:21 default.conf
[root@node2 conf.d]# pwd
/etc/nginx/conf.d
#做备份
[root@node2 conf.d]# mv default.conf  default.conf.bak 
[root@node2 conf.d]# vi test.conf

配置文件

# 标准 location
server {
        listen 80;
        server_name www.rkun01.com;
        root         /usr/share/nginx/web;
        access_log   /var/log/www.rkun01.com.log main;
        error_log    /var/log/www.rkun01.com.error.log;
        location / {
                index index.html;
        }
}
# 多个 location
server {
        listen 80;
        server_name www.rkun02.com;
        root         /usr/share/nginx/html;
        access_log   /var/log/www.rkun02.com.log main;
        error_log    /var/log/www.rkun02.com.error.log;
        location / {
                index index.html;
        }
        location /test {
                index index.html;
        }
}



# 模板配置
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location / {
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

创建所需文件

#根据配置创建文件
[root@node2 nginx]# pwd
/usr/share/nginx
[root@node2 nginx]# mkdir web
[root@node2 nginx]# cd html/
[root@node2 html]# ls
50x.html  index.html
[root@node2 html]# cp index.html /usr/share/nginx/web/
[root@node2 html]# ll /usr/share/nginx/web/
总用量 4
-rw-r--r-- 1 root root 615 619 05:36 index.html
#简单修改不同index页面

[root@node2 html]# mkdir test
[root@node2 html]# ls
50x.html  index.html  test
[root@node2 html]# cp index.html test/
[root@node2 html]# cd test/
[root@node2 test]# ll
总用量 4
-rw-r--r-- 1 root root 622 619 05:40 index.html

加载配置,重启

[root@node2 ~]# nginx -s reload
[root@node2 ~]# systemctl restart nginx

在文件C:\Windows\System32\drivers\etc\hosts配置

192.168.1.129   www.rkun01.com
192.168.1.129   www.rkun02.com

测试访问

http://www.rkun01.com/

在这里插入图片描述

http://www.rkun2.com/

在这里插入图片描述

http://www.rkun02.com/test/

在这里插入图片描述

基于IP

添加网卡

  • 查看当前系统可用网络接口

    
    [root@node2 ~]# ip addr show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:58:e5:d1 brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.129/24 brd 192.168.1.255 scope global noprefixroute ens33
           valid_lft forever preferred_lft forever
        inet6 fe80::ad87:aa33:46:de0e/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    
    #在VMware中为虚拟机添加一张网卡nat模式
    [root@node2 network-scripts]# ip a | grep mtu
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    #新网卡为ens36
    
  • 编辑配置文件,创建新网卡配置文件

    [root@node2 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
    
    #获取新uuid
    [root@node2 ~]# uuidgen
    a108b19f-b8d8-4bdc-be20-13f614128ac9
    
    
    
    
    
    
    [root@node2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens36
    [root@node2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens36
    [root@node2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens36
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens36"
    UUID="a108b19f-b8d8-4bdc-be20-13f614128ac9"
    DEVICE="ens36"
    ONBOOT="yes"
    IPADDR=192.168.1.136
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.2
    DNS1=8.8.8.8
    DNS2=114.114.114.114
    
    
    
    [root@node2 network-scripts]# service network restart
    Restarting network (via systemctl):                        [  OK  ]
    
    [root@node2 ~]# ip a | grep "ens3\|inet"
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host 
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet 192.168.1.129/24 brd 192.168.1.255 scope global noprefixroute ens33
        inet6 fe80::ad87:aa33:46:de0e/64 scope link noprefixroute 
    3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        inet 192.168.1.136/24 brd 192.168.1.255 scope global noprefixroute ens36
        inet6 fe80::92c0:bbef:8d35:8ccd/64 scope link noprefixroute 
    
    
    
    
    

配置通过IP区分的虚拟机

[root@node2 ~]# vim /etc/nginx/conf.d/test.conf 
[root@node2 ~]# cat /etc/nginx/conf.d/test.conf 
# 标准 location
server {
        listen 192.168.1.129:80;
        server_name www.rkun01.com;
        root         /usr/share/nginx/web;
        access_log   /var/log/www.rkun01.com.log main;
        error_log    /var/log/www.rkun01.com.error.log;
        location / { 
                index index.html;
        }
}
# 多个 location
server {
        listen 192.168.1.136:80;
        server_name www.rkun02.com;
        root         /usr/share/nginx/html;
        access_log   /var/log/www.rkun02.com.log main;
        error_log    /var/log/www.rkun02.com.error.log;
        location / {
                index index.html;
        }
        location /test {
                index index.html;
        }
}



# 模板配置
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location / {
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

  • 重启服务

    nginx -s reload
    
  • 测试访问

    http://192.168.1.129
    http://192.168.1.136
    

在这里插入图片描述
在这里插入图片描述

  • 最后去除网卡

基于端口

修改配置文件

[root@node2 ~]# vim /etc/nginx/conf.d/test.conf 
[root@node2 ~]# cat  /etc/nginx/conf.d/test.conf 
# 标准 location
server {
        listen 8000;
        server_name www.rkun01.com;
        root         /usr/share/nginx/web;
        access_log   /var/log/www.rkun01.com.log main;
        error_log    /var/log/www.rkun01.com.error.log;
        location / { 
                index index.html;
        }
}
# 多个 location
server {
        listen 8080;
        server_name www.rkun02.com;
        root         /usr/share/nginx/html;
        access_log   /var/log/www.rkun02.com.log main;
        error_log    /var/log/www.rkun02.com.error.log;
        location / {
                index index.html;
        }
        location /test {
                index index.html;
        }
}



# 模板配置
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location / {
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

访问端口,测试

nginx -s reload

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于深度学习的高精度塑料瓶检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度塑料瓶检测识别系统可用于日常生活中或野外来检测与定位塑料瓶目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的塑料瓶目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检…

自动化面试题5

一、Modbus通信485/232/422的优缺点。 &#xff08;1&#xff09;RS232和RS422是全双工的&#xff0c;RS485是半双工的。 &#xff08;2&#xff09;RS485与RS232仅仅是通讯的物理协议&#xff08;即接口标准&#xff09;有区别&#xff0c;RS485是差分传输方式&#xff0c;R…

Spring6 AOT 提前编译

文章目录 1、AOT概述1.1、JIT与AOT的区别1.2、Graalvm1.3、Native Image 2、Native Image构建过程2.1、GraalVM安装&#xff08;1&#xff09;下载GraalVM&#xff08;2&#xff09;配置环境变量&#xff08;3&#xff09;安装native-image插件 2.2、安装C的编译环境&#xff0…

法规标准-ISO 23374标准解读

ISO 23374是做什么的&#xff1f; ISO 23374全名为智能交通系统-自动代客泊车系统(AVPS) 第一部分&#xff1a;系统框架、自动驾驶要求和通信接口&#xff0c;针对AVPS的系统框架及功能要求、通信接口进行介绍&#xff0c;由于通信接口涉及功能实现&#xff0c;但此处介绍较为…

ubuntu20.04 磁盘故障,然后重装22.04

ubuntu20.04 磁盘故障&#xff0c;然后重装22.04 重装原因开机自启动不需要使用sudo 软件截图 flameshot输入法 fcitx5 重装原因 编译程序报错 /usr/include/x86_64-linux-gnu/bits/signum.h:26:10: fatal error: /usr/include/x86_64-linux-gnu/bits/signum-generic.h: 结构需…

VUE L ∠脚手架 配置代理 ⑩⑧

目录 文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持✨ V u e j s Vuejs Vuejs初识 V u e C L I VueCLI VueCLI C L I CLI CLI V u e Vue Vue配置代理 C L I CLI CLI配置方法一 C L I CLI CLI配置方法二 C L I CLI CLI V u …

经典文献阅读之--VIP-SLAM(紧耦合RGB-D视觉惯性平面SLAM)

0. 简介 现有的视觉SLAM很多的算法让仍然是基于特征提取的方法来完成地图的建立&#xff0c;而RGB-D传感器的算法仍然是主要基于稀疏点的SLAM系统&#xff0c;这就导致在构建稠密点云地图的时候需要保持大量的地图点来建模环境。大量的地图点给我们带来了很高的计算复杂性&…

Python 进阶(二):Python使用ORM框架peewee操作MySQL数据库

Python使用ORM框架peewee操作数据库 前言1. 安装Peewee库并初始化数据库2. 创建数据库连接3. 定义数据表模型类4. 连接数据库并创建表5. 操作数据库5.1 插入数据5.2 查询数据5.3 更新数据5.4 删除数据 6. 聚合查询 前言 本文基于MySQL8.x版本的学习&#xff0c;python版本基于…

美客多、Newegg卖家如何提高店铺销量?测评自养号的重要性

作为美客多和Newegg平台上的卖家&#xff0c;提高店铺销量是卖家取得商业成功的关键。珑哥今天来说一些有效的策略&#xff0c;帮助卖家增加销售额并提升店铺的知名度和竞争力。 优化产品页面&#xff1a; 优秀的产品页面可以吸引更多买家并促进销售。确保产品标题准确、吸引人…

经典文献阅读之--NICE-SLAM(SLAM的神经隐含可扩展编码)

0. 简介 对于深度学习而言&#xff0c;NeRF一定是最近两年最火的工作之一了&#xff0c;**NeRF&#xff08;Neural Radiance Fields&#xff09;**是最早在2020年ECCV会议上的Best Paper&#xff0c;其将隐式表达推上了一个新的高度&#xff0c;仅用 2D 的 posed images 作为监…

stm32配置基本定时功能

Clock Source参数说明 内部时钟源是由STM32F103芯片内部的RC振荡器提供的。它的频率为8MHz&#xff0c;可以通过PLL倍频器进行倍频&#xff0c;最高可达到72MHz。 Internal clock Division No Division&#xff1a;不分频&#xff0c;即系统时钟直接作为时钟信号。Divided by 2…

ModaHub AI模型社区:向量数据库CPU 版 Milvus和GPU 版 Milvus 版本比较

目录 CPU 版 Milvus 版本比较 概述 CPU 版 Milvus 支持的索引类型 浮点型向量 二值型向量 GPU 版 Milvus 版本比较 概述 GPU 版 Milvus 支持的索引类型 浮点型向量 二值型向量 CPU 版 Milvus 版本比较 概述 Milvus 提供两个发行版本&#xff1a;CPU 版本和 GPU 版本…

学生成绩管理系统(Python+数据库)

文章目录 前言MySQL部分1. 导入信息2. 演示说明 Python程序设计部分1. 连接数据库2. 登录界面3. 注册界面4. 主界面5. 查询信息6. 修改密码7. 成绩分析7.1 通过学号查询成绩7.2 通过课程号查询成绩 7. 主函数 尾声 前言 用Python和数据库一起实现了一个简单的学生成绩管理系统…

GPDB-内核特性-UDP流量控制

GPDB-内核特性-UDP流量控制 GPDB是在开源PostgreSQL基础上&#xff0c;采用MPP架构的关系型分布式数据库&#xff0c;具有强大的大规模数据分析任务处理能力。采用Shared-Nothing架构&#xff0c;整个集群由多个数据节点&#xff08;segment&#xff09;和控制节点&#xff08;…

Python爬虫 从小白到高手 各种最新案例! Urllib Xpath

Urllib 1.什么是互联网爬虫&#xff1f; 如果我们把互联网比作一张大的蜘蛛网&#xff0c;那一台计算机上的数据便是蜘蛛网上的一个猎物&#xff0c;而爬虫程序就是一只小蜘蛛&#xff0c;沿着蜘蛛网抓取自己想要的数据 解释1&#xff1a;通过一个程序&#xff0c;根据Url(http…

实训五:数据库安全控制 - 创建用户

创建用户 第1关&#xff1a;创建用户任务描述相关知识增加用户修改用户名修改用户密码删除用户 编程要求测试说明参考代码 第2关&#xff1a;创建用户-练习任务描述相关知识编程要求测试说明参考代码 第1关&#xff1a;创建用户 任务描述 本关任务&#xff1a;创建用户 user1…

你不知道的HTML属性,让你的网页更加响应式

前言 当我们谈论 HTML 时&#xff0c;通常会想到一些常见的属性&#xff0c;如 class、id、href 等等。但是&#xff0c;HTML 还有许多你可能从未听说过的属性&#xff0c;这些属性可以让你的网页更加丰富多彩。在本文中&#xff0c;我将介绍一些你可能不知道的 HTML 属性&…

SPI通信协议SPI通信外设

目录 SPI 介绍 硬件电路 移位示意图 软件SPI SPI时序基本单元 SPI时序​编辑 W25Q64 硬件电路 W25Q64框图 Flash操作注意事项 指令集 硬件SPI SPI框图 主模式全双工连续传输 非连续传输 SPI 介绍 硬件电路 推挽输出&#xff0c;高低电平都有很强的驱动能力&…

基于Python数据分析的详细讲解+实战(含代码)

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、C/C 主页链接&#xff1a;阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 载入数据集 数据预处理 探索性数据分析 发现相关性 开发模型 模型部署 Python数据分析代码实…

Vue基础(一)

前言&#xff1a; Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或既有项目整合。 …