Nginx(3)

目录

  • 1.Nginx虚拟主机
    • 1.1基于IP虚拟主机
    • 1.2基于端口虚拟主机
    • 1.3基于域名实现的虚拟主机
  • 2.日志详解

1.Nginx虚拟主机

虚拟主机,Nginx配置中的多个server{}区域对应不同的业务(站点)

虚拟主机方式
基于域名的虚拟主机不同的域名访问不同的站点
基于IP的虚拟主机不同的IP地址可以访问不同的站点
基于端口的虚拟主机不同的端口可以访问不同的站点用于隐藏重要的路径或业务

1.1基于IP虚拟主机

[root@docker conf.d]# head *conf
==> www.ceshi.com.conf <==
server {listen  172.21.221.195 80;location / {root /code/ceshi;index index.html;}
}==> www.test.com.conf <==
server {listen  172.21.221.194 80;location / {root /code/test;index index.html;}
}

在这里插入图片描述

1.2基于端口虚拟主机

==> www.ceshi.com.conf <==
server {listen  80;server_name 172.21.221.194;location / {root /code/ceshi;index index.html;}
}==> www.test.com.conf <==
server {listen   81;server_name  172.21.221.194;location / {root /code/test;index index.html;}
}

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

1.3基于域名实现的虚拟主机

==> www.ceshi.com.conf <==
server {listen  80;server_name www.ceshi.com;location / {root /code/ceshi;index index.html;}
}==> www.test.com.conf <==
server {listen   81;server_name  www.test.com;location / {root /code/test;index index.html;}
}

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

2.日志详解

  • 访问日志 /var/log/nginx/access.log
  • 错误日志 /var/log/nginx/error.log

默认的日志格式:

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

125.36.117.255 - - [09/Aug/2023:23:22:34 +0800] “GET /favicon.ico HTTP/1.1” 404 555 “http://www.ceshi1.com/” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183” “-”

变量含义
$remote_addr记录了客户端的IP地址
$remote_user当nginx开启了用户认证功能后,此变量记录了客户端使用了哪个用户进行了认证
$time_local记录了当前日志条目的时间
$request记录了当前http请求的方法、url和http协议版本
$status记录了当前http请求的响应状态,即响应的状态码,比如200、404等响应码,都记录在此变量中
$body_bytes_sent记录了nginx响应客户端请求时,发送到客户端的字节数,不包含响应头的大小
$http_referer记录了当前请求是从哪个页面过来的,比如你点了A页面中的超链接才产生了这个请求,那么此变量中就记录了A页面的url(访问域名)
$http_user_agent记录了客户端的软件信息,比如,浏览器的名称和版本号
$http_x_forwarded_for真实客户端IP

nginx日志的json格式

 log_format json '{"@timestamp":"$time_iso8601",''"host":"$server_addr",''"service":"nginxTest",''"trace":"$upstream_http_ctx_transaction_id",''"log":"log",''"clientip":"$remote_addr",''"remote_user":"$remote_user",''"request":"$request",''"http_user_agent":"$http_user_agent",''"size":$body_bytes_sent,''"responsetime":$request_time,''"upstreamtime":"$upstream_response_time",''"upstreamhost":"$upstream_addr",''"http_host":"$host",''"url":"$uri",''"domain":"$host",''"xff":"$http_x_forwarded_for",''"referer":"$http_referer",''"status":"$status"}';
#通过调用相应的模式名即可
accesslog   /var/log/ngin/access.log json;
accesslog   /var/log/nginx/access.log main;

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

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

相关文章

MySQL—锁篇

这里写目录标题 MySQL有哪些锁全局锁表级锁行级锁意向锁 为什么需要加锁MySQL锁粒度乐观锁和悲观锁是什么?如何实现?InnoDB的行锁是如何实现的?什么是两阶段锁协议?什么是三级封锁协议&#xff1f;MySQL死锁了&#xff0c;怎么办&#xff1f;加了什么锁&#xff0c;导致死锁…

