Nginx配置和使用,均衡负载
安装指令: sudo apt-get install nginx
查看是否安装成功:nginx -v
默认安装位置:/etc/nginx/ 该目录下
启动nginx: service nginx start
关闭nginx: sudo nginx -s stop
重启nginx: sudo sbin/nginx –s reload
注:启动nginx后,还需要启动uwsgi配合一起开启项目
uwsgi参考路径:
注:如是服务器上部署配置域名则需要云服务器指定解析www 和 直接解析,在nginx配置后访问域名可以不用手动输入www同样会重定向到www域名
创建配置文件路径:/etc/nginx/conf.d/ 目录下存放nginx配置文件,(也有其他存放配置文件路径大同小异看个人使用)。
进入到该路径后创建配置文件,django为文件名,.conf是配置文件的后缀
sudo vim django.conf
创建后是vim 模式,不会的同学可以网上找一下指令很简单的。将配置内容粘贴到里面 :wq退出
server { // 将域名重定向到附带www.
listen 80;
#同下面www.域名.com
server_name baidu.com;
return 301 http://www.zhouqitechnology.com$request_uri;
}
server{
# 监听端口
listen 80;
# 域名
server_name www.baidu.com; (127.0.0.1)开发时使用
charset utf-8;
# 请求最大大小
client_max_body_size 75M;
# 把所有请求转到
location / {
# 包含 uwsgi的请求参数
include uwsgi_params;
# 转交请求给 uwsgi,配置需要同uwsgi配置当中监听的端口一致
uwsgi_pass 127.0.0.1:8000;
}
# 指定静态文件存放的目录
location /static {
# 静态文件存放路径
alias /home/ubuntu/python/static/;
}
}
静态文件存放,是因为django框架在项目正式使用是需要将settings.py文件将DEBUG=False设置为false关闭debug模式
django框架在关闭该模式以后,静态文件将无法从代码指定的路径获取静态文件,此时需要nginx做静态文件储存
进入存放静态文件路径后创建名为static文件夹,并给该文件添加读写运行权限
sudo chmod 777 static
在django项目的配置文件settings.py文件中还需要添加指定该路径选项
STATIC_ROOT = ‘/home/ubuntu/python/static’ 路径根据部署创建的存放路径
进入django项目的根目录中执行指令,执行该指令后,会将项目中所有的静态文件收集到配置文件指定的存放路径中
python3 manage.py collectstatic
均衡负载
在同一个项目中增加多一个uwsgi配置文件。并启动,作为第二个uwsgi服务器
注:第二个uwsgi配置文件名字不能和第一个uwsgi配置文件同名,uwsgi配置文件中的端口号不能相同,日志文件和PID文件命名也不能相同。
均衡负载思路:开启多个uwsgi服务器,在nginx接收到请求时,会均匀分配到空闲的uwsgi服务器承载访问。
均衡负载nginx配置方法
在上述的nginx配置文件(django.conf)最上面增加均衡负载选项配置
upstream django { #均衡负载,上游服务器,django为自定义名字
# 第一台uwsgi服务器
server 127.0.0.1:8000
# 第二台uwsgi服务器
server 127.0.0.1:8001
}
并将该配置文件中的uwsgi_pass配置项改为指定到上游服务器中
uwsgi_pass django;
在启动分别启动多个对应的uwsgi服务器,和nginx即可实现均衡负载
需要参考uwsgi配置的可以看我上一张的uwsgi配置