Nginx简介,Nginx搭载负载均衡以及Nginx部署前端项目
目录
一. Nginx简介
Nginx的优点
二. Nginx搭载负载均衡
2.1 Nginx安装
2.1.1 安装依赖
2.1.2 解压nginx安装包
2.1.3 安装nginx
2.1.4 启动nginx服务
2.2 tomcat负载均衡
2.3 Nginx配置
三. Nginx前端部署
一. Nginx简介
NGINX(读作:engine-x)是用于 Web 服务、反向代理、内容缓存、负载均衡、媒体流传输等场景的开源软件。
它最初是一款专为实现最高性能和稳定性而设计的 Web 服务器。除了 HTTP 服务器功能以外,NGINX 还可用作电子邮件(IMAP、POP3 和 SMTP)的代理服务器以及 HTTP、TCP 和 UDP 服务器的反向代理与负载均衡器。
尽管 NGINX 以“最快的 Web 服务器”而闻名,但由于 NGINX 可以处理大量的连接,因此它通常被用作反向代理和负载均衡器,以管理入向流量并将其分发到较慢的上游服务器,包括传统数据库服务器和微服务。
NGINX 还经常位于客户端和第二个 Web 服务器之间,用作 SSL/TLS 卸载器或 Web 加速器。作为中介服务器,NGINX 能够高效处理可能降低 Web 服务器速度的任务,例如协商 SSL/TLS 或压缩和缓存内容以提高性能。
无论是使用 Node.js 还是 PHP 等技术构建的动态站点,通常都将 NGINX 部署为内容缓存和反向代理,以减少应用服务器上的负载并最高效地利用底层硬件。
Nginx的优点
- 作为Web服务器,Nginx处理静态文件、索引文件,自动索引的效率非常高。
- 作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度。
- 作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡。
- Nginx是专门为性能优化而开发的,在实现上非常注重效率。它采用内核Poll模型,可以支持更多的并发连接,最大可以支持对50000个并发连接数的响应,而且只占用很低的内存资源。
- Nginx采取了分阶段资源分配技术,使得CPU与内存的占用率非常低。Nginx官方表示,Nginx保持10000个没有活动的连接,而这些连接只占用2.5MB内存,因此,类似DOS这样的攻击对Nginx来说基本上是没有任何作用的。宕机的概率非常小。
本篇我将着重介绍负载均衡以及动静分离。
二. Nginx搭载负载均衡
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
2.1 Nginx安装
2.1.1 安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.1.2 解压nginx安装包
tar -xvf nginx-1.13.7.tar.gz
2.1.3 安装nginx
# 进入安装包目录
cd nginx-1.13.7
# 编译,执行配置: 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
# 安装
make && make install
2.1.4 启动nginx服务
安装好的 nginx 服务在 /usr/local/nginx 下
进入 /usr/local/nginx/sbin 目录下启动:cd /usr/local/nginx/sbin
# 启动
./nginx
安装lsof,查看服务是否开启
yum install -y lsof
80端口已经在使用
这里外部还不能访问80端口,要设置防火墙开放80端口
设置防火墙开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent查看开放的端口列表
firewall-cmd --reload && firewall-cmd --list-port
nginx服务开启成功
2.2 tomcat负载均衡
#准备2个tomcat
cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/
为了避免端口号发生冲突,将第二个tomcat下的端口号都加一
进入第二个tomcat下的conf文件夹中: cd apache-tomcat-8.5.20_8081/conf/
修改server.xml: vim server.xml
- 1. HTTP端口,默认8080,改为8081
- 2.远程停服务端口,默认8005,改为8006
- 3.AJP端口,默认8009,改为8010
这里为了演示效果,将tomcat8081的静态页面进行改动
#测试访问
http://192.168.19.129:8080/
http://192.168.19.129:8081/
2.3 Nginx配置
在/usr/local/nginx/conf/nginx.conf中
配置之前
配置之后
配置完成后,进入sbin目录下,重启nginx服务
#重启服务
./nginx -s reload
完成后,在浏览器输入服务器的ip地址就可以访问8080和8081的内容
三. Nginx前端部署
#将前端项目打包,生成dist文件夹,点击index.html访问项目测试
npm run build
生成dist文件夹
注意1:hbuilderX打包vue项目白屏问题
将项目目录下的config文件夹里的index.js文件中,将build对象下的assetsPublicPath中的“/”,改为“./”后,再打包生成的 dist 文件
build: {
// assetsPublicPath: '/',//修改前
assetsPublicPath: './',//修改后
}
注意2:hbuilderX打包vue项目,element-ui的icon图标无法正常显示问题
问题:使用vue-cli3脚手架搭建的项目,在打包文件上服务器的时候,其他的css,js样式都能正确加载出路径,
但是element的icon图标却不能正常加载出来。问题分析:
加载的路径https://yxq.linksign.cn/static/css/static/fonts/element-icons.535877f.woff
本应该加载的路径https://yxq.linksign.cn/static/fonts/element-icons.535877f.woff
打包的路径
事实上是打包时候读取的文件路径多了两层;
找到build文件的utils.js 中有打包的路径,看看generateLoaders();
Extract CSS when that option is specified, 指定该选项时提取CSS
发现少了个公共路径,加上pubilcPath
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader',
// 解决icon路径加载错误
publicPath:'../../'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
在 /usr/local文件夹下 新建一个文件夹mypro 存放dist文件夹

如果是放入zip压缩包 :
yum install -y unzip
unzip ...
在 C:\Windows\System32\drivers\etc\hosts中增加映射关系
192.168.19.129 www.zking.com
增加前
增加后
这里映射改不了,也可以选择在前端项目的action.js中更改配置再重新打包
代理配置 在/usr/local/nginx/conf/nginx.conf中

