在本地运行django应用相对来说还是挺方便的,使用自带的runserver启动即可。如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等

在网上找到了不错的部署的教程,讲解的还是很详细的,我就不重新再整理了。

五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上) – Django中国社区
五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(下) – Django中国社区

但是作为记录,我还是要记录下部署中遇到的问题:

(一)解决Django生产环境部署的静态文件丢失问题

有些时候,把程序放在生产环境,不过出于一些原因还没有配置nginx等环境,关闭了Debug,想看看网站,这时会出现静态文件无法访问,界面一塌糊涂的情况。使用如下命令即可成功使用静态文件

python manage.py runserver 0.0.0.0:8000 --insecure

(二)部署生产环境之前的准备

正如(一)中的方法只是测试时使用,如何处理静态文件,其实需要交给nginx等这样的高效软件来完成,所以在配置之前,先使用

python manage.py collectstatic

用来收集静态文件到static文件夹,然后就可以参照上面的教程,通过nginx来分配使用。

另外,推荐使用lnmp一键安装脚本,这样nginx,mysql等很多东西就不用设置了。

(三)重启uwsgi脚本

在上面的教程中提到的uwsgi,每一次修改程序后都应该重启uwsgi来使修改生效。在manage.py同级目录新建restart.sh脚本,内容如下:

killall uwsgi
uwsgi -x django_socket.xml

(这个django_socket.xml根据你起得名字替换)

—————-

这之后就是关于pythonic程序的一些修改:

这个程序是github上的一个开源django论坛程序。还是很不错的。

不过github上的版本还是有点点问题的。已经Fork了,但懒的忙的没时间去修改,就先在博客记录下。

(1)settings.py中应添加DOMAIN = ‘127.0.0.1’ (根据实际填写IP或域名)

(2)LOGO的路径问题,修改templates目录下的base.html模板,添加static

<link rel="shortcut icon" href="/favicon.ico"  type="image/x-icon" />
<link rel="shortcut icon" href="/static/favicon.ico" type="image/x-icon" />

(3)注册APP问题。

在accounts和people模块中的URL配置中,把accounts.views改为apps.accounts.views

OK,修改完毕。

虽然还有一些小问题,到时再读读源码估计就可以解决了。

其实安全问题还是比较重要的,admin直接暴露出来不是很好,接下来研究研究,看看是更改登陆admin的地址还是禁止IP段。

嗯,希望一切顺利~

生产环境使用Nginx+uwsgi部署Django的更多相关文章

  1. 填坑!!!virtualenv 中 nginx + uwsgi 部署 django

    一.为什么会有这篇文章 第一次接触 uwsgi 和 nginx ,这个环境搭建,踩了太多坑,现在记录下来,让后来者少走弯路. 本来在 Ubuntu14.04 上 搭建好了环境,然后到 centos7. ...

  2. nginx + uwsgi 部署 Django+Vue项目

    nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用dj ...

  3. Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统

    Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统 这个是写好的Django程序在本地机运行的情况,一个查询接口. 准备工作 1.首先购买一台阿里云的EC ...

  4. nginx + uwsgi 部署django项目

    因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...

  5. Nginx+uwsgi部署django

    0. 登录远程服务器并准备 ssh 用户@IP -p 端口 回车后,要求输入服务器密码,再输入密码 更新软件源 sudo apt-get update sudo apt-get upgrade 1. ...

  6. 使用Nginx+uWSGI部署Django项目

    1.linux安装python3环境 参考链接:https://www.cnblogs.com/zzqit/p/10087680.html 2.安装uwsgi pip3 install uwsgi l ...

  7. CENTOS7 使用 Nginx + Uwsgi 部署 Django 项目

    写在前面的话 最近总是见到有新学 Django 的朋友在部署自己的项目到 Linux 上面的时候运行不起来,所以就动手写了这篇博客. 对于不会搭建 Python 3 环境的朋友可以参考前面的博客[CE ...

  8. ubuntu+nginx+uwsgi部署django web项目

    前言 将本地开发的django项目部署至linux上的uwsgi服务器,并配置nginx,完成基于ubuntu+nginx+uwsgi的上线运行.下面整理相关步骤. 服务器配置virtualenv 如 ...

  9. nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!

    前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...

随机推荐

  1. apache kafka系列之-监控指标

    apache kafka中国社区QQ群:162272557 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提示 a.短信方式 b.邮件 2.监控内容 2.1 机器监控 ...

  2. Android中的应用——谷歌官方Json分析工具Gson使用

    一个.Gson基本介绍 Gson(又称Google Gson)是Google公司公布的一个开放源码的Java库.主要用途为串行化Java对象为JSON字符串,或反串行化JSON字符串成Java对象. ...

  3. 第一次QQ群视频教育有感

    标题:第一次QQ群视频教育有感 作者:丁又专, 时间:2014.08.16     教育的目的:启示学生心智,发现个人优势,激发探索欲望.     今天早上看到 中国大学MOOC<文献管理与信息 ...

  4. hdu 1290 竭诚为杭州电礼物50周年

    专门为杭州电50周年礼事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot ...

  5. 软测试综述——PV操作

     在操作系统中,进程之间常常会存在相互排斥(都须要共享独占性资源时)和同步(完毕异步的两个进程的协作)两种关系.而信号量和PV操作完美有效的处理了这两种情况.     相互排斥:就好比过独木桥,一 ...

  6. Kafka (一)

    使用Kafka最新版本0.9 Kafka 配置 1. 安装 首先需要安装Java,推荐安装Java8,不然会出现一些莫名其妙的错误 kafka_2.11-0.9.0.0.tgz tar -xzf ka ...

  7. MoveWindow and SetWindowPos

    转自:http://blog.sina.com.cn/s/blog_82c346de0100u7kq.html MoveWindow and SetWindowPos (2011-09-14 15:5 ...

  8. linux 终端下敲ctrl-c时,到底发生了什么?(转)

    通过telnet登录到单板,然后按ctrl-c会发生什么情况,流程是怎么样的? 在分析之前,先介绍tty的相关知识.我们可以认为,所有跟输入输出相关的操作,最终都由tty来接管.举例来说,当我们敲 l ...

  9. 客房收费系统改造(三)—厂+反射+DAL

    前一段时间有一个简单的三登录功能实现窗口,心灵修养一点点,但很快就被泼了一盆冷水.房费是不可能做到在短短三年,假设你使用三个,这倒房费三个功能必须使用函数来实现.了七层的研究. 经过一个星期的看博客. ...

  10. 【iOS】多线程GCD

    GCD(Grand Central Dispatch) : 牛逼的中枢调度器.苹果自带,纯C语言实现,提供了许多且强大的函数,它能够提高代码的运行效率与多核的利用率. 一.GCD的基本使用 1.GCD ...