Nginx虚拟主机和日志详解

news2024/11/24 22:28:53

目录

  • 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.coloradmin.cn/o/857027.html

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

相关文章

跨境电商线上店铺智能装修系统源码开发

搭建一个跨境电商线上店铺智能装修系统源码开发需要以下步骤&#xff1a; 1. 确定需求&#xff1a;首先&#xff0c;需要明确线上店铺智能装修系统的具体需求。 2. 选择开发语言和框架&#xff1a;根据需求&#xff0c;选择合适的开发语言和框架进行开发&#xff0c;可以提高…

选读SQL经典实例笔记21_字符串处理

1. SQL 并不专门用于处理复杂的字符串 1.1. 需要有逐字遍历字符串的能力。但是&#xff0c;使用SQL 进行这样的操作并不容易 1.2. SQL 没有Loop循环功能 1.2.1. Oracle的MODEL子句除外 2. 遍历字符串 2.1. 把EMP表的ENAME等于KING的字符串拆开来显示为4行&#xff0c;每行…

提速计算机运行速度方法

提速计算机运行速度方法 1&#xff0c;首先看这一步情况运行负载是否很高&#xff0c;很高就容易产生迟钝&#xff01;2&#xff0c;安装一个清理电脑空间的软件&#xff0c;深度清理的。3&#xff0c;点击这里&#xff0c;看开机自启动的软件有哪些&#xff0c;如下图所示。4&…

CEC2013(MATLAB):淘金优化算法GRO求解CEC2013的28个函数

一、淘金优化算法GRO 淘金优化算法&#xff08;Gold rush optimizer&#xff0c;GRO&#xff09;由Kamran Zolf于2023年提出&#xff0c;其灵感来自淘金热&#xff0c;模拟淘金者进行黄金勘探行为。淘金优化算法&#xff08;Gold rush optimizer&#xff0c;GRO&#xff09;提…

logstash日志换行处理小解

logstash主用于日志实时数据收集、解析&#xff0c;并将数据转发的工具&#xff0c;内置的功能也相当强大。但&#xff0c;同时意味着&#xff0c;他可能接收到各种情况的数据。 此处&#xff0c;我们主要讲解我实际使用中&#xff0c;碰到的一个小问题&#xff0c;换行(\n)。…

斗轮机与程控站之间开关量双向无线通讯

斗轮堆取料机是一种对散料进行连续堆取作业的高效装卸大型机械,被广泛使用于火力发电厂和炼焦厂的输煤系统中。目前对斗轮机的技改主要为将斗轮机的部分程控信号改为无线传输&#xff0c;取代卷筒电机和电缆的应用。 多数情况下都是利用无线通讯做媒介&#xff0c;让工作人员通…

display 属性有哪些值,分别表示什么意思

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ display 属性是什么&#xff1f;⭐ display 属性有哪些值&#xff1f;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&…

C# PDF加盖电子章

