一.说明 为了django项目部署到生产环境上,能够稳定的运行,且能够同时指出http和https的访问,对django的部署进行了一些研究,决定采用django + gunicorn + virtualenv +nginx + mysql的方式进行部署,下面是本次部署项目的目录结构: ​ 二.虚拟包的制作 本次部署是采用virtualenv方式的部署,考虑到可能在多台机器上进行部署(例如:在多台测试机器上部署),所以为了减少Python模块包的安装,决定将虚拟环境打成包的形式,可以考到任意一台…
生产环境有时,并不是为了一个项目而存在的.毕竟,域名是比较稀有的. 今天遇到这个问题,解决了.作个记录. 并且,如果将django项目部署在Nginx后面,那如何获取用户真实的IP地址呢? 下面就来解决吧. 一,gunicorn.ini的编写 bind = "127.0.0.1:xxxx" workers = 4 errorlog = './gunicorn.error.log' accesslog = './gunicorn.access.log' timeout = 3000 lo…
django项目部署过程 1.上传代码 用git或者其他工具,如scp 代码上传后保证每个应用下的migrations文件夹里只有一个__init__.py文件,自己的迁移文件不要上传上来,具体的git的ignore文件配置如下 .idea *.log *.json *.jpg *.db *.pid **/migrations/* !**/migrations/__init__.py __pycache__/ *.crt *.key 在项目根目录下新建uwsgi.ini文件(和manage.py…
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理(这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. NOTE:不使用nginx,只使用uwsgi+django也是可以实…
步骤 .数据库的处理 1.1 上传bbs.sql 1.2 在mysql中创建bbs库,并导入数据库SQL脚本 mysql> create database bbs charset utf8mb4; mysql> use bbs mysql> source /opt/bbs.sql mysql> drop database bbs; 1.3 查看项目settings.py配置文件,修改以下两处 ALLOWED_HOSTS = ['*'] DATABASES = { 'default'…
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理 (这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. NOTE:不使用nginx,只使用uwsgi+django也是可以…
经过几天踩坑,记录在Windows10下通过Apache2.4部署Django项目的过程 运行环境: 先说下环境,怎么安装倒是其次的,版本很重要,我是根据mod_wsgi的版本要求下载的各个版本(python,Apache2.4) mod_wsgi 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi 下面这张图说明python与Apache的版本: 版本信息: Apache2.4VC14 64bit Python 3.5.2-amd…
Django项目部署在Linux下以进程方式启动 这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了. 开发完Django项目后,需要把项目部署到linux环境下.当然,直接在目录下敲击命令不就行了嘛(python manage.py runserver 0.0.0.0:8000),但是这是以前台的形式启动的: 如果你关闭了窗口,进程也随之结束,那我不关了呗,你行!!!!!! 如果想服务在后台运行,就得知道 nohup命令,百度一下就知道 直接上操作,进入到mana…
在上一篇文章<五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)>中,阐述了如何只使用uWSGI来部署Django程序. 当然,单单只有uWSGI是不够的,在实际的部署环境中,Nginx是必不可少的工具. 在本篇文章中,我将一直延用“N步法”的风格来阐述如何将uWSGI与Nginx做连接来部署Django程序.并在最后,会较为完整的阐述本社区的部署方法. 本文大纲: 环境介绍 配置uWSGI 配置Nginx Nginx+uWSGI+Django的实现方式 一些建…
.MVC的设计方式(跟Flask一样,都是MVC的设计模式) .开发效率高 .功能强大(丰富的第三方组件) .安全性高(帮助开发者规避安全漏洞) 目前市面上使用:Django>Flask #使用环境 ①.python环境的安装:2.X.3.X(官方对2.x已不再维护,所以必须要3.x)www.python.org[官网] 科学计算anaconda 的python环境:直接百度即可,安装后,含有丰富的第三方库,可以使开发者专注于业务开发 ②.Django环境的安装:2.0版本(pip instal…
以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目前我们的Django项目都使用Apache+mod_wsgi部署的,听说使用Nginx+uwsgi效率更高一些).以下都是事后记录的安装部署过程,可能存在遗忘细节的地方. VirtualEnv VirtualEnv的作用:创建隔离的Python环境,解决模块或库的版本冲突或依赖. 在实际开发过程中,…
准备知识 1.django一个基于python的开源web框架,请确保自己熟悉它的框架目录结构. 2.uWSGI一个基于自有的uwsgi协议.wsgi协议和http服务协议的web网关 3.nginx常用高性能代理服务器 4.wsgi.pydjango项目携带的一个wsgi接口文件如果项目名叫mysite的话,此文件就位于[/mysite/mysite/wsgi.py] 相关资料 wsgi:一种实现python解析的通用接口标准/协议,是一种通用的接口标准或者接口协议,实现了python web…
一.在开发机上的准备工作 1. 确认项目没有bug. 2.设置`ALLOW_HOST`为你的域名,以及ip地址. 4.设置`DEBUG=False`,避免如果你的网站产生错误,而将错误信息暴漏给用户. 4.用 cmd 进入项目所在的虚拟环境目录下,用`pip freeze > requirements.txt`命令将当前环境的包导出到`requirements.txt`文件中,方便在部署的时候安装. 5.安装 git 后,在项目文件所在的目录下右键,打开 "Git Bash Here&qu…
绪论 项目生产环境部署,是很重的一个知识点.第一,Django自带的服务器很简陋,由于测试和开发环境尚可,无法用于生产环境,保障安全性和可靠性.以及性能.此外,学习部署方式,还有利于了解生产部署后的项目架构. 组件安装 #安装uwsgi pip3 install uwsgi ≈ #安装Nginx的依赖 yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y o…
一.背景 前两天制作的个人博客网站基本完工,大致功能具备.但是在部署环节却也处处碰壁,这里也来总结以下,以备将来不时查看以及完善. 二.前提 2.1 需要的知识 django Django是一个基于python开发的web开发框架,内容丰满,功能相比于它的同行flask.webpy要健全的多,具有丰富的第三方库. uWSGI uWSGI是一个实现WSGI协议.uwsgi协议.http协议的web服务器. 这里我们要区分一下WSGI.uWSGI.uwsgi: WSGI:是一种通信协议: uwsgi…
内容转载自:我自己的博客地址 这是花费了一个月的时间摸索整理出来的一份总结.分享出来一方面是给新人一个借鉴,另一方面对自己也算是个备份. --- *** 整个Django项目: ├── examples.desktop ├── microblog │ ├── blog │ │ ├── admin.py │ │ ├── __init__.py │ │ ├── migrations │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── __pycache__…
原贴地址:https://blog.csdn.net/qq_42571805/article/details/80862455 摘要 uwsgi为主要服务器,nginx为反向代理服务器部署完成之后发现django后台admin访问时无样式 解决方法如下 1.先打开django项目中settings.py文件(/blog/settings.py),添加STATIC_ROOT = ‘/home/blog/static/’ 2.打开nginx配置文件nginx.conf,添加如下图红色框中内容 3.运…
首先先说一下思路: 1.本地django项目打包 主要用到的是 python自带的distutils.core 下的 setup,具体代码在下面,主要讲的两个问题是package主要打包为和目录同级的代码,例如:TCMS如果还有一个子文件夹,那就不能自动打包了.这个时候需要用到data_files.glob(*filename)文件名模式匹配,不用遍历整个目录判断每个文件是不是符合. from distutils.core import setup import glob setup( name…
一.安装nginx 以前的博客我有写,这里就不写了 http://www.cnblogs.com/wt11/p/6420442.html 二.安装mysql 我用的mysql5.7  64位的二进制包,官网下载安装编译好的二进制包,解压直接使用即可 https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 安装二进制mysql5.7http://blog.csdn.net/wb9…
一.python web 项目部署 python django默认启动python3 manage.py runserver 0.0.0.0:8000这种方式调用wsgiref单机模块,性能较低,生产环境不用 线上使用uwsgi工具(由c语言编写的工具,性能强悍)启动django,使用方式: 在激活虚拟环境的前提下,使用uwsgi安装配置好virtualenvwrapper工具,或者virtualenv皆可 在虚拟环境下安装uwsgi 1.安装uwsgi工具 pip3 install -i ht…
前言 完善的django项目上线,有很多种上线的方法,比如apache, uwsgi, nginx等.这里只介绍2种,一种是django自带的,另外一种则是nginx + uwsgi完成介绍.这里的系统环境采用的是ubantu系统, python环境采用的是python3, django环境采用1.11 一.自带的部署功能 数据库迁移: 如果django项目中的数据是在本地的mysql中,需要将它的数据迁移到远程连接的数据库中.使用navicat操作, 在工具下拉列表中有一个数据传输按钮   i…
一.引入 当我们开发好了一个Django项目之后是需要部署到服务器上的,这样才能正式使用这个项目.之前用了一个运行.sh文件的方法让项目得以在后台运行,其实随着学习的深入,这种方法其实是有点low的,下面介绍今天的新方法. 二.uwsgi 1.什么是uwsgi 项目的文件中有一个wsgi的文件,其实这就是生产环境中会用到的wsgi. WSGI:Web服务器网关接口,英文为Python Web Server Gateway Interface,缩写为WSGI,是Python应用程序或框架和Web服…
一.引入 用Django写了一个测试的项目,现在要部署在Linux上,一般这种情况下,只要在项目里面敲一行命令:python manage.py runserver 0.0.0.0:8000就行了.但这是在开发项目的时候用这个可以测试项目,在浏览器看到效果.正真部署到服务器上,这样是不行的,因为窗口一关,Django也就关了.当然你也可以一直不关...... 本来是想通过supervisor来做这个进程管理的,但是supervisor只支持python2.x 然后继续百度找解决方案....功夫不…
前记:最近在学习django项目的部署. 开发环境:windows10,使用pycharm,python2.7.15,django1.11.本地测试使用nginx和前端交互. 生产环境:centos7,linux中centos版本比较流行,因为centos7对主流软件更新得比较快,版本维护时间长,相对于ubuntu更适合用于生产环境. 项目可以通过文件拷贝,脚本上传,镜像转移放去服务器.我使用得是fabric脚本远程同步,其中脚本可以选择将gitlab的项目放到服务器,或者将本地压缩后传送到服务…
第一步先解决uwsgi与django的桥接.解决在没有nginx的情况下,如何使用uwsgi+DJANGO来实现一个简单的WEB服务器. 第二步解决uwsgi与Nginx的桥接.通过nginx与uwsgi的桥接,打通nginx与django的连通,从而比较完美的实现django的部署. 本文将分成五步来详细阐述uwsgi+django的部署方式.nginx+uwsgi+django的部署将在下一篇 文章中阐述. 本文大纲: 环境介绍 安装uwsgi 测试uwsgi 配置django 连接djan…
项目依赖: Linux Centos7 (阿里云轻量级服务器) + Python 3.7.2 + Django 2.2.1 + restframework 3.9.4 + mysql 5.7 1 安装 python3 到 Centos7, 先安装软件管理包和可能使用的依赖 yum -y groupinstall "Development tools" yum install openssl-devel bzip2-devel expat-devel gdbm-devel readlin…
问题描述:最近有了一台 Ubuntu 的服务器,然后准备部署个项目,结果没想到部署的过程跟用 Centos 的时候还有点不一样,最后一步我是卡在了 uwsgi 这里,访问一直502,且可以访问项目的静态文件,就是无法访问项目的接口. 先感谢这位老哥提供的解决方案:https://blog.csdn.net/qq_41433183/article/details/90733244 一.我这里的方式是,先项目根目录放了一个 uwsgi.ini 的配置文件,参数如下: [uwsgi] #使用HTTP访…
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改luffy/settings/prop.py中以下几项 (1) allow_hosts ALLOWED_HOSTS = [ 'api.youdomain.com', ] (2) 跨域白名单 CORS_ORIGIN_WHITELIST = ( # 前端域名 "www.youdomain.com", # 后端api接口域名 "api.youdomain.com" ) (3) 支付宝电…
之前写了把Django部署到XAMPP上,但是有bug,翻apache日志的时候发现会无法import _ssl,然后我就怒而直接装apache2了 配置方法大约和这篇文章差不多 安装必要的包 sudo apt-get update sudo apt-get install python-pip apache2 libapache2-mod-wsgi 然后还要保证WSGI模块在运行: sudo a2enmod wsgi 配置Python虚拟环境 为了不要修改系统python,事实上我怀疑系统py…
上一篇文章简单说了怎么把django的项目部署到Apache上. 现在想弄个二级域名,也就是我原来有个域名 www.mysite.com,现在我想弄个 bbs.mysite.com ,该怎么做呢. 要用到 Apache 的虚拟主机配置. 其实Apache的虚拟主机之前也配置过,有时有效,有时又不好用,也不知道个所以然.这次我详细的写一下每一步都要怎么做: 第一步:开启Apache虚拟主机功能: Apache的虚拟主机功能,默认是关闭的.如果要使用这个功能,就要开启虚拟主机功能. 如同上文提到的A…