nginx-06/22

本文介绍了Nginx的基本概念及其在服务器领域的广泛应用。通过详细步骤展示了如何在Linux环境下安装和配置Nginx,包括启动和停止服务。接着,重点阐述了Nginx的反向代理功能,以及如何设置反向代理以实现对SpringBoot应用的访问。此外,还探讨了Nginx的负载均衡策略,包括轮询和IP哈希,并提供了实际配置示例。通过负载均衡,可以有效分散服务器压力,提高服务的可用性和响应速度。

1. 什么是nginx?

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

2.为什么使用nginx?

3.如何使用nginx

(1)安装nginx依赖的环境 (依次在xshell中执行以下四条命令)

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

(2)把nginx上传到指定的linux目录

(3)解压:

tar -zxvf nginx-1.18.0.tar.gz

(4)进入nginx解压目录

cd nginx-1.18.0

(5)指定nginx的安装路径

(6)安装

首先执行:make install

其次执行:

(7) 启动nginx

先进入sbin 

(8)查看nignx是否启动成功

ps -ef l grep 进程名

结束nginx使用:

  ./nginx -s stop

(9)可以在浏览器访问nignx

4. 了解nginx的配置文件

进入nginx,然后:

5.反向代理

正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。(代理的是客户端,服务器端不知道访问来自哪个客户)

反向代理实际运行方式是代理服务器接受网络上的连接请求。它将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现为一个服务器。(代理的是服务器,客户端不知道最终访问的是哪个服务器)

nginx的反向代理 :

准备的条件如下:

1)创建一个springboot web应用程序.
2)idea把web工程打包安装  

3)把jar文件上传到linux并启动

8081的用于下面负载均衡

java -jar xxx.jar

4)使用nignx反向代理服务器

vi nginx.conf 进入添加修改

server{
       listen 8888;
       server_name localhost;
       location /{
          proxy_pass http://192.168.67.10:8080/;
       }
    }

../sbin/nginx -s reload 修改完毕要重新加载

5) 测试

6.负载均衡

网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。

(1)准备条件

启动两台应用服务器。为了减少虚拟机的启动个数 ,都在一个虚拟机中启动了应用服务器。

(2)配置nginx

vi nginx.conf 进入添加修改

  upstream ban132{
       server 192.168.67.10:8080 ;
       server 192.168.67.10:8081 ;
    }
    server{
       listen 8888;
       server_name localhost;
       location / {
          proxy_pass http://ban132;
       }
    }

../sbin/nginx -s reload 修改完毕要重新加载

(3) 测试

(4)负载均衡的策略:

1)默认为轮询策略。

权重: weight 权重值越大访问到的频率越高,因为以后可能服务器的配置不同,配置越高权重越大。

vi nginx.conf 进入添加修改

upstream ban132{
       server 192.168.67.10:8080 weight=2;
       server 192.168.67.10:8081 weight=1;
    }

../sbin/nginx -s reload 修改完毕要重新加载

注:如果访问nginx三次,80803080会命中2次,8081命中

2)iphash: (安装虚拟机时使用桥接ip )

vi nginx.conf 进入添加修改

upstream ban132{
       server 192.168.67.10:8080 weight=2;
       server 192.168.67.10:8081 weight=1;

      ip_hash; 
    }

../sbin/nginx -s reload 修改完毕要重新加载

注: ip_hash是根据访问者的IP代理相应的服务。

(base) root@open-web-ui:/etc/apt/sources.list.d# sudo mv /etc/apt/trusted.gpg.d/nginx.gpg /usr/share/keyrings/nginx-archive-keyring.gpg (base) root@open-web-ui:/etc/apt/sources.list.d# sudo chmod 644 /usr/share/keyrings/nginx-archive-keyring.gpg (base) root@open-web-ui:/etc/apt/sources.list.d# file /usr/share/keyrings/nginx-archive-keyring.gpg /usr/share/keyrings/nginx-archive-keyring.gpg: OpenPGP Public Key Version 4, Created Wed May 29 13:22:30 2024, RSA (Encrypt or Sign, 4096 bits); User ID; Signature; OpenPGP Certificate (base) root@open-web-ui:/etc/apt/sources.list.d# wget http://nginx.org/keys/nginx_signing.key --2025-03-06 07:32:10-- http://nginx.org/keys/nginx_signing.key Connecting to 10.32.99.43:3128... connected. Proxy request sent, awaiting response... sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg nginx_signing.key200 OK Length: 11809 (12K) [application/octet-stream] Saving to: ‘nginx_signing.key’ nginx_signing.key 100%[===================================================================================================================>] 11.53K --.-KB/s in 0.002s 2025-03-06 07:32:11 (7.05 MB/s) -nginx_signing.key’ saved [11809/11809] (base) root@open-web-ui:/etc/apt/sources.list.d# sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg nginx_signing.key File '/usr/share/keyrings/nginx-archive-keyring.gpg' exists. Overwrite? (y/N) y (base) root@open-web-ui:/etc/apt/sources.list.d# sudo apt-get update Ign:1 https://deb.nodesource.com/node_20.x nodistro InRelease Get:2 http://nginx.org/packages/ubuntu jammy InRelease [3599 B] Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease Hit:4 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease Get:5 http://nginx.org/packages/ubuntu jammy/nginx amd64 Packages [27.3 kB] Hit:6 https://repo.zabbix.com/zabbix-tools/debian-ubuntu jammy InRelease Hit:7 https://repo.zabbix.com/zabbix/7.0/ubuntu jammy InRelease Hit:1 https:
03-08
提供了一个基于51单片机的RFID门禁系统的完整资源文件,包括PCB图、原理图、论文以及源程序。该系统设计由单片机、RFID-RC522频射卡模块、LCD显示、灯控电路、蜂鸣器报警电路、存储模块和按键组成。系统支持通过密码和刷卡两种方式进行门禁控制,灯亮表示开门成功,蜂鸣器响表示开门失败。 资源内容 PCB图:包含系统的PCB设计图,方便用户进行硬件电路的制作和调试。 原理图:详细展示了系统的电路连接和模块布局,帮助用户理解系统的工作原理。 论文:提供了系统的详细设计思路、实现方法以及测试结果,适合学习和研究使用。 源程序:包含系统的全部源代码,用户可以根据需要进行修改和优化。 系统功能 刷卡开门:用户可以通过刷RFID卡进行门禁控制,系统会自动识别卡片并判断是否允许开门。 密码开门:用户可以通过输入预设密码进行门禁控制,系统会验证密码的正确性。 状态显示:系统通过LCD显示屏显示当前状态,如刷卡成功、密码错误等。 灯光提示:灯亮表示开门成功,灯灭表示开门失败或未操作。 蜂鸣器报警:当刷卡或密码输入错误时,蜂鸣器会发出报警声,提示用户操作失败。 适用人群 电子工程、自动化等相关专业的学生和研究人员。 对单片机和RFID技术感兴趣的爱好者。 需要开发类似门禁系统的工程师和开发者。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值