winform界面 1.选择加签pdf按钮代码实现 private void button1_Click(object sender, EventArgs e){OpenFileDialog op = new OpenFileDialog();op.Filter = "PDF文件(*.pdf)|*.pdf";bool flag = op.ShowDialog() == DialogResult.OK;if (flag){string pdfPath = P…

springboot+activiti+vue+mysql轻松搞定审批!

前言 目前市场上有很多开源平台没有整合工作流&#xff0c;即使有&#xff0c;也是价格不菲的商业版&#xff0c;来看这篇文章的估计也了解了行情&#xff0c;肯定不便宜。我这个快速开发平台在系统基础功能&#xff08;用户管理&#xff0c;部门管理…&#xff09;上整合了工…

HTTP代理编程:Python实用技巧与代码实例

今天我要与大家分享一些关于HTTP代理编程的实用技巧和Python代码实例。作为一名HTTP代理产品供应商&#xff0c;希望通过这篇文章&#xff0c;帮助你们掌握一些高效且实用的编程技巧&#xff0c;提高开发和使用HTTP代理产品的能力。 一、使用Python的requests库发送HTTP请求&a…

无涯教程-Perl - getpwnam函数

描述 此函数基于EXPR指定的用户名,从/etc/passwd文件提取的列表context中返回字段列表。通常这样使用- ($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) getpwnam($user); 在标量context中,返回数字用户ID。如果尝试访问整个/etc/passwd文件,则应使用getpwent…

【从零学习python 】10.Python条件语句和if嵌套详解

文章目录 elif一、 elif的功能二、注意点if嵌套想一想&#xff1a; 一、if嵌套的格式二、if嵌套的应用为什么结果3和结果4相同&#xff1f;&#xff1f;&#xff1f; 猜拳游戏运行效果:参考代码: if补充内容三、自动类型转换进阶案例 elif 如果有这样一种情况&#xff1a;当条件…

nginx(八十六)uri转义杂谈

一 关于nginx uri过往整理 HTTP1.1(四)URI HTTP1.1(五)URI编码 HTTP杂谈(三)URL特殊字符 以下涉及&#xff1a; 1) location 与$uri --> 路由匹配 --> 通过debug日志观察2) proxy_paas --> attach_url是否有,有是否是变量,决定透传给上游uri的形式3) $reque…

PDF能转CAD格式吗?学会这种方法轻松实现转换

PDF文件可以转换成CAD格式吗&#xff1f;答案是可以的&#xff0c;PDF格式在各种设备和软件上都有很好的兼容性&#xff0c;而CAD格式则是更加专业的CAD软件设计&#xff0c;将PDF转换为CAD格式可以确保在设计过程中不会出现无法编辑的现象&#xff0c;极大的提高工作效率&…

arcgis pro 3.0.2 安装及 geemap

arcgis pro 3.0.2 安装及 geemap arcgis pro 3.0.2 安装 arcgis pro 3 版本已经很多了&#xff0c;在网上找到资源就可以进行安装 需要注意的是&#xff1a;有的文件破解文件缺少&#xff0c;导致破解不成功。 能够新建地图就是成功了&#xff01; geemap安装 1.需要进行环…

mac安装redis 配置密码

brew install redis 两个重要目录文件 /opt/homebrew/opt/redis/bin/redis-server /opt/homebrew/etc/redis.conf 配置文件默认是非守护进程运行redis 默认是不用密码验证&#xff0c;配置为开启密码验证 重启redis brew services restart redis 客户端调用 redis-cli 密码 …

浅谈绿色节约型校园电力能耗监控系统的设计与应用方案

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘 要&#xff1a;校园中能源的消耗与浪费占用了校园总费用支出的很大比例&#xff0c;而电能的消耗又是能源消耗的重中之重&#xff0c;重点阐述了校园能耗监控系统方案设计、关键技术。以北方某高校为例应用该方案&#x…

find命令用法及参数

find 命令是在 Linux 和 Unix 系统中用于查找文件的强大工具。它可以递归地在指定的目录和子目录中搜索符合条件的文件&#xff0c;并执行一些操作。 以下是 find 命令的一些常见用法和参数&#xff1a; 基本用法 查找指定名称的文件&#xff1a; find /path/to/directory …

最新SQLMap进阶技术

点击星标&#xff0c;即时接收最新推文 本文选自《web安全攻防渗透测试实战指南&#xff08;第2版&#xff09;》 五折购买链接&#xff1a;u.jd.com/3ibjeF6 SQLMap进阶&#xff1a;参数讲解 &#xff08;1&#xff09;--level 5&#xff1a;探测等级。 参数“--level 5”指需…

Vue组件化开发思想;Vue的全局组件;Vue的局部组件;Vue的开发模式和解析;Vue CLI安装和使用;Vue项目的创建方式–Vite

目录 1_Vue组件化开发思想1.1_认识组件化开发1.2_Vue的组件化1.3_注册组件的方式 2_Vue的全局组件3_Vue的局部组件4_Vue的开发模式和解析4.1_Vue的开发模式4.2_单文件的特点4.3_如何支持SFC4.4_VSCode对SFC文件的支持 5_Vue CLI安装和使用5.1_Vue CLI脚手架5.2_Vue CLI 安装和使…