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 相关文章推荐
Windows下用Nginx配置https服务器及反向代理的问题
Sep 25 Servers
Nginx设置HTTPS的方法步骤 443证书配置方法
Mar 21 Servers
nginx常用配置conf的示例代码详解
Mar 21 Servers
Mac电脑OS系统下安装Nginx的详细教程
Apr 14 Servers
Windows Server 2019 安装DHCP服务及相关配置
Apr 28 Servers
Ubuntu Server 安装Tomcat并配置systemctl
Apr 28 Servers
Nginx的gzip相关介绍
May 11 Servers
CentOS7环境下MySQL8常用命令小结
Jun 10 Servers
服务器SVN搭建图文安装过程
Jun 21 Servers
nginx静态资源的服务器配置方法
Jul 07 Servers
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
Aug 05 Servers
Flink 侧流输出源码示例解析
Sep 23 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目录与文件操作
2011/12/30 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
js动态改变select选择变更option的index值示例
2014/07/10 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
Python中如何获取类属性的列表
2016/12/26 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
python binascii 进制转换实例
2019/06/12 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
小学教师自我鉴定
2013/11/07 职场文书
公司市场部岗位职责
2015/04/15 职场文书
golang interface判断为空nil的实现代码
2021/04/24 Golang
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android
mysql 生成连续日期及变量赋值
2022/03/20 MySQL
vue实现拖拽交换位置
2022/04/07 Vue.js
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python