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的方 ...
随机推荐
- Linux kernel min/max宏
#define min(x,y) ({ \ typeof(x) _x = (x); \ typeof(y) _y = (y); \ (void) (&_x == &_y); \ _x ...
- hadoop(五)scp命令copy文件和配置(完全分布式准备二)|7
机器的克隆参考centos7克隆ip|机器名|映射关系|别名配置(hadoop完全分布式准备一) 那么问题来了,如果我们有30台机器,之间可以互相访问,那我们如何快速安装配置环境如jdk hadoop ...
- leetcode c++做题思路和题解(3)——栈的例题和总结
栈的例题和总结 0. 目录 有效的括号 栈实现队列(这个参见队列) 1. 有效的括号 static int top = 0; static char* buf = NULL; void stack(i ...
- MySQL中information_schema 数据库 是干什么的
MySQL中information_schema是什么 大家在安装或使用MYSQL时,会发现除了自己安装的数据库以外,还有一个information_schema数据库. information_sc ...
- 怎么高效学习python?其实只需要这个方法,快速掌握不叫事儿
很多人想学python,并且希望能快速高效的学习python,但一直都没有找到合适的方法,下面谈一下我的方法. 首先,高效入门python 怎么高效学习python?想要高效,就要先搞清楚你这个阶段, ...
- c语言中的引用使用
最近在写一个图像处理的程序时候,遇到一些传参的问题,最后发现引用的效率高一些,在此提醒各位道友,多多关注引用的应用及使用. 1.在引用的使用中,单纯给某个变量取个别名是毫无意义的,不要为了耍酷而乱用, ...
- Python-气象-大气科学-可视化绘图系列(三)—— 地图上自动标注省会名称(demo调整中)(代码+示例)
本文为原创文章 本文链接:https://www.cnblogs.com/zhanling/p/12606990.html # -*- coding: utf-8 -*- ''' Author: He ...
- paddlehub Test on win10
conda 构建虚拟环境 1)虚拟环境下安装paddlepaddle 1.7 2)pip install paddlehub 3)添加环境变量hub_home,以免模型把c盘撑爆 4)下载的模型在.p ...
- Ubuntu上mysql, 通过python连接报错Can't connect to MySQL server on xxx (10061)
通过sqlyog连接ubuntu上的mysql报错 试了试python直接连接也报同样的错 那应该就是ubuntu上mysql服务自己的问题了 查看mysql 版本 mysql -V root@clo ...
- [linux][mysql] MySQL中information_schema是什么
来源:MySQL中information_schema是什么 information_schema数据库是MySQL自带的,information_schema提供了访问数据库元数据的方式.这就是?元 ...