当前位置: 首页 > news >正文

nginx的配置文件

nginx.conf

1、全局模块

worker_processes 1;

工作进程数,设置成服务器内核数的2倍(一般不超过8个,超过8个反正会降低性能,4个 1-2个 )

处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件的数量。

linux默认打开的文件数就是1024个

vim  /etc/security/limits.conf

root和alias之间匹配工作目录的区别

root的匹配模式相当于拼接

root 的工作目录,访问的uri/xy102

location /xy102

/opt/test/

alias匹配nginx的工作目录,路径是绝对路径

location /xy102

/opt/test/xy102

alias只能写在http模块当中的server模块的location模块里面。

root可以写在server模块,也可以在http,也可以在location中

alias匹配工作目录,不能够使用重定向功能

全局模块

work_processes 1; 指定进程数

events模块决定了能够处理的练级数

stream 四层代理模块

http模块

转发和处理http请求,设置代理(正向代理,反向代理),缓存,定义日志格式,重定向配置。

在http模块当中,包含:

server块 http里面可以有多个server模块

在server模块当中包含:

location模块

在server当中可以有多个location。

实验1:

统计访问状态:

Active connections:1
server accepts handled requests
36 36 36
Reading:0 Writing:1 waiting:0

Active connections

当前活动的连接数

server accepts handled requests

三个数字,从左往右:已经处理的连接数,成功的建立连接的次数 已经处理的请求数

Reading:0 Writing:1 waiting:0

Reading 表示服务端正在从客户端读取请求的数据

Writing 表示服务端正在把响应数据发送给客户端

waiting 表示有连接处于空闲状态,等待新的请求。

  1 #user  nobody;2 #默认的程序用户就是nginx,这里可以保持注释无需修改3 worker_processes  1;4 5 #error_log  logs/error.log;6 #error_log  logs/error.log  notice;7 #error_log  logs/error.log  info;8 9 pid  /usr/local/nginx/run/nginx.pid;10 #pid文件的位置11 12 13 events {14     worker_connections  1024;15 }   16 #events模块,决定了nginx能够处理的连接数,连接数和worker_processes的数值相乘。17 18 #http 转发和处理http请求,设置代理(正向代理,反向代理),缓存,定义日志格式,重定向配置。19 http {20     include       mime.types;21     #文件扩展名与文件类型的映射表。nginx能够打开的文件和支持的文件类型22     default_type  application/octet-stream;23     #默认支持的文件类型.html .htm .jsp .js .php24     25     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '26     #                  '$status $body_bytes_sent "$http_referer" '27     #                  '"$http_user_agent" "$http_x_forwarded_for"';28     #日志格式,默认的日志格式,记录了access.log,访问日志的格式,error.log也是一样的格式29     30     #access_log  logs/access.log  main;31     #默认的访问日志的存放路径32     33     sendfile        on;34     #支持文件发送或者下载35     #tcp_nopush     on;36     #默认就是异步非阻塞模式功能。38     #keepalive_timeout  0;39     keepalive_timeout  65;40     #连接保持的时间,单位是秒41 42     #gzip  on;43     #gzip模块,设置是否开启页面压缩(没啥用)44 45     server {46     #开启web服务的模块47         listen       80;48         #nginx的默认监听端口49         server_name  localhost;50         #配置站点的域名51 52         charset utf-8;53         #网页的默认字符集54 55         #access_log  logs/host.access.log  main;56         #网页匹配的工作目录的地址和支持打开页面的文件类型。57 58         location /xy102 {59             root   /opt/test1;60         #root表示的是家目录。nginx工作目录的家目录 /usr/local/nginx/html61         #alias也是指匹配nginx,root是拼接,alias是绝对路径62             index  index.html index.htm;63         }64 65         location /xy103 {66         root /opt/test1;67         index index.html index.htm;68         }69 70         location / {71         root /opt/test1;72         index index.html index.htm;73 74         }

1、进入nginx.conf的配置文件

[root@test2 nginx]# vim /usr/local/nginx/conf/nginx.conf

2、将nginx网页的根目录文件放到/opt/test1目录下

 70         location / {71         root /opt/test1;72         index index.html index.htm;73         }

3、在opt目录下建一个test1目录,并写一个index.html文件

[root@test2 opt]# cd test1
[root@test2 opt]# echo "今天下雨!" > index.html
[root@test2 test1]# ls
index.html

实验2:

基于密码的授权进行访问控制

1、先安装工具

yum -y install httpd-tools

