03. Nginx入门-Nginx虚拟主机

Nginx虚拟主机简介

yum安装与源码安装一样,只是Nginx配置文件路径不一致,这里用的yum安装的配置文件路径。
利用虚拟主机的功能,可以在一台Nginx服务器上部署一个或多个虚拟主机。

虚拟主机主配置文件

注意:配置完成Nginx主配置文件以后,后续子配置文件只需要在指定的目录下添加子配置文件,且子配置文件不需要在写http标签。
路径:/etc/nginx/nginx.conf

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

charset utf-8;

events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

单虚拟主机

只需要在http{}区域中设置一个server{}标签即可。

要求

  1. 部署一个WEB服务
  2. WEB服务域名为www.wangmingqu.com
  3. 访问域名可以查看/www/wangmingqu/index.html页面

准备数据

#编辑html文件
mkdir -p /www/wangmingqu/
echo "hello word,I am wangmingqu!" > /www/wangmingqu/index.html

#下载图片
cd /www/wangmingqu/
wget https://img1.bdstatic.com/static/searchdetail/widget/toolbar/imgs/toolbar_ic_2c80ef5.png

#编辑txt文件
cat > /www/wangmingqu/ai.txt << EOF
阿伦·艾弗森(Allen Iverson),全名阿伦·伊宰尔·艾弗森(Allen Ezail Iverson)

1975年6月7日出生于美国弗吉尼亚州汉普顿,美国篮球运动员,司职后卫,绰号“答案(The Answer)”

曾任美国男篮梦之队队长。
EOF

编辑Nginx配置文件

路径:/etc/nginx/conf.d/wangmingqu.conf

server {
  #监听的端口
  listen 80;
  #网站匹配的域名
  server_name www.wangmingqu.com;
  #网站的字符集设置
  charset utf-8;

  #匹配“根”目录,即访问http://www.wangmingqu.com:80时匹配一下信息
  location / {
    #匹配成功以后查找“/www/wangmingqu/”目录下的内容
    root /www/wangmingqu/;
    #找到匹配路径以后,
    index index.html;
  }
}

重载Nginx

nginx -t
systemctl reload nginx

本地host配置

路径:C:\Windows\System32\drivers\etc\hosts
添加:192.169.1.128 www.wangmingqu.com

验证虚拟主机

image.png

基于多IP的虚拟主机

配置多网卡

