nginx反向代理商负载均衡

  • 时间:2018-06-17 20:59 作者:Java高级架构技术 来源:Java高级架构技术 阅读:72
  • 扫一扫,手机访问
摘要:负载均衡,说白了,所有请求发给A服务器,而后它转发到其它服务器中实现负载均衡反向代理商的好处处理了网站服务器对外可见的问题,提高了网站服务器的安全性; 节约了有限的IP地址资源,后台服务器均可用私有IP地址与代理商服务器进行通信; 加速了网站的访问速度,减轻了真实web服务器的负荷。反向代理商的工作

负载均衡,说白了,所有请求发给A服务器,而后它转发到其它服务器中实现负载均衡

反向代理商的好处

处理了网站服务器对外可见的问题,提高了网站服务器的安全性;

节约了有限的IP地址资源,后台服务器均可用私有IP地址与代理商服务器进行通信;

加速了网站的访问速度,减轻了真实web服务器的负荷。

反向代理商的工作流程

使用户通过域名发出访问请求,该域名被解析为反向代理商服务器的IP地址;

反向代理商服务器接收使用户的请求;

反向代理商服务器在本地缓存查找能否存在当前使用户所请求的内容,找到则直接把内容返回给使用户;

假如本地没有使用户请求的内容,反向代理商服务器会以自己的身份去后台服务器请求同样的信息内容,并把信息内容发给使用户,假如信息内容是能被缓存的,则会将该内容缓存在代理商服务器的本地缓存中。

负载均衡的配置流程:

1.在etc/nginx/cond.f路径下创立.conf类型的文件,在文件里面增加如下代码

upstream backend{ #ip_hash; server 127.0.0.1:9701 weight=1; server 127.0.0.1:9702 weight=2;}server { listen 8005;//就是通过外网访问的端口 server_name 127.0.0.1;  access_log /var/log/nginx/nginx_demo_access.log; error_log /var/log/nginx/nginx_demo_error.log; charset utf-8; client_max_body_size 75M; #root /home/linux/Desktop/wll_MySite; location / {  proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; proxy_pass http://backend; }}12345678910111213141516171819202122

配置好以后将写好的django项目上传到服务器中,上传到服务器不同的文件夹下,开始为项目配置uwsgi的配置文件(每一个路径都要配置),代码如下:

[uwsgi]# Django-related settingssocket = 127.0.0.1:9801# 项目绝对路径#一般放在www下面,chdir = /home/linux/Desktop/word# Django的wsgi文件相对路径#项目重命名后,要注意文件的相对路径并没有改变wsgi-file = mysite/wsgi.py# process-related settings # mastermaster = True# 最大进程数#根据情况设置processes = 4# 线程数threads = 2#设置此参数,有一个主进程master=True#守护进程的方式运行,log日志存在此log文件里#每个项目对应一个log文件deamonize=/var/log/uwsgi/djangoProject.log#主进程id写入文件里pidfile= /var/log/nginx/uwsgi.pid# ... with appropriate permissions - may be needed# chmod-socket = 664#退出时,清除环境vacuum = Truereload-mercy = 10max-requests = 5000limit-as = 512buffer-size = 300001234567891011121314151617181920212223242526272829303132

在进入.conf文件

server { listen 9701;  server_name 127.0.0.1  access_log /var/log/nginx/myblog_access.log; error_log /var/log/nginx/myblog_error.log; charset utf-8; client_max_body_size 75M; root /home/linux/Desktop/1/Hello; location / {  include uwsgi_params; uwsgi_pass 127.0.0.1:9801; uwsgi_read_timeout 30; }  location /static/ { expires 30d; autoindex on;  add_header Cache-Control private; alias /home/linux/Desktop/1/Hello/static/; } }123456789101112131415161718192021

上面9701和9708进行绑定

2)重启nginx:

sudo service nginx restart

打开三个终端进行运行项目(和**.ini文件同一目录下执行):

uwsgi -ini 配置文件的路径(hello/1.ini)

9801 9802 9803 nginx和uwsgi交互的端口号

9701 9702 9703 三个服务器端口

8005 浏览器登录端口

  • 全部评论(0)
最新发布的资讯信息
【系统环境|服务器应用】PHP和Python实战bcrypt算法(2019-02-01 20:47)
【系统环境|服务器应用】PostgreSQL数据库安装Version10.5(2019-02-01 20:47)
【系统环境|服务器应用】Notepad++快速选中多行(2019-02-01 20:47)
【系统环境|服务器应用】Clover支持目录多标签页(2019-02-01 20:47)
【系统环境|服务器应用】计算机视觉 OpenCV Android | Mat像素操作(2019-02-01 20:46)
【系统环境|服务器应用】PHP | 运算符 知识梳理与运用实例(2019-02-01 20:46)
【系统环境|服务器应用】人工智能通识-数学-零基础矩阵运算(2019-02-01 20:46)
【系统环境|服务器应用】Android-打包AAR步骤以及最为关键的注意事项!(2019-02-01 20:46)
【系统环境|服务器应用】回转寿司你肯定吃过!——Android消息机制(构造)(2019-02-01 20:46)
【系统环境|服务器应用】Android中不规则形状View的布局实现(2019-02-01 20:46)
手机二维码手机访问领取大礼包
返回顶部