0
点赞
收藏
分享

微信扫一扫

Nginx快速入门

Yaphets_巍 2022-05-04 阅读 76
java

 

1.问题

并发量小,用户使用的少,一个jar包启动应用就够了,内部tomcat返回内容给用户

在这里插入图片描述

并发量慢慢增大了,这时候一台服务器满足不了我们的需求了

在这里插入图片描述

横向扩展,增加服务器,用户访问后再次访问由于session不共享,用户还要再次登录,就很不合理,因此可以通过代理服务器来帮我们转发和处理请求

架构: 没有什么是加一层解决不理的问题!

在这里插入图片描述

 
 
 

2.Nginx引入

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

优点:占有内存少,并发能力强。

 

  • 正向代理:代理客户端
  • 反向代理:代理服务端

在这里插入图片描述

 

Nginx负载均衡策略:

  • 内置策略

    • 轮询

      在这里插入图片描述

    • 加权轮询

      在这里插入图片描述

    • iphash(ip哈希):对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理。可以解决session不共享问题,但是不推荐,一旦这台服务器崩了数据就消失。(推荐使用redis)

  • 扩展策略:只有你想不到的没有他做不到的

 

动静分离:在我们的软件开发中有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则进行动静资源拆分,我们就可以根据静态资源的特点将其做缓存操作。

提高资源响应的速度:

在这里插入图片描述

 
 
 

3.Nginx的安装

3.1windows安装

nginx是跨平台的。

官网下载:http://nginx.org/en/download.html

解压放到没有中文的文件夹里,cmd启动:

在这里插入图片描述

在这里插入图片描述

 

3.2linux安装

whereis nginx    #检查是否安装Nginx
[root@haodoop100 ~]# mkdir /usr/java
[root@haodoop100 ~]# cd /usr/java
[root@haodoop100 java]# ls
nginx-1.20.2.tar.gz
[root@haodoop100 java]# tar -zxvf nginx-1.20.2.tar.gz 
yum -y install pcre-devel openssl openssl-devel  #自动配置的时候报错,需要安装pcre
./configure      #自动配置
make             #执行make命令
make install     #执行make install 
whereis nginx    #查看安装目录
[root@haodoop100 nginx-1.20.2]# cd /usr/local/nginx
[root@haodoop100 nginx]# ls
conf  html  logs  sbin
[root@haodoop100 nginx]# cd sbin/
[root@haodoop100 sbin]# ./nginx
[root@haodoop100 sbin]# firewall-cmd --permanent --add-port=80/tcp
success

nginx常用命令:

./nginx  启动
./nginx -s stop  停止
./nginx -s quit  安全退出
./nginx -s reload  重新加载配置文件(用得很多,但凡改了配置文件就要执行这个命令)
ps aux|grep nginx  查看nginx进程

  
 

4.实操

修改nginx.conf

在这里插入图片描述

upstream lb{
server 127.0.0.1:8080 weight=3;
server 127.0.0.1:8081 weight=1;
}
location / {
proxy_pass http://lb;
}
举报

相关推荐

0 条评论