linux 防火墙经常使用的命令

# 开启防火墙服务 systemctl start firewalld # 关闭防火墙服务 systemctl stop firewalld # 重启防火墙服务 systemctl restart firewalld # 开发端口 firewall-cmd --zonepublic --add-port8080/tcp --permanent # 移除端口 firewall-cmd --zonepublic --remove-port8080/tc…

第一百二十五天学习记录:C++提高:STL-deque容器(下)(黑马教学视频)

deque插入和删除 功能描述&#xff1a; 向deque容器中插入和删除数据 函数原型&#xff1a; 两端插入操作&#xff1a; push_back(elem); //在容器尾部添加一个数据 push_front(elem); //在容器头部插入一个数据 pop_back(); //删除容器最后一个数据 pop_front(); //删除容器…

低成本NFC端口静电保护方案图及ESD二极管选型指南

Near Field Communication&#xff0c;简称&#xff1a;NFC&#xff0c;中文名称&#xff1a;近场通信&#xff0c;是一种短距离高频的无线电技术&#xff0c;能够实现近距离无线通讯和数据交换&#xff0c;是由非接触式射频识别&#xff08;RFID&#xff09;及互连互通技术整合…

浅析MySQL InnoDB的隔离级别

隔离性简介 隔离性主要是指数据库系统提供一定的隔离机制,意思就是多个事务并发执行时&#xff0c;一个事务的执行不应影响其它事务的执行。 数据库中并发一致性问题&#xff1f; 在并发环境下&#xff0c;事务的隔离性很难保证&#xff0c;因此会出现很多并发一致性问题。 …

git push origin master 长时间卡住,或者报错 Missing or invalid credentials 怎么办

这很可能是 vscode 的问题 按照这个资料解决即可&#xff1a;https://juejin.cn/post/7062237873570840589 打开VScode的设置界面。方法即&#xff1a;“Code > Preferences > Settings”&#xff08;我是Mac系统&#xff0c;Windows下应该是File > Preferences >…

微服务学习笔记-基本概念

微服务是一种经过良好架构设计的分布式架构方案。根据业务功能对系统做拆分&#xff0c;每个业务功能模块作为独立项目开发&#xff0c;称为一个服务。 微服务的架构特征&#xff1a; 单一职责&#xff1a;微服务拆分粒度更小&#xff0c;每一个服务都对应唯一的业务能力&…

考研C语言进阶题库——更新26-30题

目录 26.一个正整数&#xff0c;如果等于组成它的各个数字的阶数之和&#xff0c;该整数称为阶乘合数&#xff0c;例如1451阶加四阶加五阶&#xff0c;则145是一个三位阶乘合数&#xff0c;输入一个数&#xff0c;问共有多少个阶乘合数&#xff1f;(十万之内) 27.与2相关的数…

IM系统(一)-状态服务器设计

文章目录 文章概要需求分析技术栈准备工作封装日志框架封装Redis封装ETCD 业务逻辑开发定义模型定义服务实现服务接口服务端启动程序客户端测试程序 总结 文章概要 本篇文章分享在做一个IM(即时通讯)系统时&#xff0c;设计一个管理用户在线状态的服务。 该系列文章将从以下几…

数据标注对新零售的意义及人工智能在新零售领域的应用?

数据标签对于新零售至关重要&#xff0c;因为它构成了训练和部署人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;模型的基础。在新零售的背景下&#xff0c;数据标签涉及对数据进行分类、标记或注释以使其能够被机器理解的过程。然后&#xff0c;这些…

Qt应用开发(基础篇)——框架类 QFrame

一、前言 QFrame继承于QWidget&#xff0c;被QLCDNumber、QToolBox、QLabel、QListView等部件继承&#xff0c;是一个拥有矩形框架的基类。 QFrame可以直接创建成一个没有内容的的矩形框架&#xff0c;框架的样式由边框厚度(lineWidth)、框架形状(QFrame::Shape)和阴影样式(QFr…

