博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx+uwsgi+Django部署线上环境
阅读量:7063 次
发布时间:2019-06-28

本文共 2071 字,大约阅读时间需要 6 分钟。

环境安装

uwsgi安装配置

pip3 install uwsgi# 不建立软连接可能会出现找不到命令ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3

项目流程

在三面上个都安装好后,你得确保一下几点:

  • Django项目能正常运行。
  • 使用uwsgi能启动你的Django项目,并能正常访问。
  • nginx能访问默认首页。

请求步骤:

1、首先客户端请求服务资源,2、nginx作为直接对外的服务接口,接收到客户端发送过来的http请求,会解包、分析,3、如果是静态文件请求就根据nginx配置的静态文件目录,返回请求的资源,4、如果是动态的请求,nginx就通过配置文件,将请求传递给uWSGI;uWSGI 将接收到的包进行处理,并转发给wsgi,5、wsgi根据请求调用django工程的某个文件或函数,处理完后django将返回值交给wsgi,6、wsgi将返回值进行打包,转发给uWSGI,7、uWSGI接收后转发给nginx,nginx最终将返回值返回给客户端(如浏览器)。# 注:不同的组件之间传递信息涉及到数据格式和协议的转换

配置文件

uwsgi

在Django项目manage.py同级目录创建uwsgi ini启动文件

[uwsgi]# 与nginx通信的端口,必须与nginx一致socket = :8001 # 项目路径chdir = /root/HOMS/wsgi-file = HOMS/wsgi.py# 是否使用主线程master = true# 进程数processes = 4# 线程数threads = 2# 后台运行日志保存daemonize = /root/HOMS/log/uwsgi.log# 日志大小,当大于这个值会进行切分 (Byte)log-maxsize = 5000000# 当服务器退出的时候自动清理环境vacuum = true# 排队请求数 可以理解为最高并发量范围是0 - 65000listen = 60000# 权限chmod-socket = 666
homs_uwsgi.ini

创建好后,uwsgi文件启动项目

# ini文件启动uwsgi3 --ini homs_uwsgi.ini

Nginx

 在/etc/nginx/conf.d目录下新建一个uwsgi.conf文件

upstream django {    # server unix:///path/to/your/mysite/mysite.sock; # for a file socket    server 127.0.0.1:8001; # for a web port socket (we'll use this first)}# configuration of the serverserver {    # the port your site will be served on    listen     8181;    # the domain name it will serve for    server_name localhost; # substitute your machine's IP address or FQDN    charset     utf-8;    # max upload size    client_max_body_size 75M;   # adjust to taste    # Django media    # location /media  {
# alias /path/to/your/mysite/media; # your Django project's media files - amend as required # } location /static { alias /root/HOMS/static/; # your Django project's static files - amend as required } # Finally, send all non-media requests to the Django server. location / { uwsgi_pass django; include uwsgi_params; # the uwsgi_params file you installed }}
uwsgi.conf

问题

1、如果出现无法加载css、js等静态文件将/etc/nginx/nginx.con中的user修改为root即可。

 

 

更新中...............

 

转载于:https://www.cnblogs.com/Dream-huang/p/10486654.html

你可能感兴趣的文章
【phonegap】下载文件
查看>>
Web Service单元测试工具实例介绍之SoapUI
查看>>
谈谈javascript语法里一些难点问题(一)
查看>>
【BZOJ】1082: [SCOI2005]栅栏(二分+dfs)
查看>>
通过递归组合多维数组!
查看>>
ocp 1Z0-051 23-70题解析
查看>>
关于MFLAGS与MAKEFLAGS
查看>>
NotePad++ for PHP
查看>>
ssh事务回滚,纪念这几个月困扰已久的心酸
查看>>
jQuery中的编程范式
查看>>
比较快速排序,冒泡排序,双向冒泡排序的执行效率
查看>>
还没被玩坏的robobrowser(5)——Beautiful Soup的过滤器
查看>>
Linux 精准获取进程pid--转
查看>>
Servlet、Filter、Listener总结
查看>>
[翻译] JTBorderDotAnimation
查看>>
关于Thread类中三个interrupt方法的研究与学习(转)
查看>>
mysql 加入列,改动列,删除列。
查看>>
UML的学习
查看>>
ContentProvider简单介绍
查看>>
SQL SERVER获取数据库中所有表名 XTYPE类型
查看>>