django+nginx+uwsgi的生产环境部署(Ubuntu16.04)
一,准备工作:
代码一定要能本地跑起来!
各种基础包的安装略默认已经安装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)的更多相关文章
- Linux - 搭建Web项目(Django + nginx + uwsgi)
工作中碰到需要使用Django + nginx + uwsgi 搭建项目环境 1. 搭建基本环境 需要有python环境,不多做说明 需要安装nginx,不多做说明 需要安装uwsgi: yum in ...
- Django + Uwsgi + Nginx 的生产环境部署
使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归 ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- 学习项目部署Django+uwsgi+Nginx生产环境部署
绪论 项目生产环境部署,是很重的一个知识点.第一,Django自带的服务器很简陋,由于测试和开发环境尚可,无法用于生产环境,保障安全性和可靠性.以及性能.此外,学习部署方式,还有利于了解生产部署后的项 ...
- ubuntu Django + Uwsgi + Nginx 的生产环境部署
一.概述 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇 ...
- 10: Django + Uwsgi + Nginx 的生产环境部署
1.1 一些重要概念 1.Web协议介绍 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi 1. CGI: 最早的协议 2. FCGI: 比CGI快 ...
- Django + Uwsgi + Nginx 的生产环境部署实战
目录 Django + Uwsgi + Nginx 的生产环境部署实战 安装Uwsgi 一.使用命令来启动django项目 二.使用配置文件来启动我们的Django项目 安装Nginx 配置Nginx ...
- Django+Nginx+uWSGI生产环境部署
生产环境中的数据流 参考文档: wsgi详解:https://blog.csdn.net/li_101357/article/details/52748323 wsgi协议介绍(萌新版):https: ...
- Django + Uwsgi + Nginx 实现生产环境部署
本节内容 uwsgi 介绍 uwsgi安装使用 nginx安装配置 django with nginx 如何在生产上部署Django? Django的部署可以有很多方式,采用nginx+uwsgi的方 ...
随机推荐
- 多平台博客发布工具OpenWrite的使用
1 介绍 OpenWrite官网 OpenWrite是一款便捷的多平台博客发布工具,可以在OpenWrite编写markdown文档,然后发布到其他博客平台,目前已经支持CSDN.SegmentFau ...
- 国外的一个代码 仓库 github --- 里面类似一个svn 的代码仓库
https://github.com/wzhanke/shell 用户:wzh.e 邮箱:wzh.e@x.com 登陆密码:*wzh.e8*9
- Java JUC之Atomic系列12大类实例讲解和原理分解
Java JUC之Atomic系列12大类实例讲解和原理分解 2013-02-21 0个评论 作者:xieyuooo 收藏 我要投稿 在java6以后我们不但接触到了Loc ...
- push和appendChild的区别
概述:绑定事件(push和appendChild用法相似:但是一个是控制数组,一个是控制元素节点)用法:1.数组1的更改后的长度 = 数组1.push();//用来控制数组,在数组最后面插入项,返回数 ...
- Git敏捷开发--reset和clean
reset 丢弃本地所有修改,强行和上游分支保持一致 git reset --hard HEAD 若仅丢弃某个文件的改动,利用checkout git checkout your_file clean ...
- Nginx知多少系列之(七)负载均衡策略
目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略 8.加权轮询(round rob ...
- linux sysbench : CPU性能测试详解
1.sysbench基础知识 sysbench的cpu测试是在指定时间内,循环进行素数计算 素数(也叫质数)就是从1开始的自然数中,无法被整除的数,比如2.3.5.7.11.13.17等.编程公式:对 ...
- cmd命令行中查看、修改、删除与添加环境变量
注意:只在当前窗口生效!! 1.查看当前所有可用的环境变量:输入 set 即可查看. set 2.查看某个环境变量:输入 “set 变量名”即可 set python 3.修改环境变量 :输入 “se ...
- Linux系统安装docker教程-CentOS7(完美教程)
一.前言 最近有网友反应不在安装Linux 安装docker,为了方便大家更快的安装,以CentOS7安装为例,写了一篇比较简单的博客,让大家学习. 二.背景介绍 Linux,全称GNU/Linux ...
- 白话理解https
为什么需要加密? 因为http的内容是明文传输的,传输过程有可能被劫持或被篡改(中间人攻击),如何解决? 当然是加密.最简单的方式就是对称加密(快). 对称机密 就是一个密钥,可以理解为一把钥匙,我们 ...