瑞吉外卖项目学习笔记-P26-项目优化-Nginx

P26-项目优化-Nginx

  • 1.Nginx概述
    • 1.1Nginx介绍
    • 1.2Nginx下载安装
    • 1.3Nginx目录结构
  • 2.Nginx命令
    • 2.1查看版本
    • 2.2检查配置文件正确性
    • 2.3启动和停止
    • 2.4重新加载配置文件
    • 2.5配置环境变量,无论在哪输入命令启动nginx都可以
  • 3.Nginx配置文件结构
  • 4.Nginx具体应用
    • 4.1部署静态资源
    • 4.2反向代理
      • 4.2.1正向代理
      • 4.2.2反向代理
      • 4.2.3反向代理配置
    • 4.3负载均衡
      • 4.3.1配置负载均衡,修改负载均衡器(反向代理服务器的)nginx/conf下的nginx.config文件
      • 4.3.2负载均衡策略

1.Nginx概述

1.1Nginx介绍

Nginx是一款轻量级的Web服务器/反向代理服务器电子邮件(IMAP/POP3) 代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx是由伊戈尔●赛索耶夫为俄罗斯访问量第二的Rambler .ru站点( 俄文: Pam6nep) 开发的,第一个公开版本0.1.0发布于2004年10月4日。

1.2Nginx下载安装

  1. 安装依赖包

    yum -y install gcc pcre-devel zlib-devel openssl openss1-devel
    
  2. 下载Nginx安装包

    wget https://nginx.org/download/nginx-1.16.1.tar. gz
    
  3. 解压

    tar -zxvf nginx-1.16.1.tar.gz
    
    4. cd nginx-1.16.1
    5. mkdir -p /usr/local/nginx
    6. ./configure --prefix=/usr/local/nginx
    7. make && make install
    

1.3Nginx目录结构

yum install tree

瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第1张图片

瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第2张图片

重点目录/文件:

  • conf/nginx. conf nginx配置文件
  • html 存放静态文件(html、 CSS、Js等)
  • logs 日志目录,存放日志文件
  • sbin/nginx 二进制文件,用于启动、停止Nginx服务

2.Nginx命令

2.1查看版本

./nginx -v

瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第3张图片

2.2检查配置文件正确性

./nginx -t

瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第4张图片

2.3启动和停止

启动

./nginx #方式1
/usr/local/nginx/sbin/nginx # 方式2

瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第5张图片

停止

./nginx -s stop

在这里插入图片描述

2.4重新加载配置文件

当nginx配置文件修改后,需要重新加载才能生效

./nginx -s reload

2.5配置环境变量,无论在哪输入命令启动nginx都可以

vim /etc/profile

瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第6张图片
在PATH加入

/usr/local/nginx/sbin:

瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第7张图片

source /etc/profile

3.Nginx配置文件结构

Nginx配置文件(conf/nginx.conf)整体分为三部分: .

  • 全局块 和Nginx运行相关的全局配置
  • events块 和网络连接相关的配置
  • http块 代理、缓存、日志记录、虚拟主机配置

注意: http块中可以配置多个Server块,每个Server块中可以配置多个location块
瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第8张图片

4.Nginx具体应用

4.1部署静态资源

Nginx可以作为静态web服务器来部署静态资源。静态资源指在服务端真实存在并且能够直接展示的一些文件,比如常见的

  • html页面、
  • Css文件、
  • js文件、
  • 图片、
  • 视频等资源。

相对于Tomcat, Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中
将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可

4.2反向代理

4.2.1正向代理

是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
正向代理一般是在客户端设置代理服务器,通过代理服务器转发请求,最终访问到目标服务器。
瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第9张图片

4.2.2反向代理

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。
用户不需要知道目标服务器的地址,也无须在用户端作任何设定
瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第10张图片

4.2.3反向代理配置

瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第11张图片
修改反向代理服务器的 nginx/conf下的nginx.config文件

server{
	listen 82;
	server_ name localhost;
	location/ {
	proxy_ pass http://192.168.138.101:8080; #反向代理配置,将请求转发到指定服务
	}
}

4.3负载均衡

早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。

  • 应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应数据
  • 负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理
    瑞吉外卖项目学习笔记-P26-项目优化-Nginx_第12张图片

4.3.1配置负载均衡,修改负载均衡器(反向代理服务器的)nginx/conf下的nginx.config文件

upstream targetserver{    #upstream指令可以定义一组服务器
			server 192. 168.138.101:8080; //部署代码,服务器1
			server 192.168.138.101:8081;  //部署代码,服务器2
}
server {
	listen 8080;  //负载均衡器
	server_name localhost;
	location/ {
	proxy_pass http://targetserver;
 }

4.3.2负载均衡策略

在这里插入图片描述

upstream targetserver{    #upstream指令可以定义一组服务器
			server 192. 168.138.101:8080 weight=10; //部署代码,服务器1
			server 192.168.138.101:8081 weight=5;  //部署代码,服务器2
}
server {
	listen 8080;  //负载均衡器
	server_name localhost;
	location/ {
	proxy_pass http://targetserver;
 }

你可能感兴趣的:(SpringBoot项目开发,nginx,linux,java,服务器,spring,boot)