当前位置: 首页 > news >正文

Nginx安装与配置、使用Nginx负载均衡及动静分离、后台服务部署、环境准备、系统拓扑图

目录

1. 系统拓扑图

2. 环境准备

3. 服务器安装

3.1 mysql,tomcat

3.2 Nginx的安装

4. 部署

4.1 后台服务部署

4.2 Nginx配置负载均衡及静态资源部署


1. 系统拓扑图

说明:

  • 用户请求达到Nginx
  • 若请求资源为静态资源,则将请求转发至静态资源服务器
  • 若请求资源为动态数据,则将请求转发给web服务器(在这里为tomcat处理),在转发的同时,会根据配置的负载均衡策略进行负载均衡处理。

2. 环境准备

  • 四个虚拟机,一个mysql服务器,两个tomcat服务器, 一个Nginx服务器(Nginx服务同时作为反向代理用于负载均衡,和静态资源服务器)
  • 一套采用前后端分离模式开发的系统(该例准备了webserver.war,对应的前端程序)

3. 服务器安装

3.1 mysql,tomcat

mysql,与tomcat的安装与配置,在前面的课件中已经很详细,这里不再赘述。请参考“Linux-环境搭建-centos”

3.2 Nginx的安装

有两种方式,一种是先下载Nginx,在离线安装; 第二种是yum方式安装。 这里采用离线安装方式, 如果希望使用yum方式安装,可以参考Nginx官方文档。

离线安装步骤:

1) gcc安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装

yum install gcc-c++

2)PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。

yum install -y pcre pcre-devel

3) zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库

yum install -y zlib zlib-devel

4)OpenSSL 安装

OpenSSL 套接字层密码库,有主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库

yum install -y openssl openssl-devel

5) wget下载Nginx

 wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

6)解压

tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

7)配置安装

# 使用默认配置,命令在nginx目录中执行,执行完成会产生MakeFile等文件
./configure#编译并安装
make
make install

8)启动与停止


#到命令所在目录
cd /usr/local/nginx/sbin/#启动
./nginx#停止,强制直接关停
./nginx -s stop#等待nginx进程处理完任务再停止
./nginx -s quit#重新加载配置文件
./nginx -s reload

9)配置Nginx自动启动

vim /etc/rc.d/rc.local

 

修改/etc/rc.d/rc.local的权限:

chmod 755 rc.local

在线安装
1.添加 nginx 官方提供的 yum 源(需要联网且时间较长)
rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm

2.使用 yum 安装 nginx
yum install nginx

 注1:yum方式安装nginx,它的安装根目录为/etc/nginx注2:查看nginx版本rpm -qa | grep nginx

3.启动及设置开机启动
systemctl start nginx.service
systemctl enable nginx.service

3.设置防火墙开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload && firewall-cmd --list-port


4. 部署

4.1 后台服务部署

在部署前请先将后台服务的数据库连接修改为已安装配置好的mysq服务器的ip地址。

后台服务的部署,非常简单,之间将war包上传至tomcat的webapps目录下即可。

4.2 Nginx配置负载均衡及静态资源部署

1)修改前端程序

注:在部署前端程序时,需要先修改后台server的ip地址配置。

2)将前台程序打包

npm run build

3) 将打包好的前端程序上传到Nginx服务器

4) nginx.conf配置

vim  /usr/local/nginx/conf/nginx.conf

 

重新加载配置文件

[root@localhost sbin]# pwd
/usr/local/nginx/sbin
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# ./nginx -s reload

配置完成,启动mysql,tomcat1,tomcat2,nginx等服务进行测试

相关文章:

  • spark的算子
  • Web3与Web3.0: Web3指的是去中心化和基于区块链的网络,Web3.0指的是链接或语义网络。
  • 讲述 什么是鸿蒙 为什么需要鸿蒙 为什么要学习鸿蒙
  • 网络攻击的常见手段
  • DataFunSummit:2023年现代数据栈技术峰会-核心PPT资料下载
  • Unity开发之C#基础-File文件读取
  • 合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
  • 机器视觉技术在现代汽车制造中的应用
  • 基本锁介绍
  • Multi-Modal Multi-Stream UNET Model for Liver Segmentation
  • HTML5 的离线储存怎么使用,工作原理
  • Vue网页中使用PDF.js弹窗显示pdf文档所有内容
  • Spark---转换算子、行动算子、持久化算子
  • 【C语言】函数(四):函数递归与迭代,二者有什么区别
  • django restful framework序列化与反序列化
  • [case10]使用RSQL实现端到端的动态查询
  • css属性的继承、初识值、计算值、当前值、应用值
  • JAVA 学习IO流
  • JavaScript标准库系列——Math对象和Date对象(二)
  • java正则表式的使用
  • Netty源码解析1-Buffer
  • Nodejs和JavaWeb协助开发
  • Service Worker
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Yeoman_Bower_Grunt
  • 阿里云Kubernetes容器服务上体验Knative
  • 分类模型——Logistics Regression
  • 基于web的全景—— Pannellum小试
  • 京东美团研发面经
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 聊聊flink的BlobWriter
  • 前端相关框架总和
  • 山寨一个 Promise
  • 跳前端坑前,先看看这个!!
  • 微信公众号开发小记——5.python微信红包
  • 详解NodeJs流之一
  • 小程序 setData 学问多
  • 鱼骨图 - 如何绘制?
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • C# - 为值类型重定义相等性
  • 阿里云移动端播放器高级功能介绍
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​马来语翻译中文去哪比较好?
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #1014 : Trie树
  • (175)FPGA门控时钟技术
  • (c语言)strcpy函数用法
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (四) 虚拟摄像头vivi体验
  • (一)基于IDEA的JAVA基础12
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(五):遍历指定目录下资源文件并更新