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简单配置多个server的方法
Mar 31 Servers
Nginx设置日志打印post请求参数的方法
Mar 31 Servers
Nginx 根据URL带的参数转发的实现
Apr 01 Servers
解决xampp安装后Apache无法启动
Mar 21 Servers
CentOS7安装GlusterFS集群以及相关配置
Apr 12 Servers
Nginx 安装SSL证书完成HTTPS部署
Apr 28 Servers
Nginx静态压缩和代码压缩提高访问速度详解
May 30 Servers
永中文档在线转换预览基于nginx配置部署方案
Jun 10 Servers
Windows Server 2022 超融合部署(图文教程)
Jun 25 Servers
nginx七层负载均衡配置详解
Jul 15 Servers
Windows server 2016服务器基本设置
Aug 14 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开发中常用的8个小技巧
2008/08/27 PHP
PHP 工厂模式使用方法
2010/05/18 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
python实现计算倒数的方法
2015/07/11 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
Myholidays美国:在线旅游网站
2019/08/16 全球购物
工程部主管岗位职责
2013/11/17 职场文书
文案策划专业自荐信
2014/07/07 职场文书
JavaScript异步操作中串行和并行
2021/11/20 Javascript
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers