Nginx网页服务

nginx的配置:

1、全局块:全局配置,对全局生效;
2、events块:配置影响 Nginx 服务器与用户的网络连接;
3、http块:配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置;
4、server块:配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块;
5、location块:用于配置匹配的 uri ;
6、upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分。
 

实验:

一.编译安装nginx服务

1.关闭防火墙,将安装nginx所需软件包传到/opt目录下

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2..安装依赖包

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

3.创建运行用户、组(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

useradd -M -s /sbin/nologin nginx

4.编译安装nginx

tar zxvf nginx-1.24.0.tar.gz -C /opt/   #先解压
cd nginx-1.24.0/                        #然后进入指定目录编译:
./configure \
--prefix=/usr/local/nginx \			#指定nginx的安装路径
--user=nginx \						#指定用户名
--group=nginx \					  	#指定组名
--with-http_stub_status_module		#启用 http_stub_status_module 模块以支持状态统计
--with-http_ssl_module              #启动 http_ssl_module 模块必要模块
make && make install      #编译安装

5.检查、启动、重启、停止 nginx服务

nginx -t								#检查配置文件是否配置正确

6.启动

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  #让系统识别nginx的操作命令/usr/local/nginx/sbin/nginx	   #启动nginx服务

二.nginx的版本升级

面试题:nginx怎么安装以及升级的呢

答案:我们是源码编译安装的,升级是从网站上先下载最新的软件包,然后上传服务器进行解压,然后./confgure按照原有配置进行配置 ,然后make编译生成二进制文件,再把生成文件替换到nginx安装目录当中,在使用makeupgrade去进行升级。

替换操作演示:

1.源代码的二进制文件在 objs目录中的nginx文件

2.然后进入安装目录 把nginx最新版的二进制文件复制到安装目录中

3.然后make upgrade进行升级

三.添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target

四.认识Nginx服务的主配置文件 nginx.conf

1.Nginx 有哪些进程:

(1)master进程:管理worker进程,加载配置文件
(2)worker进程:处理请求连接

2.Nginx 的最大并发如何设置

第一步:

nginx应用程序配置文件设置   

  1. worker_processes(工作进程数,一般设置为与CPU数量相同,或auto)                         
  2. worker_connections(每个worker进程能够处理的连接数)在event块
  3. worker_rlimit_nofile(设置每个worker进程最大可以打开的文件数)在event块
第二步;
  1. 1.临时修改系统支持:再修改系统支持ulimit -a    
  2. 2.永久修改系统支持:  vim /etc/security/limits.conf
  3.                                              *  soft  nofile  65535
  4.                                              *  hard  nofile  65535

 定义

3.nginx 的 root 和 alias 指定路径的区别

nginx 的 root 和 alias 指定路径的区别?
root(根目录)
location /abc {root /var/www;
}
处理方式:root路径+location路径    http://192.168.80.20/abc/xy101/scj.html-->  /var/www/abc/xy101/scj.htmlalias(别名目录、虚拟目录)
location /abc {alias /var/www;               
}
处理方式: alias路径替换location路径  http://192.168.80.20/abc/xy101/scj.html -->   /var/www/xy101/scj.html

4.nginx 访问状态统计

  1. 安装nginx时添加状态统计模块 ./configure --with-http_stub_status_module
  2. 修改配置文件,开启状态统计功能 stub_status on;  access_log off;
  3. 测试验证 curl -s

修改配置文件如下

网页验证:

五.nginx 服务器当前的并发量怎么看?

1.通过ss -antp 或者netstat -antp
ss -antp | grep nginx | grep -c ESTAB #
netstat 
2.通过curl -s命令 
curl -s http://192.168.73.80/ngx-state
查看 Active connections: 行的数组

运用awk表达式:

curl -s http://192.168.73.80/ngx-state | awk '/active connections/ {print $NF}'
curl -s http://192.168.73.80/ngx-state | awk 'NR==1 {print $NF}'

六.nginx 访问认证

  1. 安装 httpd-tools 软件包,使用 htpasswd 生成用户认证文件,并修改文件的归属nginx和权限400
  2. 修改配置文件,添加 basic_auth   basic_auth_user_file 配置
  3. 测试验证

修改配置文件如下:

七.nginx 访问控制

nginx 访问控制
在  http{...}配置块(对所有站点生效)

      server{...}配置块(对当前站点所有的访问路径生效)  

      location{...}配置块(只对当前站点指定的URL访问路径生效) 中添加配置

8.将访问过多次的ip地址加入黑名单

脚本:

9.nginx虚拟主机

基于域名的虚拟主机 
server {
    server_name XXX;         #指定不同的域名
}

基于IP的虚拟主机
server {
    listen  <IP>:端口;       #指定不同的IP
}

基于端口的虚拟主机
server {
    listen   IP:<端口>;      #指定不同的端口
}
 

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

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

相关文章

【Python编程实践2/3】Python图像处理模块(上)

目录 引言 目标 安装模块 Windows系统 macOS系统 路径 Windows路径 ​编辑macOS路径 windows路径报错 windows路径前的r 示例代码 windows快速查看路径 macOS快速查看路径 打开图片 展示图片 下节预告 总结 引言 欢迎各位大佬垂阅本篇Python实践博客&a…

【教学类-59-01】专注力视觉训练01(圆点百数图)

背景需求&#xff1a; 视觉训练的神奇效果&#xff0c;让你的宝贝成为焦点 - 小红书魔法视觉追踪-视觉训练—— &#x1f50d;视觉训练&#x1f50d; &#x1f539;想要提高宝宝的专注力&#xff0c;视觉训练是个绝佳方法&#xff01; &#x1f539;让宝宝仔细观察数字的路线&a…

微信小程序毕业设计-农场驿站平台系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

HoneyTrap蜜罐系统实践操作@FreeBSD

HoneyTrap介绍 HoneyTrap是一个可扩展的开源系统&#xff0c;用于运行、监控和管理蜜罐。 HoneyTrap蜜罐系统通过在网络中部署感应节点&#xff0c;实时感知周边网络环境&#xff0c;并将感应节点的日志进行实时存储和可视化分析&#xff0c;从而实现对网络环境中威胁情况的感…

Honor of Kings 2024.03.29 Ban for 3 day

我又被举报消极然后禁赛 都说了别选蔡文姬&#xff0c;对面三个肉&#xff0c;非要选个软辅助 吐槽下这游戏策划&#xff1a;游戏体验感越来越差&#xff0c;公正也很差 对说了对面4个法师&#xff0c;就是不出魔抗&#xff0c;把把都是0-N开局&#xff0c;到底谁消极啊&#x…

【工具使用】在vscode中用python绘图

安装拓展Jupyter Keymap 然后重启vscode在代码之前加上这个代码&#xff0c;利用jupyter一行一行运行 # %%点击Run Cell即可运行 # %% import matplotlib.pyplot as plt# 提供的数据 data [0.02856750446367257, 0.248564674096589, 0.1645266594124048, 0, 0.375108941955725…

二叉树链式结构的前序_中序_后续_层序遍历【详细图解】

P. S.&#xff1a;以下代码均在VS2019环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;LiUEEEEE                        …

SAP 生产订单报工函数BAPI_PRODORDCONF_CREATE_TT不返回报错信息

最近财务一直反馈MES报工的数据都没有成本,然后去查看原因发现是财务当月的KP26的价格没有进行维护,导致没有收集到工单的报工成本。 但是在前台操作CO11 报工的时候,系统会给出报错的信息 但是我们在调用函数BAPI_PRODORDCONF_CREATE_TT的时候,系统并没有返回报错的信息…

普通测径仪和智能测径仪的五大区别

在工业自动化和精密测量的领域中&#xff0c;测径仪是不可或缺的重要工具。随着科技的进步&#xff0c;测径仪也在不断地进行技术革新和升级&#xff0c;从传统的普通测径仪发展到如今的智能测径仪。本文将详细探讨普通测径仪与智能测径仪之间的五大区别。 一、测量精度与稳定…

【Tlias智能学习辅助系统】01 准备工作

Tlias智能学习辅助系统 01 创建员工、部门表创建springboot工程&#xff0c;引入对应的起步依赖(web、mybatis、mysql驱动、lombok)准备 Mapper、Service、Controller 等基础结构MapperServiceControllerpojo封装类application.properties 接口开发规范 创建员工、部门表 -- 创…

FPGA基础:触发器和锁存器

目录 锁存器&#xff08;Latch&#xff09;D触发器&#xff08;Flip-Flop&#xff09;最基本时序电路时序块&#xff08;Sequential blocks&#xff09;:同步与异步触发器概念触发器分类触发器的Verilog实现1. 上升沿触发的触发器2. 带异步复位、上升沿触发的触发器3. 带异步复…

raid配置与实战10

一、raid理论 1、raid概述 raid&#xff08;磁盘阵列&#xff09;&#xff1a;是用不同的硬盘分区&#xff0c;组成一个逻辑上的硬盘&#xff0c;高可用&#xff08;冗余&#xff09;。 2、raid级别 2.1、raid0条带化存储 数据分散在多个物理磁盘上的存储方式&#xff0c;…

新媒体时代,LCD电子价签赋予零售场景新活力

近年来&#xff0c;全球企业迅速掀起了数字化转型的浪潮&#xff0c;加速了新零售科技的发展与应用。在实体零售门店中&#xff0c;商品货架显示逐渐趋向智能化和多样化。然而&#xff0c;在信息传播日益碎片化和视频化的时代&#xff0c;零售门店如何更有效地吸引消费者的注意…

英飞凌 AURIX TriCore 单片机开发入门

文章目录 目的硬件准备AURIX™ Development StudioInfineon MemtoolAURIX™ iLLD Drivers总结 目的 英飞凌的32位 AURIX™ TriCore™ 系列单片机 经常用于汽车和工业领域。开发该系列单片机比较常用的开发环境有 HighTec 和 AURIX™ Development Studio 。本文将基于后者&…

linux镜像虚拟机创建共享文件夹详细步骤 -- 和本地电脑传输文件

主机与虚拟机之间传递文件&#xff0c;最快捷的方法莫过于共享文件夹。此方法不需要复制文件&#xff0c;而且可以节省硬盘空间。 具体设置步骤如下&#xff1a; 打开自己的电脑&#xff0c;创建共享的文件夹&#xff0c;完成后鼠标右击刚刚创建的共享文件夹&#xff0c;选择…

设计模式 18 迭代器模式 Iterator Pattern

设计模式 18 迭代器模式 Iterator Pattern 1.定义 迭代器模式 (Iterator Pattern) 是一种行为型设计模式&#xff0c;它提供了一种访问集合元素的标准方法&#xff0c;而无需暴露集合的内部表示。 提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;而又不需要暴露该…

Redis之内存管理过期、淘汰机制

1.Redis内存管理 我们的redis是一个内存型数据库&#xff0c;我们的数据也都是放在内存中的&#xff0c;内存是有限的空间&#xff0c;当数据满了之后&#xff0c;我们要怎么样继续保证redis的可用性呢?我们就需要采取点管理措施和机制来保证我们redis的可用性。 在redis.co…

一套saas模式云MES系统源码,基于springboot+vue.js+uniapp开发

一套saas模式云MES系统源码&#xff0c;基于springbootvue.jsuniapp开发 MES系统简介 MES系统&#xff0c;即制造执行系统&#xff08;Manufacturing Execution System&#xff09;&#xff0c;是一种面向制造企业车间执行层的生产信息化管理系统。它位于上层的企业资源规划&a…

应用案例|精密制造中使用复合机器人得到显著提升

精密制造行业对设备的精度、稳定性和效率要求极高&#xff0c;而复合机器人凭借其多功能性、高度灵活性和精准控制能力&#xff0c;正逐渐成为该领域的新宠。以下是一个富唯智能复合机器人在精密制造中的应用案例。 案例背景 某知名汽车零部件制造企业&#xff0c;专注于生产…

【JS】并发控制

需求 控制网络请求并发数控制并发按顺序返回结果 码 /** * 控制并发 * param {Function} fn 逻辑处理函数 * param {Array} arr 发送的数据 * param {Number} [max3] 并发数 默认3 * param {Number} [orderfalse] 按顺序返回执行结果 默认false * param {Number} [retry1] 重试…