一,准备工作:

代码一定要能本地跑起来!

各种基础包的安装略默认已经安装python3,nginx,uwsgi等基础依赖,注意版本问题。

本地setting.py文件修改如下(改为生产模式,把debug关闭,添加host和静态文件地址):

项目目录内随便什么地方新建一个uwsgi.ini配置文件:

# dongpouu_uwsgi.ini file
[uwsgi] # Django-related settings socket = :8000
#真实服务的端口 # Django项目根目录 (绝对路径)
chdir = /home/dongpouu # wsgi.py文件在项目中的位置
module = dongpouu.wsgi # process-related settings
# master
master = true # 运行的进程数
processes = 1 # ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true

然后打一个zip包,通过ftp上传到服务器,注意上传路径要与uwsgi.ini内的地址一致:

然后在项目根目录,运行一条命令来收集静态文件(因为在生产模式下,django不会再自动管理静态路径。后面会通过配置交给nginx来管理):

python3 manager.py collectstatic

配置nginx。在/etc/nginx/目录下,找到nginx.conf文件,用vim打开它,然后在http{ }内部加入下面内容。这不是唯一的配置方式,其他的也试过很多坑,最终这一种成功!、

server {
#这里是nginx用到的端口,注意不要与django的搞混了,所有配置里边只有这个端口是与其他地方不一样的!!!
listen 80;
server_name dongpouu.com; charset UTF-8;
#这块存让日志文件
access_log /var/log/nginx/dongpouu_access.log;
error_log /var/log/nginx/dongpouu_error.log; location /static/ {
autoindex on;
alias /home/dongpouu/static/; #这里按照自己的实际情况来,包括下面的
} location /media/ {
autoindex on;
alias /home/dongpouu/media/;#这里按照自己的实际情况来,包括下面的
    } 
    client_max_body_size 75M;
    location / {
      include uwsgi_params; #同uwsgi内容
      uwsgi_pass 127.0.0.1:8000; #链接超时时间
      uwsgi_read_timeout 30; }
}

最后三条命令,部署生效(失败的自己排查肯定是配置问题):

killall -9 uwsgi # 杀死正在运行的uwsgi服务
uwsgi --ini dongpouu_uwsgi.ini # 注意要cd到该文件对应目录下,这条命令成功代表django项目顺利跑起来了!

service nginx reload # 重新加载nginx

最后访问www.dongpouu.com(你自己的网址,或者直接访问服务器的公网IP)看效果。

django+nginx+uwsgi的生产环境部署(Ubuntu16.04)的更多相关文章

  1. Linux - 搭建Web项目(Django + nginx + uwsgi)

    工作中碰到需要使用Django + nginx + uwsgi 搭建项目环境 1. 搭建基本环境 需要有python环境,不多做说明 需要安装nginx,不多做说明 需要安装uwsgi: yum in ...

  2. Django + Uwsgi + Nginx 的生产环境部署

    使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归 ...

  3. 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置

    第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本  uwsgi- ...

  4. 学习项目部署Django+uwsgi+Nginx生产环境部署

    绪论 项目生产环境部署,是很重的一个知识点.第一,Django自带的服务器很简陋,由于测试和开发环境尚可,无法用于生产环境,保障安全性和可靠性.以及性能.此外,学习部署方式,还有利于了解生产部署后的项 ...

  5. ubuntu Django + Uwsgi + Nginx 的生产环境部署

    一.概述 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇 ...

  6. 10: Django + Uwsgi + Nginx 的生产环境部署

    1.1 一些重要概念 1.Web协议介绍 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi 1. CGI:  最早的协议 2. FCGI:  比CGI快 ...

  7. Django + Uwsgi + Nginx 的生产环境部署实战

    目录 Django + Uwsgi + Nginx 的生产环境部署实战 安装Uwsgi 一.使用命令来启动django项目 二.使用配置文件来启动我们的Django项目 安装Nginx 配置Nginx ...

  8. Django+Nginx+uWSGI生产环境部署

    生产环境中的数据流 参考文档: wsgi详解:https://blog.csdn.net/li_101357/article/details/52748323 wsgi协议介绍(萌新版):https: ...

  9. Django + Uwsgi + Nginx 实现生产环境部署

    本节内容 uwsgi 介绍 uwsgi安装使用 nginx安装配置 django with nginx 如何在生产上部署Django? Django的部署可以有很多方式,采用nginx+uwsgi的方 ...

随机推荐

  1. Qt开发环境搭建 - Windows + VS2010 + VS插件

    Qt 开发环境搭建 - Windows+VS2010+VS插件 1.Qt在Windows平台下的三种开发环境 方案 编辑器 编译器 调试器 一 Qt Creator MinGW GDB 二 Qt Cr ...

  2. 萌新带你开车上p站(Ⅳ)

    本文作者:萌新 前情回顾: 萌新带你开车上p站(一) 萌新带你开车上p站(二) 萌新带你开车上P站(三) 回顾一下前篇,我们开始新的内容吧 0x12 登录后看源码 通读程序,逻辑是这样子的: 输入6个 ...

  3. 使用rem配置PC端自适应大屏

    效果如下 使得大屏不论在什么宽高比例依然能展示全部数据 安装 npm install -S postcss-pxtorem rem配置思路 原先的rem函数是能解决大部分的问题的,如果展示不全,也可以 ...

  4. 广告行业中那些趣事系列9:一网打尽Youtube深度学习推荐系统

    最新最全的文章请关注我的微信公众号:数据拾光者. 摘要:本篇主要分析Youtube深度学习推荐系统,借鉴模型框架以及工程中优秀的解决方案从而应用于实际项目.首先讲了下用户.广告主和抖音这一类视频平台三 ...

  5. git配置用户名

    git config --global user.name [name] git config --global user.email [email_address]

  6. 一个有关 scala 编程语言 的博客

    http://www.cnblogs.com/superjt/category/312683.html

  7. 关于node中两个模块相互引用却不会死循环的问题

    关于node中两个模块相互引用却不会死循环的问题 node中是通过require来导入加载模块的,require有两个作用: 1.加载文件模块并执行里面的代码 2.拿到被加载文件模块导出的接口对象 现 ...

  8. PLSQL Developer 中文乱码踩坑记

    环境 操作系统版本: Windows 7 PL/SQL 版本: 12.0.1.1814 原因 由于 Oracle 服务器端和客户端字符集编码不一致引起的. 注意点 写在最前面,减少踩坑!!! 网上教程 ...

  9. 怎样才能拥有营销号生成器功能?python帮你实现

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...

  10. Linux相关操作

    ssh配置秘钥 连接远程服务器时:需要用户持有“公钥/私钥对”,远程服务器持有公钥,本地持有私钥. 客户端向服务器发出请求.服务器收到请求之后,先在用户的主目录下找到该用户的公钥,然后对比用户发送过来 ...