Django nginx配置实现过程详解
django
在引入第三方模块的时候保证服务的高可用,要设立一个备份接口,当主接口宕机时可以设置一个超市参数来使用备份的接口。
nginx
反向代理器,网站服务器,负载均衡
基本命令
- sudonginx启动
- sudonginx-sstop
- sudonginx-squit
- sudonginx-sreopen
关键配置模块
- events配置域:网络连接相关配置(I/O模块)
- server配置域:相关服务节点配置
- location
- http配置域
- upstream配置域:反向代理配置域
层次关系
events{ .... } http{ ... upstream{ ... } server{ ... location{ ... } } }
WSGI协议:webserver和webapplication通信的规范
uwsgi:webserver接受客户端的请求,传送给webapplication
webapplication:djangoflasktornado
djangouwsgi部署
- uWSGI可以进行多线程调度,进程监控
- 提供完善的请求日志处理
- runserver性能差
为什么有了uwsgi还要使用nginx
- nginx提供了更加安全的服务保障
- 提供反向代理,负载均衡等功能
- 对于静态文件处理能力强
nginx配置步骤
uwsgi启动django应用服务
修改nginx配置文件完成反向代理配置
/etc/nginx/sites-available/nginx.conf备份
upstreamuwsgi{ server127.0.0.1:8000; } server{ listen:80; server_name:.xxxxx.com无论一级域名还是二级域名 charset:utf-8; access_log#可以配置日志文件 location/{ proxy_passhttp://uwsgi;#所有访问域名的连接转发到配置好的upstream } }
删除源/nginx.conf给新配置的conf设置软连接
收集静态文件,完成静态文件寻址配置
设置好static_url
pythonmanage.pycollect
拷贝生成的目录
server{ listen:80; server_name:.xxxxx.com无论一级域名还是二级域名 charset:utf-8; access_log#可以配置日志文件 location/{ proxy_passhttp://uwsgi;#所有访问域名的连接转发到配置好的upstream } location/static{ alias拷贝好的目录 } }
nginx-sreload
https部署,可以在腾讯云申请个人域名免费https,配置好server中的certificate
负载均衡反向代理upstream,配置权重,直接在每一个配置好的upstream中配置权重weight。关闭uwsgi端口的访问。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。