保存后进入sbin目录下,重启nginx服务

相关文章:
Nginx简介,Nginx搭载负载均衡以及Nginx部署前端项目
目录 一. Nginx简介 Nginx的优点 二. Nginx搭载负载均衡 2.1 Nginx安装 2.1.1 安装依赖 2.1.2 解压nginx安装包 2.1.3 安装nginx 2.1.4 启动nginx服务 2.2 tomcat负载均衡 2.3 Nginx配置 三. Nginx前端部署 一. Nginx简介 NGINX(读作:engi…...
QT5.15.2搭建Android编译环境及使用模拟器调试(全)
一、安装QT5.15.2 地址:下载 我电脑的windows的,所以选windows 由于官方安装过程非常非常慢,一定要跟着步骤来安装,不然慢到怀疑人生 1)打开"命令提示符"(开始 -> Windows 系统 -> 命令…...
npm install报 ERESOLVE unable to resolve dependency tree
三四年前的一个项目,打开,npm install 一下,结果报 ERESOLVE unable to resolve dependency tree。 以前install都一切顺利,现在就不行,那很大的可能是npm的版本不同。 PS D:\workSpace\code\*-admin-ui-master> n…...
CentOS 7上创建Python 3虚拟环境
在CentOS 7上创建Python 3虚拟环境可以使用virtualenv包。以下是创建Python 3虚拟环境的步骤: 确保已经安装了Python 3和pip。可以通过在终端中运行以下命令来检查它们是否已安装: python3 --version pip3 --version如果未安装,请使用以下…...
B端设计必看的9个开源组件库,值得收藏!
如果你想开发一款To B Web端产品,如何选择令人眼花缭乱的开源组件库?行业团队常用的B端开源组件库是什么?今天,我们将为您带来入门级开源组件库的介绍。你可以先有一个大致的了解,希望能对你有所帮助。未来,…...
王坚院士:云计算与 GPT 的关系,就是电和电动机的关系
无论是行业,还是阿里,都身处巨变时。已经年过六十的王坚院士,重回阿里,重回大众视野,今年以来,在多个场合都能够看到他的身影。 而每一次他的分享,都值得我们细细品味。 以下为王坚院士在 202…...
Git代码合并流程规范
...
编译cef114.2 with h264
按照下面网页要求安装VS和SDK https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding.md#markdown-header-development Win 10 deployment, Win 10 build system w/ VS2022 17.5, Win 10.0.22621 SDK, Ninja rem 配置winsock科学上网 netsh winhttp set prox…...
A股风格因子看板 (2023.11第01期)
该因子看板跟踪A股风格因子,该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子,用以分析市场风格切换、组合风格暴露等。 今日为该因子跟踪第01期,指数组合数据截止日2023-10-31,要点如下 近1年A股风格因子收益走…...
Session+Cookie实现登录认证
使用 Session 和 Cookie 实现登录认证的流程通常包括以下步骤: 1. 登录认证流程 用户登录: 用户在登录页面输入用户名和密码。 服务器验证用户的凭证(用户名和密码)是否正确。 创建会话(Session)…...
mac matplotlib显示中文
以下默认字体,在mac ventura上测试能成功显示中文: import matplotlib.pyplot as plt import matplotlib#from matplotlib import font_manager #plt.rcParams[font.sans-serif] [Heiti TC]#plt.rcParams[font.sans-serif] [Songti SC]#plt.rcParams[f…...
python自动化测试模板
1:准备html模版 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>接口自动化…...
MySQL 外连接和内连接的查询优化怎么做?
目录 1. 表连接方式的分类和需要注意的细节 2. 表连接时底层做了什么事? 3. 左外连接优化方案 4. 内连接优化方案 1. 表连接方式的分类和需要注意的细节 多表连接查询,大体上可以分为内连接与外连接。 内连接的意思就是把两个表有关联的部分都取出…...
Web自动化测试 —— cookie复用
一、cookie简介 cookie是一些数据,存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时,在链接关闭后,服务端不会记录用户信息 二、为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入若用例需要经常执行&…...
Java自学第1课:安装JDK+Eclipse
1 引言 在学习前,我想说一句,那就是为什么要学习Java。 每个人的出发点都不同,对于做信息化的工程技术人员来说,java不懂,就没法干项目。 尽管有c和matlab等基础,但java看起来与这些语言都不太一样。 做…...
zabbix6.4监控centos
1、关闭防火墙 setenforce 0 #关闭SELinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #设置永久关闭SELinux systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service …...
炫云客户端信用额度如何修改?
现在炫云新注册用户信用额度是100元,但是有人觉得信用额度太高了,想修改信用额度,不知道炫云的信用额度如何修改,今天就教大家如何修改炫云的信用额度。炫云的信用额度在炫云官网和客户端都可以修改。 我们先来看炫云官网如何修改…...
windows jar包文件默认打开方式设置
1、管理员权限打开“注册表编辑器”; 2、定位到计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts项下,找到.jar项,再选中UserChoice项,其中ProgId值为jarfile 3、定位到计算机\HKEY_CLAS…...
高并发和存储之间的关系是什么?
文章目录 🔊博主介绍🤖博主的简介📥博主的目标 🥤本文内容🍊 一、高并发对存储的压力🍊 二、存储的性能和可扩展性 📢总结 🔊博主介绍 📕我是廖志伟,一名Java…...
Antv/G2 图表坐标轴文字过长时添加省略号
// 格式化文字,超过长度添加省略号chart.axis(city, {label: {formatter: (text) > {// 字符太长添加省略号return text.length > 5 ? ${text.slice(0, 5)}... : text;}}})完整 demo: <!DOCTYPE html> <html lang"en"> &l…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...





