Nginx搭建负载均衡解决方案

目录

1.安装nginx

2.查看版本

3.查看运行状态

4.验证启动

5.相关目录说明

7.部署django服务

9.遇到的错误记录

参考文献


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

1.安装nginx

输入命令:apt install nginx

Nginx搭建负载均衡解决方案_第1张图片

 

2.查看版本

输入命令:nginx –v

3.查看运行状态

输入命令:sudo systemctl status nginx

Nginx搭建负载均衡解决方案_第2张图片

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

service nginx start 
#或者
systemctl restart nginx

4.验证启动

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

Nginx搭建负载均衡解决方案_第3张图片

 

 

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搭建负载均衡解决方案_第4张图片

注意:

(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搭建负载均衡解决方案_第5张图片

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

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搭建负载均衡解决方案_第6张图片

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

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

你可能感兴趣的:(后端)