2、创建加密文件

[root@test2 ~]# cd /usr/local/nginx/
[root@test2 nginx]# chown nginx passwd.db 
[root@test2 nginx]# chmod 400 passwd.db 
[root@test2 nginx]# ll
-r--------. 1 nginx root    48 7月   2 10:36 passwd.db

3、将nginx根目录开启用户密码验证

 70         location / {71         root /opt/test1;72         index index.html index.htm;73         auth_basic "secret";74         #开启用户密码验证75         auth_basic_user_file /usr/local/nginx/passwd.db;76         #使用指定的加密文件77         }

4、结果

实验3

基于客户端的访问控制 ip地址来进行控制

deny 就是拒绝

allow 就是允许

1、更改nginx.conf的配置文件

location / {root /opt/test1;index index.html index.htm;deny 192.168.60.30;allow all;}

2、test3访问

[root@test3 ~]# curl 192.168.60.20
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.22.0</center>
</body>
</html>

3、test4访问

[root@test4 ~]# curl 192.168.60.20
今天下雨!

实验4

基于域名的nginx主机

1、设置站点域名

[root@test2 core]# vim /usr/local/nginx/conf/nginx.confserver {#开启web服务的模块listen       80;#nginx的默认监听端口server_name  www.xy102.com;#配置站点的域名charset utf-8;#网页的默认字符集access_log  logs/www.xy102.com.access.log;#新增一个域名访问server {listen 80;server_name www.zxc.com;charset utf-8;access_log logs/www.zxc.com.access.log;location / {root /var/www/html/zxc;index index.html;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
​}

2、将ip地址映射

[root@test2 xy102]# vim /etc/hosts     #做网站的映射192.168.60.20 www.xy102.com www.zxc.com

3、在zxc目录下写一个index.html文件

[root@test2 zxc]# mkdir -p /var/www/html/zxc
[root@test2 core]# cd /var/www/html/zxc/
[root@test2 zxc]# ls
[root@test2 zxc]# echo "你好" > index.html

4、测试

[root@test2 zxc]# curl www.xy102.com
今天下雨!
[root@test2 zxc]# curl www.zxc.com
你好

实验5:

基于ip地址的虚拟主机

1、新增虚拟网卡

[root@test2 ~]# ifconfig ens 33:0 192.168.60.199/24

