前情提要:
本项目在开发时设置使用数据库存放session数据。用户需要上传图片等静态文件,而静态文件均存放在Master的静态文件目录下,故采用NFS服务,使得各Worker服务器能够远程共享Master服务器下的静态文件。
使用版本说明:
该项目使用CentOS6.4部署集群,实测Python3.7版本在该系统下pip3无法正常使用!!!
系统:CentOS6.4
Python:Python-3.5.6
Nginx:nginx-1.18.0
1、Nginx+uWSGI+Django项目的部署设计:
对于Nginx+uWSGI+Django的部署模式,一般通过Nginx实现负载均衡和动静分离功能。
部署要求:四台虚拟机,
一台虚拟机作为Master服务器搭建Nginx服务;
两台虚拟机Worker服务器搭建uWSGI服务;
一台虚拟机作为数据库服务器;
部署大体图如下:
2、工作原理图:
具体实现接口以及各服务部署如下图所示:
#注意在安装各服务前需要安装好各支持模块
yum install gcc zlib2-devel pcre-devel openssl-devel
3、Nginx服务:
(1) Nginx安装:
wget http://nginx.org/download/nginx-1.16.1.tar.gz tar xf nginx-1.16.1.tar.gz cd nginx-1.16.1 ./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module make && make install