欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx搭建负载均衡解决方案

程序员文章站 2022-07-11 11:58:52
...

目录

1.安装nginx

2.查看版本

3.查看运行状态

4.验证启动

5.相关目录说明

7.部署django服务

9.遇到的错误记录

参考文献


Nginx非常好用,做静态文件解析、反向代理、负载均衡都非常的简单易用。今天记录下在ubuntu16.04上使用nginx给django项目搭建负载均衡的解决方案。

1.安装nginx

输入命令:apt install nginx

Nginx搭建负载均衡解决方案

 

2.查看版本

输入命令:nginx –v

Nginx搭建负载均衡解决方案

3.查看运行状态

输入命令:sudo systemctl status nginx

Nginx搭建负载均衡解决方案

默认安装成功后,nginx就正常启动了,如果未启动,可以通过以下命令启动nginx

service nginx start 
#或者
systemctl restart nginx

4.验证启动

在浏览器中输入:http://127.0.0.1,显示如下则说明成功

Nginx搭建负载均衡解决方案

 

 

5.相关目录说明

  1. /usr/sbin/nginx   主程序
  2. /etc/nginx  存放配置文件
  3. /etc/share/nginx  存放静态文件
  4. /var/log/nginx 存放日志的目录

6.修改配置文件

命令行切换到/etc/nginx目录,修改nginx.conf,在http{}中新增如下内容:      

upstream python.server.com{
        server 127.0.0.1:8001 weight=10;
        server 127.0.0.1:8002 weight=10;
        server 127.0.0.1:8003 weight=10;
    }

       server{
           listen        8006;
           server_name   127.0.0.1;
           location / {
              proxy_pass http://python.server.com;
              root  html;
              index index.html index.htm; 
           }

            error_page 500 502 503 504 /50x.html;
            location = /50x.html{
              root html;
           }
       }

新增后的文件截图如下所示:

Nginx搭建负载均衡解决方案

注意:

(1) 每一行的空格一定是通过空格键敲出来,不能用tab键,不然启动会报错(2)

(2) 在使用vi命令的时候,如果出现点击方向键显示A 或者B,且backspace按键不管用的情况,可以卸载vim,重新全量安装,相关命令如下:

卸载vim-tiny:

sudo apt-get remove vim-common

安装vim ful:

sudo apt-get install vim

7.部署django服务

将单一项目拷贝,复制为三个文件夹,如下:

Nginx搭建负载均衡解决方案

通过命令行分别启动这三个项目,启动项目的命令相同,但是每个项目使用的端口不同:

python manage.py runserver 127.0.0.1:8001
python manage.py runserver 127.0.0.1:8002
python manage.py runserver 127.0.0.1:8003

8.验证负载均衡

三个项目的view.py中都有一个默认的index接口方法,我们直接在浏览器中输入:http://1270.0.1:8006/index/,然后不停刷新,会发现方法会自动在三个服务中的index方法切换。

至此通过nginx做负载均衡的方案搭建完毕。

 

9.遇到的错误记录

有时候可能会出现以下错误信息:

Nginx搭建负载均衡解决方案

报的是域名不符合规范,出现这个问题的主要原因有以下几种可能:

1nginxnginx.conf的配置有问题

upstream和proxy_pass 后面要使用正确的域名格式,只需要格式正确即可,即:你不能出现下划线这样的。

2python服务的ALLOWED_HOSTS

如果已经正确配置了域名格式,但是还是有这个问题,那就配置下项目中的setting.py文件的ALLOWED_HOSTS,修改ALLOWED_HOSTS=[] 为ALLOWED_HOSTS=[‘*’]。或者按照上述的设置修改为ALLOWED_HOSTS=[‘python.server.com’] ,然后重启python服务即可。

参考文献

【1】ubuntu下 vi按方向键会变成ABCD的修改方法

【2】django - 使用nginx部署时出现 DisallowedHost at /

【3】Nginx负载均衡的详细配置及使用案例详解【4】ubuntu安装nginx