2、给每个服务设置对应的IP地址

    server {#开启web服务的模块listen       192.168.60.20:80;#nginx的默认监听端口server_name  www.xy102.com;#配置站点的域名charset utf-8;#网页的默认字符集access_log  logs/www.xy102.com.access.log;#网页匹配的工作目录的地址和支持打开页面的文件类型。}server {listen 192.168.60.199:80;server_name www.zxc.com;charset utf-8;access_log logs/www.zxc.com.access.log;location / {root /var/www/html/zxc;index index.html;}

3、测试

[root@test2 ~]# curl 192.168.60.20:80
今天下雨!
[root@test2 ~]# curl 192.168.60.199:80
你好

实验6:

基于端口实现多个虚拟主机

1、给每个服务设置对应的端口

    server {#开启web服务的模块listen       192.168.60.20:8080;#nginx的默认监听端口server_name  www.xy102.com;#配置站点的域名charset utf-8;#网页的默认字符集access_log  logs/www.xy102.com.access.log;}server {listen 192.168.60.20:8888;server_name www.zxc.com;charset utf-8;access_log logs/www.zxc.com.access.log;location / {root /var/www/html/zxc;index index.html;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

2、测试

[root@test2 ~]# curl 192.168.60.20:8080
今天下雨!
[root@test2 ~]# curl 192.168.60.20:8888
你好

实验7:

多个配置文件

1、nginx能够打开的文件

include /usr/local/nginx/conf.d/*.conf 
#可以识别到conf.d下,只包含server模块的conf文件

2、创建一个conf.d目录

[root@test2 ~]# cd /usr/local/nginx/
[root@test2 nginx]# mkdir conf.d
[root@test2 nginx]# cd conf.d/

3、创建一个test1.conf文件

[root@test2 conf.d]# vim text1.conf
server {listen 8081;server_name localhost;location /test1 {root /opt/conf/index index.html
​}
}
server {listen 8082;server_name localhost;location /test2 {root /opt/conf/index index.html
​}
}

4、在opt目录下创建两个目录

[root@test2 conf.d]# cd /opt/
[root@test2 opt]# mkdir -p conf/test1
[root@test2 opt]# mkdir -p conf/test2

5、在test1和test2目录下写.html文件

[root@test2 opt]# cd conf/
[root@test2 conf]# echo "this is test1" > test1/index.html
[root@test2 conf]# echo "this is test2" > test2/index.html

6、测试

[root@test2 conf]# netstat -antp | grep nginx
tcp        0      0 192.168.60.20:8080      0.0.0.0:*               LISTEN      113233/nginx: maste 
tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      113233/nginx: maste 
tcp        0      0 0.0.0.0:8082            0.0.0.0:*               LISTEN      113233/nginx: maste 
tcp        0      0 192.168.60.20:8888      0.0.0.0:*               LISTEN      113233/nginx: maste 

nginx的优化与防盗链:

实验8:

隐藏版本号:server_tokens off;

1、在nginx.conf加一个关闭显示版本号

http {include       mime.types;#文件扩展名与文件类型的映射表。nginx能够打开的文件和支持的文件类型include /usr/local/nginx/conf.d/*.conf;#可以识别到conf.d下,只包含server模块的conf文件default_type  application/octet-stream;#默认支持的文件类型.html .htm .jsp .js .phpserver_tokens off;#关闭显示版本号

2、测试

相关文章:

nginx的配置文件

nginx.conf 1、全局模块 worker_processes 1; 工作进程数&#xff0c;设置成服务器内核数的2倍&#xff08;一般不超过8个&#xff0c;超过8个反正会降低性能&#xff0c;4个 1-2个 &#xff09; 处理进程的过程必然涉及配置文件和展示页面&#xff0c;也就是涉及打开文件的…...

艾滋病隐球菌病的病原学诊断方法包括?

艾滋病隐球菌病的病原学诊断方法包括()查看答案 A.培养B.隐球菌抗原C.墨汁染色D.PCR 在感染性疾病研究中&#xff0c;单细胞转录组学的应用包括哪些()? A.细胞异质性研究B.基因组突变检测C.感染过程单细胞分析D.代谢通路分析 开展病原微生物网络实验室体系建设&#xff0c;应通…...

jQuery Tooltip 插件使用教程

jQuery Tooltip 插件使用教程 引言 jQuery Tooltip 插件是 jQuery UI 套件的一部分,它为网页元素添加了交互式的提示框功能。通过这个插件,开发者可以轻松地为链接、按钮、图片等元素添加自定义的提示信息,从而增强用户的交互体验。本文将详细介绍如何使用 jQuery Tooltip…...

访问者模式在金融业务中的应用及其框架实现

引言 访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为设计模式&#xff0c;它允许你在不改变对象结构的前提下定义作用于这些对象的新操作。通过使用访问者模式&#xff0c;可以将相关操作分离到访问者中&#xff0c;从而提高系统的灵活性和可维护性。在金融业务…...

.npy格式图像如何进行深度学习模型训练处理,亲测可行

import torchimport torch.nn as nnimport torch.nn.functional as Fimport numpy as npfrom torch.utils.data import DataLoader, Datasetfrom torchvision import transformsfrom PIL import Imageimport json# 加载训练集和测试集数据train_images np.load(../dataset/tra…...

XFeat快速图像特征匹配算法

XFeat&#xff08;Accelerated Features&#xff09;是一种新颖的卷积神经网络&#xff08;CNN&#xff09;架构&#xff0c;专为快速和鲁棒的像匹配而设计。它特别适用于资源受限的设备&#xff0c;同时提供了与现有深度学习方法相比的高速度和准确性。 轻量级CNN架构&#xf…...

普元EOS学习笔记-低开实现图书的增删改查

前言 在前一篇《普元EOS学习笔记-创建精简应用》中&#xff0c;我已经创建了EOS精简应用。 我之前说过&#xff0c;EOS精简应用就是自己创建的EOS精简版&#xff0c;该项目中&#xff0c;开发者可以进行低代码开发&#xff0c;也可以进行高代码开发。 本文我就记录一下自己在…...

动态住宅代理IP详细解析

在大数据时代的背景下&#xff0c;代理IP成为了很多企业顺利开展的重要工具。代理IP地址可以分为住宅代理IP地址和数据中心代理IP地址。选择住宅代理IP的好处是可以实现真正的高匿名性&#xff0c;而使用数据中心代理IP可能会暴露自己使用代理的情况。 住宅代理IP是指互联网服务…...

等保2.0 实施方案之信息软件验证要求

一、等保2.0背景及意义 随着信息技术的快速发展和网络安全威胁的不断演变&#xff0c;网络安全已成为国家安全、社会稳定和经济发展的重要保障。等保2.0&#xff08;即《信息安全技术 网络安全等级保护基本要求》2.0版本&#xff09;作为网络安全等级保护制度的最新标准&#x…...

【LeetCode的使用方法】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 🔮LeetCode的使用方法 🔮LeetCode 是一个在线编程平台,广泛…...

【SGX系列教程】(二)第一个 SGX 程序: HelloWorld,linux下运行

文章目录 0. SGX基础原理分析一.准备工作1.1 前提条件1.2 SGX IDE1.3 基本原理 二.程序设计2.1 目录结构2.2 源码设计2.2.1 Encalve/Enclave.edl:Enclave Description Language2.2.2 Enclave/Enclave.lds: Enclave linker script2.2.3 Enclave/Enclave.config.xml: Enclave 配置…...

网页报错dns_probe_possible 怎么办?——错误代码有效修复

当你在浏览网页时遇到dns_probe_possible 错误&#xff0c;这通常意味着你的浏览器无法解析域名系统&#xff08;DNS&#xff09;地址。这个问题可能是由多种原因引起的&#xff0c;包括网络配置问题、DNS服务问题、或是本地设备的问题。教大家几种修复网页报错dns_probe_possi…...

Vue.js 中属性绑定的详细解析:冒号 `:` 和非冒号的区别

Vue.js 中属性绑定的详细解析&#xff1a;冒号 : 和非冒号的区别 在 Vue.js 中&#xff0c;属性绑定是一个重要的概念&#xff0c;它决定了如何将数据绑定到 DOM 元素的属性上。Vue.js 提供了两种方式来绑定属性&#xff1a;使用冒号 : 进行动态绑定&#xff0c;或直接书写属性…...

使用Java实现智能物流管理系统

使用Java实现智能物流管理系统 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何使用Java语言实现智能物流管理系统&#xff0c;这是一个涉及到…...

深圳技术大学oj C : 生成r子集

Description 输出给定序列按字典序的 &#xfffd; 组合&#xff0c;按照所有 &#xfffd; 个元素出现与否的 01 标记串 &#xfffd;&#xfffd;&#xfffd;&#xfffd;−1,...,&#xfffd;1 的字典序输出. 此处01串的字典序指&#xff1a;先输入的数字对应低位&#x…...

不同操作系统下的换行符

1. 关键字2. 换行符的比较3. ASCII码4. 修改换行符 4.1. VSCode 5. 参考文档 1. 关键字 CR LF CRLF 换行符 2. 换行符的比较 英文全称英文缩写中文含义转义字符ASCII码值操作系统Carriage ReturnCR回车\r13MacIntosh&#xff08;早期的Mac&#xff09;LinefeedLF换行/新行\…...

Transformation(转换)开发-switch/case组件

一、switch/case组件-条件判断 体育老师要做一件非常重要的事情&#xff1a;判断学生是男孩还是女孩、或者是蜘蛛&#xff0c;然后让他们各自到指定的队伍中 体育老师做的事情&#xff0c;我们同样也会在Kettle中会经常用来。在Kettle中&#xff0c;switch/case组件可以来做类似…...

Android Gradle 开发与应用 (二): Android 项目结构与构建配置

目录 1. Android 项目的 Gradle 文件结构 1.1 项目根目录 1.2 模块目录 2. Gradle 构建配置详解 2.1 配置 Android 项目的 build.gradle 2.2 配置模块的 build.gradle 2.3 使用 productFlavors 管理多版本应用 2.4 使用 buildConfigField 注入构建常量 在 Android 开发…...

02:vim的使用和权限管控

vim的使用 1、vim基础使用1.1、vim pathname 2、vim高级用法2.1、查找2.2、设置显示行号2.3、快速切换行2.4、 行删除2.5、行复制粘贴 3、权限管理3.1、普通用户和特权用户3.2、文件权限表示 vim是Linux中的一种编辑器&#xff0c;类似于window中的记事本&#xff0c;可以对创建…...

GNeRF代码复现

https://github.com/quan-meng/gnerf 之前一直去复现这个代码总是文件不存在&#xff0c;我就懒得搞了&#xff08;实际上是没能力哈哈哈&#xff09; 最近突然想到这篇论文重新试试复现 一、按步骤创建虚拟环境安装各种依赖等 二、安装好之后下载数据&#xff0c;可以用Blen…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...