本文共 2510 字,大约阅读时间需要 8 分钟。
当访问量急剧增加时,单一服务器往往难以承受如此大的压力。这个时候,多台服务器的session如何处理与统一呢?迫切需要中间件包一层。总的服务器(Nginx)起到代理的作用!!!所谓代理服务器访问,叫做反向代理。
然而,当服务器的内存资源不一致时,例如64G内存的服务器被大量访问,而8G内存的服务器访问量较少,就需要用到Nginx的负载均衡功能。没有什么是加一层解决不了的,如果有就再加一层!!!!!!!!!!!!!
Nginx是一个高性能的HTTP反向代理Web服务器。它占用内存小仅1M,并发能力强,能够处理5万个并发连接数的响应,牛批!
访问国外服务器特别慢,谷歌下载东西特别慢连接VPN、翻墙软件,先从访问代理软件香港---香港访问国外服务器,然后再返回。这就叫做"正向代理"。代理的是客户端!!!!!!!!!!!!客户端1/2/3---VPN-----云----服务器
反向代理是代理服务器!!!!!!!!!!!!客户端---云---Nginx---服务器1/2/3
负载均衡的实现方式有多种,最常见的有以下几种:
解压即可使用,路径为:C:\IT\Nginx\nginx-1.22.1运行命令:cd C:\IT\Nginx\nginx-1.22.1 && nginx.exe启动访问localhost即可
前置准备:
yum install gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel
安装命令:
wget http://nginx.org/download/nginx-1.13.7.tar.gztar -xvf nginx-1.13.7.tar.gzcd /opt/nginx/nginx-1.13.7/./configuremake
如果安装失败,请检查前置依赖是否安装成功。若仍报错:
vim src/os/unix/ngx_user.c注释掉=~salt[0];
若仍然报错:
vim objs/Makefile删除里面的-Werrormake make install
查找Nginx安装目录:whereis nginx
启动命令:
./nginx -s quit # 停止./nginx -s stop # 停止./nginx -s reload # 重载
查看进程:
ps -ef | grep nginxkill -9 # 停止
开机自启动:
vim /etc/rc.local# 最底部增加:/usr/local/nginx/sbin/nginx
vim /usr/local/nginx/conf/nginx.conf
cd /usr/local/nginx/sbin/./nginx -s reload
解决配置文件编码问题:
使用notepad++编辑保存成UTF-8格式即可解决问题。
vim /usr/local/nginx/conf/nginx.conf
以Linux为例,按照以下步骤配置负载均衡:
http://192.168.0.105:9001/http://192.168.0.105:9002/
upstream wdfgdzx { server 192.168.0.105:9001 weight=1; server 192.168.0.105:9002 weight=2;} location / { proxy_pass http://wdfgdzx;} cd /usr/local/nginx/sbin/./nginx -s reload
http://192.168.0.105/port
会显示9001或9002,负载均衡效果良好。
upstream wdfgdzx { server wdfgdzx.top:8080 weight=3;} 验证域名访问:
http://wdfgdzx.top:8080/port
支持公网IP和域名访问,非常实用。
location / { root /root/site/white/dist; index index.html index.htm; try_files $uri $uri/ /index.html;} 适用于前后端分离,减轻后端服务器负载。
npm run build
npm install -g static-serverstatic-server upload dist
location / { root /root/site/UserInterface/dist; index index.html index.htm; try_files $uri $uri/ /index.html;} user root;
cd /usr/local/nginx/sbin/./nginx -s reload
cat /etc/redhat-release
这样就完成了前端部署,静态资源由Nginx代理,后端只需部署服务即可。
转载地址:http://uhcfk.baihongyu.com/