#查看IP
ifconfig ens32
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.169.1.128  netmask 255.255.255.0  broadcast 192.169.1.255
        inet6 fe80::de68:16bc:e4f9:132  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:40:02:e7  txqueuelen 1000  (Ethernet)
        RX packets 45956  bytes 12918483 (12.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7903  bytes 865117 (844.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

#增加IP
ip addr add 192.169.1.126/24 dev ens32
ip addr add 192.169.1.127/24 dev ens32

测试数据

mkdir -p /www/{126,127}
echo "此页面为192.169.1.126" > /www/126/index.html
echo "此页面为192.169.1.127" > /www/127/index.html

编辑配置文件

路径:/etc/nginx/conf.d/ip_config.conf

server {
  listen 80;
  server_name 192.169.1.126;
  charset utf-8;
  
  location / {
    root /www/126/;
    index index.html;
  }
}

server {
  listen 80;
  server_name 192.169.1.127;
  charset utf-8;
  
  location / {
    root /www/127/;
    index index.html;
  }
}

重载Nginx

nginx -t
systemctl reload nginx

验证Nginx

image.png
image.png

基于多端口的虚拟主机

测试数据

mkdir -p /www/{81,82,83}

echo "81" > /www/81/index.html
echo "82" > /www/82/index.html
echo "83" > /www/83/index.html

编辑配置文件

路径:/etc/nginx/conf.d/ports.conf

server {
  listen 81;
  server_name 192.169.1.126;
  charset utf-8;

  location / {
    root /www/81/;
    index index.html;
  }
}

server {
  listen 82;
  server_name 192.169.1.126;
  charset utf-8;

  location / {
    root /www/82/;
    index index.html;
  }
}

server {
  listen 83;
  server_name 192.169.1.126;
  charset utf-8;

  location / {
    root /www/83/;
    index index.html;
  }
}

重载Nginx

nginx -t
systemctl reload nginx

验证Nginx

image.png
image.png
image.png

基于多域名的虚拟主机

测试数据

mkdir -p /www/name/{wang,ming,qu}

echo "王茗渠的王" > /www/name/wang/index.html
echo "王茗渠的茗" > /www/name/ming/index.html
echo "王茗渠的渠" > /www/name/qu/index.html

编辑配置文件

路径:/etc/nginx/conf.d/domean_name.conf

server {
  listen 80;
  server_name wang.wangmingqu.com;
  charset utf-8;

  location / {
    root /www/name/wang/;
    index index.html;
  }
}

server {
  listen 80;
  server_name ming.wangmingqu.com;
  charset utf-8;

  location / {
    root /www/name/ming/;
    index index.html;
  }
}

server {
  listen 80;
  server_name qu.wangmingqu.com;
  charset utf-8;

  location / {
    root /www/name/qu/;
    index index.html;
  }
}

本地host配置

路径:C:\Windows\System32\drivers\etc\hosts
添加:192.169.1.128 wang.wangmingqu.com ming.wangmingqu.com qu.wangmingqu.com

重载Nginx

nginx -t
systemctl reload nginx

验证Nginx

image.png
image.png
image.png

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

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

相关文章

【如何在Docker中,修改已经挂载的卷(Volume)】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 提示&#xff1a;添加投票&#xff01;&#xff01;&#xff01; 目录 简述概要知识图谱 简述概要 如何在Docker中&#xff0c;修改已经挂载的卷&#xff08;Volume&#xff09; 知识图谱 在Docker中&#xff0c;修改已经挂载…

基于SSM SpringBoot vue个人博客网站

基于SSM SpringBoot vue个人博客网站 系统功能 首页 图片轮播 博客文章 搜索 登录注册 论坛 留言板 个人中心 我的收藏 后台管理 登录 个人中心 博客分类管理 博客文章管理 论坛管理 系统管理 管理员管理 注册用户管理 开发环境和技术 开发语言&#xff1a;Java 使用框架:…

API 测试- Postman Vs Rest Assured

【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程&#xff0c;一周学完让你面试通过率提高90%&#xff01;&#xff08;自动化测试&#xff09; 介绍&#xff1a; 创新和现代化的目标已经从简单的市场差异化转变为更有道德地追求整个社会的进步。提出了新的要求…

03按键控制LED

上回讲到点亮一个LED     这次我们来实现用按键控制led 不带中断的方式 当然实例来源网络 加上自己整合 先熟悉流程 0.添加一个自己写的驱动库文件 为什么添加 笔者想的是一个项目工程希望能适应很多个应用场景需要什么直接在里面调用分装好的函数就行 1.如何添加文件以及…

AI改变游戏规则:内容创作的新时代!

AI技术&#xff0c;尤其是人工智能&#xff08;AI&#xff09;在内容创作领域的应用&#xff0c;正开启了一个全新的时代。这一时代的核心在于利用AI的能力&#xff0c;不仅提高内容创作的效率&#xff0c;还能引入前所未有的创新元素&#xff0c;从而彻底改变游戏规则。 AI在…

【北京迅为】《iTOP-3588开发板网络环境配置手册》第1章 网络基础知识学习

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

Stable Diffusion 模型分享:CG texture light and shadow(CG纹理光影)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 一个拥有cg质感和光影的融合模型&#xff0c;偏2.5D 条目内容类型大模型基础模型SD 1.5来…

python--产品篇--游戏-坦克

文章目录 准备代码main.pycfg.py 效果 准备 下载 代码 main.py import os import cfg import pygame from modules import *主函数 def main(cfg):# 游戏初始化pygame.init()pygame.mixer.init()screen pygame.display.set_mode((cfg.WIDTH, cfg.HEIGHT))pygame.display.…

2024-03-05

作业要求&#xff1a; 使用write 和 read 实现 文件夹拷贝功能&#xff0c;不考虑递归拷贝使用循环fork的形式。创建一条进程链&#xff0c;链条上总共有100个进程 要求&#xff1a;程序不崩溃 作业1&#xff1a;使用write 和 read 实现 文件夹拷贝功能&#xff0c;不考虑递归拷…

从零学习Linux操作系统 第三十一部分 ansible常用模块介绍

一、ansible运行模块的两种方式 Ad-Hoc方式 ##利用ansible命令直接完成管理&#xff0c;主要用于临时命令使用场景 playbook方式 ##ansible脚本&#xff0c;主要用于大型项目场景&#xff0c;需要前期的规划&#xff0c;相当于shell当中的脚本 二、如何查看模块帮助 ansible…

Java方法重载

重载 概念 重载就是在一个类中&#xff0c;有相同的函数名&#xff0c;但形参不同的函数 规则 方法名称必须相同参数列表必须不同&#xff08;个数不同、或类型不同、参数排列顺序不同等&#xff09;方法的返回值类型可以相同也可以不同仅仅返回类型不同不足以成为方法的重载 实…

【论文精读】Mask R-CNN

摘要 基于Faster RCNN&#xff0c;做出如下改变&#xff1a; 添加了用于预测每个感兴趣区域(RoI)上的分割掩码分支&#xff0c;与用于分类和边界框回归的分支并行。mask分支是一个应用于每个RoI的FCN&#xff0c;以像素到像素的方式预测分割掩码&#xff0c;只增加了很小的计…

微信小程序云开发教程——墨刀原型工具入门(Axure导入)

引言 作为一个小白&#xff0c;小北要怎么在短时间内快速学会微信小程序原型设计&#xff1f; “时间紧&#xff0c;任务重”&#xff0c;这意味着学习时必须把握微信小程序原型设计中的重点、难点&#xff0c;而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

计算机网络实验一 网线制作

实验目的与要求&#xff1a; 实验目的 了解以太网网线&#xff08;双绞线&#xff09;和制作方法 实验内容 了解网线和水晶头 学习网线制作方法 实验环境和要求 网线 水晶头 压线钳 剥线钳 网线测试器 方法、步骤&#xff1a; 步骤一 准备工具和材料 步骤二 剥掉双绞线的外…

【排序】详解归并排序

一、思想 归并排序的核心思想是分治法&#xff0c;即将大问题分解成小问题来解决&#xff0c;然后再将解决后的小问题的结果合并以解决原来的大问题。具体包括以下几个步骤&#xff1a; 分解&#xff08;Divide&#xff09;&#xff1a;将原始数组不断地二分成更小的子数组&a…

使用Redis入门Golang

Golang&#xff0c;也被称为Go&#xff0c;近年来由于其简单性、效率和并发支持而获得了显著的关注。另一方面&#xff0c;Redis是一个强大的内存数据存储&#xff0c;擅长于缓存、会话存储和实时分析。将这两种技术结合起来&#xff0c;可以为各种用例提供可扩展和高效的解决方…

通过Apple Configurator 2导出iOS ipa包

通过Apple Configurator 2导出iOS ipa包 安装Apple Configurator 2 从Mac AppStore安装Apple Configurator 2 下载ipa 准备工作&#xff1a; 1、 电脑已经安装了Apple Configurator 2 2、 手机已经安装了目标软件 3、 Apple 账号已经下载过目标软件 打开后连接设备&#xf…

人脸高清算法GFPGAN之TensorRT推理

1. 综述 最近由于做数字人项目&#xff0c;采用的是wav2lip GFPGAN进行人脸面部高清&#xff0c;但GFPGAN模型本身比较大&#xff0c;所以想着使用TensorRT来代替原始的pth推理看看能否提升运行速度&#xff0c;于是便开始了这趟windows10之下进行GFPGAN的trt推理的折腾之旅。…

漫画手绘视频教程分享

下载地址&#xff1a; 漫画手绘教程: https://url83.ctfile.com/d/45573183-60305653-039aed?p7526 (访问密码: 7526)

网络编程的学习

思维导图 多路复用代码练习 select完成TCP并发服务器 #include<myhead.h> #define SER_IP "192.168.125.73" //服务器IP #define SER_PORT 8888 //服务器端口号int main(int argc, const char *argv[]) {//1、创建用于监听的套接字int sfd -1;s…