浏览器多管闲事之跨域

年少时的梦想就是买一台小霸王游戏机 当时的宣传语就是小霸王其乐无穷~。 大些了&#xff0c;攒够了零花钱&#xff0c;在家长的带领下终于买到了 那一刻我感觉就是最幸福的人 风都是甜的&#xff01; 哪成想... 刚到家就被家长扣下了 “”禁止未成年人玩游戏机 (问过卖家了&a…

Transformer理论学习

Transformer出自于论文《attention is all you need》。 一些主流的序列模型主要依赖于复杂的循环结构或者CNN&#xff0c;这里面包含了编解码器等。而Transformer主要的结构是基于注意力机制&#xff0c;而且是用多头注意力机制去替换网络中的循环或者CNN(换言之就是transfor…

CD4029计数器实测仿真及BCD转七段码

前面的博文中&#xff0c;我们介绍过CD40110(这是一个常见的直接接7段数码管的计数器&#xff0c;我们这里介绍一款新的计数器CD4029&#xff0c;这也是很常见的计数器&#xff0c;不同的是后者可以输出BCD编码。 文章目录 一、总体效果二、CD4029的管脚和功能介绍1、芯片功能简…

使用 PowerShell 将 Excel 中的每个工作表单独另存为独立的文件

导语&#xff1a;在日常工作中&#xff0c;我们经常需要处理 Excel 文件。本文介绍了如何使用 PowerShell 脚本将一个 Excel 文件中的每个工作表单独另存为独立的 Excel 文件&#xff0c;以提高工作效率。 1. 准备工作 在开始之前&#xff0c;请确保已经安装了 Microsoft Exc…

【毕业项目】自主设计HTTP

博客介绍&#xff1a;运用之前学过的各种知识 自己独立做出一个HTTP服务器 自主设计WEB服务器 背景目标描述技术特点项目定位开发环境WWW介绍 网络协议栈介绍网络协议栈整体网络协议栈细节与http相关的重要协议 HTTP背景知识补充特点uri & url & urn网址url HTTP请求和…

MySQL主从复制基于二进制日志的高可用架构指南

前言 在现代数据库架构中&#xff0c;MySQL主从复制技术扮演着重要角色。它不仅可以提升数据库性能和可扩展性&#xff0c;还赋予系统卓越的高可用性和灾难恢复能力。本文将深入剖析MySQL主从复制的内部机制&#xff0c;同时通过一个实际案例&#xff0c;展示其在实际场景中的…

【计算机视觉】MoCo v2 讲解

在阅读本篇之前建议先学习: 【计算机视觉】MoCo 讲解 【计算机视觉】SimCLR 讲解 MoCo v2 论文信息 标题:Improved Baselines with Momentum Contrastive Learning 作者:Xinlei Chen 期刊: 发布时间与更新时间:2020.03.09 主题:计算机视觉、对比学习 arXiv:[2003.04297]…

Pr2022安装插件beat edit安装之后无法加载音乐怎么办?

你运行设置不对&#xff0c;安装好后试试管理员权限运行。 安装好插件后点击上方的窗口&#xff0c;然后再在里面找到扩展&#xff0c;继续点开里面有个BeatEdit&#xff0c;就是插件本身&#xff0c;点开。先选择一个加载音乐的选项&#xff0c;载入音乐先。这个时候可以按下…

如何对项目中的图片进行优化

优化步骤方案 不用图片。很多时候会使用到很多修饰类图片&#xff0c;其实这类修饰图片 完全可以用 CSS 去代替。对于移动端来说&#xff0c;屏幕宽度就那么点&#xff0c;完全没有必要去加载原图浪 费带宽。一般图片都用 CDN 加载&#xff0c;可以计算出适配屏幕的宽度&#…