SpringBoot前端后端分离之Nginx服务器下载安装过程


Posted in Servers onAugust 14, 2022

SpringBoot前端后端分离之Nginx服务器

1、Nginx介绍

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

官方地址:https://nginx.org/en/

2、Nginx下载和安装

2.1、官方地址下载:https://nginx.org/en/download.html

2.2、使用虚拟机进行下载

1、安装依赖包

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

2、下载安装包

wget https://nginx.org/download/nginx-1.22.0.tar.gz

如果没有wget,请先安装wget

yum -y install wget

下载之后可以直接使用【ll】命令查看下载文件

3、解压

tar -zxvf nginx-1.22.0.tar.gz

4、进入安装目录

cd nginx-1.22.0

5、指定安装位置

先创建文件夹再进行安装

mkdir -p /opt/nginx
./configure --prefix=/opt/nginx

6、编译并安装

make && make install

3、Nginx目录结构通过【tree】命令可以查看详细的目录结构

如果没有tree命令先执行:yum insall tree进行安装

[root@localhost nginx]# tree
.
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── html
│   ├── 50x.html
│   └── index.html
├── logs
└── sbin

1、conf:配置文件目录
2、html:静态资源页面目录
3、lcgs:日志目录
4、sbin:二进制文件,启动、停止服务

重点目录文件:conf/nginx.conf-------nginx配置文件

4、Nginx常用命令

1、查看版本号

[root@localhost nginx]# cd sbin/
[root@localhost sbin]# ./nginx -v
nginx version: nginx/1.22.0

2、检查配置文件的正确性

[root@localhost sbin]# ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

3、启动nginx服务器

[root@localhost sbin]# ./nginx
[root@localhost sbin]# ps -ef | grep nginx
root      34344      1  0 07:34 ?        00:00:00 nginx: master process ./nginx
nobody    34346  34344  0 07:34 ?        00:00:00 nginx: worker process
root      34727   1823  0 07:34 pts/0    00:00:00 grep --color=auto nginx

访问nginx服务器

通过宿主机的ip地址连接即可,默认是80端口,如果连接不上请检查防火墙状态和开放的端口

SpringBoot前端后端分离之Nginx服务器下载安装过程

4、停止nginx访问

./nginx -s stop

5、重新加载配置文件

如果修改过配置文件,需要重新加载才能使其生效【在启动状态也是可以重新加载】

./nginx -s reload

6、配置环境遍历
进入环境遍历

vim /etc/profile

设置PATH路径
根据自己的安装目录

PATH=/usr/local/nginx/sbin:$PATH

退出环境变量编辑模式
在插入模式中按ESC键再执行下面的命令

:wq

刷新环境变量

source /etc/profile

重点:如果编辑环境变量出现错误就使其他的命令不起效了,可以自行下面的代码进行修复然后再编辑环境变量

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

环境变量如果设置成功在哪一个路径都可以直接使用【nginx】命令进行执行,不需要指定路径了

5、nginx配置文件

文件位置:conf/nginx.conf整体分为三部分:
1、全局块:和Nginx运行相关的全局配置
2、events块:和网络连接相关的配置
3、http块:代理、缓存、日志记录、虚拟主机配置
http全局块
server块:

  • Server全局快
  • location块

注意:http块中可以配置多个server块,每一个server块中可以配置多个location块

# 全局块
worker_processes  1;
# events块:和网络连接相关的配置
events {
    worker_connections  1024;
}
# http块:代理、缓存、日志记录、虚拟主机配置
http {
	# 全局快 
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    # server块
    server {
    	# server全局快
        listen       80; # 监听的端口
        server_name  localhost; # 服务器名称
        # location块,匹配客户端请求url
        location / { 
            root   html; # 根目录
            index  index.html index.htm; # 默认的首页
        }
        #error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

6、Nginx具体应用

6.1、部署静态资源

Ngnx可以作为静态Wb服务器来部署静态资源。静态资源指在服务端真实存在并且能够直接展示的一些文件,比如
常见的html页面、css文件、js文件、图片、视频等资源。
相对于Tomcat,.Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。
将静态资源部署到Nginx非常简单,只需要将文件复到Nginx安装目录下的html目录中即可。

6.2、反向代理 正向代理

是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个
请求并指定目标(原始服务器),然后代理向原始服务器转交清求并将获得的内容返回给客户端。
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
正向代理一般是在客户端设置代理服务器,通过代理服务器转发请求,最终访问到目标服务器。

SpringBoot前端后端分离之Nginx服务器下载安装过程

反向代理

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,反向代理服务器负责将请求转发给目标服务器。
用户不需要知道目标服务器的地址,也无须在用户端作任何设定。

SpringBoot前端后端分离之Nginx服务器下载安装过程

反向代理配置

这里配置的部署https协议的,如果需要转发https的需要进行配置ssl证书

server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass https://xxx.xxx.xxx:xxxx; # 反向代理配置,将请求转发到指定的服务
        }
}

