nginx基础+负载均衡

  • 配置nginx
  • 1.创建虚拟机,并在后台运行虚拟机(无需视图,简单黑窗口即可)(==一定要运行才行==)
  • 2.打开Xmanager Enterprise 4中的原先配置好的xshell并输入用户名和密码
  • 安装nginx依赖的环境
  • 反向代理
  • 1.要先创建一个简单的springboot web应用程序(创建工程我之前的项目说的很详细,这里我就不一一说明了,只截关键部分)并打包,
  • 2.把打包好的文件上传到linux并启动
  • 负载均衡


1.首先了解 什么是nginx?
nginx是一个高性能的HTTP和反向代理服务器,
2.为什么要使用nginx
它能够解决同一时刻同时访问造成的并发冲突,运行稳定并且内存占用少;现在一般淘宝、京东等大型网站使用的service就是运用的nginx或者是nginx的升级版。
正文部分

配置nginx

1.创建虚拟机,并在后台运行虚拟机(无需视图,简单黑窗口即可)(一定要运行才行

2.打开Xmanager Enterprise 4中的原先配置好的xshell并输入用户名和密码

pve nginx pve nginx proxy manager_nginx

安装nginx依赖的环境

需要运行以下四个命令

  1. yum install -y gcc-c++
  2. yum install -y pcre pcre-devel
  3. yum install -y zlib zlib-devel
  4. yum install -y openssl openssl-devel

    2上传nginx到指定的linux目录(我已上传到/usr/local里为例)
    (1)点击Xshell里的下边绿色标志进入Xftp4

    (2)把左边的压缩包复制到右边并且我的解压位置是在/usr/local里

(3)回到xshell并进入local里并用ls查看

pve nginx pve nginx proxy manager_nginx_02


进入命令是cd,这里我进入的是usr下的local里

3.解压到指定目录

解压命令为:tar -zxvf nginx-1.18.0.tar.gz

打包语法:tar 选项[cvf][压缩⽂件的名字][⽬录]

解压语法:tar 选项[xvf][压缩⽂件的名字]

tar:为压缩包的类型

-zxvf:解压命令,-x 解开压缩⽂件,-v 显示压缩、解压过程,-f ⽬标⽂件名(-f应放在参数末位,⽴即接⽂档名)

nginx-1.18.0.tar.gz:需要解压的文件名

4.进入nginx解压目录

pve nginx pve nginx proxy manager_spring boot_03


5.创建文件夹并指定nginx的安装路径并安装(1)利用mkdir 在usr下创建一个nginx文件夹

pve nginx pve nginx proxy manager_nginx_04


代码如下:

mkdir /usr/nginx

(2)指定安装路径:

pve nginx pve nginx proxy manager_pve nginx_05


代码如下:

./configure --prefix=usr/nginx

(3)安装

pve nginx pve nginx proxy manager_linux_06


代码如下:

make install

(4)查看

pve nginx pve nginx proxy manager_nginx_07


代码如下:进入

cd /usr/nginx/

代码如下:查看

ls

一般会有html、logs、sbin、conf

5.启动nginx:先进入sbin,然后输入./nginx

pve nginx pve nginx proxy manager_后端_08


7.查看nignx是否启动成功

pve nginx pve nginx proxy manager_linux_09

ps -ef | grep 进程名
var foo = 'bar';

8.在浏览器访问nignx(必须先在shell中关闭防火墙,然后访问ip地址

pve nginx pve nginx proxy manager_linux_10


关闭防火墙:

pve nginx pve nginx proxy manager_linux_11


代码如下:

systemctl stop firewalld.service

反向代理

代理概念:
代理就像中介一样,而正向代理就是代理的客户端,从而使服务器端访问的时候不知道访问来自哪个客户,而我们要说的方向代理,则是代理的是服务器端,使客户不知道自己访问的是来自哪一个服务器。

1.要先创建一个简单的springboot web应用程序(创建工程我之前的项目说的很详细,这里我就不一一说明了,只截关键部分)并打包,

pve nginx pve nginx proxy manager_spring boot_12


打包(这是案例,而这里我以准备一个新的为例)

pve nginx pve nginx proxy manager_pve nginx_13

2.把打包好的文件上传到linux并启动

这里需要装配java,怎样装配Java如果不会的话请百度,这里就先不做说明了

(1)先在xshell里登陆用户名和密码,然后点击绿色标志,

pve nginx pve nginx proxy manager_nginx_14


(2)把桌面上准备打包好的工程拖到linux根目录下(位置可以根据需求改变,这里以根目录为例)

pve nginx pve nginx proxy manager_spring boot_15


(3)查看是否成功把包放在根目录下

pve nginx pve nginx proxy manager_linux_16


(4)把jar文件上传并启动

上传的时候先判断是否进程正在使用,若是使用,则必须先杀死

pve nginx pve nginx proxy manager_spring boot_17

pve nginx pve nginx proxy manager_linux_18


代码如下

java -jar demo-0.0.1-SNAPSHOT.jar

(5)此界面不能关必须启动才能行,再重开界面

pve nginx pve nginx proxy manager_后端_19


(6) nignx反向代理服务器代码

pve nginx pve nginx proxy manager_pve nginx_20


如果修改成功的话则会直接进入下一步

pve nginx pve nginx proxy manager_nginx_21


测试结果

pve nginx pve nginx proxy manager_后端_22

负载均衡

作用:减轻并发量的冲突,将压力分散到不同的机器上

我上边是用的一个jar包,而这里需要两个jar包

利用idea创建一个8080和一个8090的jar包,这里以8090为例(如果是8080,那就把8090变成8080即可)里边内容如下:

在Index里边简单书写,便于区分端口号

pve nginx pve nginx proxy manager_nginx_23

在application.properties指定端口号

pve nginx pve nginx proxy manager_spring boot_24


打包并把两个jar包放在虚拟机里(打包步骤上边有)

pve nginx pve nginx proxy manager_pve nginx_25

1.启动多台应用服务器,但因为减少时间创建多个虚拟机,所以运用了一个虚拟机创建两个,必须同时启动

pve nginx pve nginx proxy manager_spring boot_26


2.配置nginx

pve nginx pve nginx proxy manager_spring boot_27

运行结果

连续出现三次8080

pve nginx pve nginx proxy manager_linux_28


出现一次8090,之后依次循环

pve nginx pve nginx proxy manager_pve nginx_29