6.3、负载均衡

早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越
大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群
进行性能的水平扩展以及避免单点故障出现。
●应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回响应
数据
●负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理

SpringBoot前端后端分离之Nginx服务器下载安装过程

负载均衡配置

# upstream指令可以定义一组服务器
upstream targetserver{
	# 指定访问的IP地址和端口号
    server xxx.xxx.xxx.xxx:xxxx;
    server xxx.xxx.xxx.xxx:xxxx;
}

server {
    listen       80;
    server_name  localhost;
    location / {
        # root   html;
        # index  index.html index.htm;
        proxy_pass http://targetserver; # 反向代理配置,将请求转发到指定的服务upstream指令定义的IP地址
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
}

负载均衡权重设置
在upstream指令里面的IP地址后面添加即可,如下

名称 说明
轮询 默认方式
weight 权重方式
ip_hash 依据ip分配方式
least_conn 依据最少连接方式
fair 依据响应时间方式
url_hash 依据url分配方式
# upstream指令可以定义一组服务器
upstream targetserver{
   server 120.79.192.231 weight=5;
   #server xxx.xxx.xxx.xxx:xxxx weight=1;
}

到此这篇关于SpringBoot前端后端分离之Nginx服务器的文章就介绍到这了,更多相关SpringBoot Nginx服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
详解如何修改nginx的默认端口
Mar 31 Servers
nginx网站服务如何配置防盗链(推荐)
Mar 31 Servers
nginx配置proxy_pass中url末尾带/与不带/的区别详解
Mar 31 Servers
Nginx URL重写rewrite机制原理及使用实例
Apr 01 Servers
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
Feb 12 Servers
Nginx工作模式及代理配置的使用细节
Mar 21 Servers
Z-Order加速Hudi大规模数据集方案分析
Mar 31 Servers
nginx.conf配置文件结构小结
Apr 08 Servers
Windows Server 2012配置DNS服务器的方法
Apr 29 Servers
Nginx的gzip相关介绍
May 11 Servers
Nginx 常用配置
May 15 Servers
windows系统搭建WEB服务器详细教程
Aug 05 Servers
Docker容器harbor私有仓库部署和管理
Aug 05 #Servers
Centos7 Shell编程之正则表达式、文本处理工具详解
Aug 05 #Servers
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
Aug 05 #Servers
Nginx跨域问题解析与解决
Aug 05 #Servers
win10搭建配置ftp服务器的方法
Aug 05 #Servers
windows系统搭建WEB服务器详细教程
Aug 05 #Servers
Win10系统搭建ftp文件服务器详细教程
Aug 05 #Servers
You might like
php在数组中查找指定值的方法
2015/03/17 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
微信网页授权并获取用户信息的方法
2018/07/30 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
js实现登录拖拽窗口
2020/02/10 Javascript
python生成器的使用方法
2013/11/21 Python
Python 列表理解及使用方法
2017/10/27 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
django输出html内容的实例
2018/05/27 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
python3字符串操作总结
2019/07/24 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
pycharm新建Vue项目的方法步骤(图文)
2020/03/04 Python
Python运行异常管理解决方案
2020/03/09 Python
Python加速程序运行的方法
2020/07/29 Python
python Zmail模块简介与使用示例
2020/12/19 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
苹果香港官方商城:Apple香港
2016/09/14 全球购物
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
校园之星获奖感言
2014/01/29 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
工地质量标语
2014/06/12 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技