django+uwsgi+nginx+sqlite3部署

一:项目(github)

ssh [email protected] ip               #  连接你的服务器

git clone -b https://mygithub.com     #  -b 指定分支

安装virtualenv及配置环境变量     详细见:https://www.cnblogs.com/tangpg/p/8458233.html

mkvirtualenv envname -p python3 # 创建项目使用的python版本的虚拟环境,创建成功默认回进入该虚拟环境
pip install -r requirements.txt  # 安装项目依赖
python manage.py runserver  # 保证项目能够运行

note:!!!

使用数据库为sqlite3可能会出现如下错误:
django.db.utils.NotSupportedError: URIs not supported
应该修改根据错误提示的路径下的base.py文件
if self.features.can_share_in_memory_db:
            kwargs.update({‘uri‘: True})  # 将此处的True改为False
        return kwargs

二:配置uwsgi

pip install uwsgi   # 安装

[uwsgi]
# 取决于nginx配置 upstream
socket          = 127.0.0.1:9000
socket          = 127.0.0.1:9001
# 项目根目录
chdir           = /home/jason/projectName# Django的wsgi文件
module       = projectName.wsgi
# Python虚拟环境的路径
home            = /home/user/.virtualenvs/envname/bin/python
# 进程相关的设置
# 主进程
master          = true
# 最大数量的工作进程
processes       = 10
# 设置socket的权限
chmod-socket    = 666
# 退出的时候是否清理环境
vacuum          = true
# 静态文件 绝对地址
static-map = /static=/home/user/projectName/static

三:nginx 配置

安装nginx    详情:https://www.cnblogs.com/tangpg/p/8962773.html

mkdir conf.d  # 在nginx.conf目录下创建文件
cd conf.d  # 进入
touch project.conf  # 创建nginx配置文件,配置此项目的配置信息在nginx.conf中的http块的最后面, include usr/local/nginx/conf/conf.d/project.conf  # 将该配置文件加载到nginx.conf配置中nginx -s reload  # 重启nginx服务
upstream anyname {
    server 127.0.0.1:9000;  # 两台服务器 与 wsgi配置相关
    server 127.0.0.1:9001;
}

# 配置服务器
server {
    # 监听的端口号,通过服务器ip监听的端口
    listen      80;
    # 域名
    server_name your server ip;
    charset     utf-8;

    # 最大的文件上传尺寸
    client_max_body_size 75M;

    # 静态文件访问的url, nginx再次加载静态文件
    location /static {
        # 静态文件地址
        alias /home/user/projectName/static;
    }

    # 最后,发送所有非静态文件请求到django服务器
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        if (!-f $request_filename) {
            proxy_pass http://anyname;  # upstream anyname
            break;
        }
    }
}

原文地址:https://www.cnblogs.com/tangpg/p/9625567.html

时间: 2024-10-12 09:53:36

django+uwsgi+nginx+sqlite3部署的相关文章

阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略

centos7+nginx+python3+django+uwsgi配置Django 项目部署 1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,tcp自定义就行,mysql(3306),nginx(8000以上都行).(都切换到root用户操作) 2.安装python3 3.安装nginx 4.安装mysql(这一步如果暂时用不上数据库也可以不操作) 5.确定2,3两步安装成功了,接下来就用pip3 安装django 和uwsgi, 在进行下一步

Django+uwsgi+Nginx安装部署

安装 安装Nginx Nginx是最流行的高性能HTTP服务器. wget http://nginx.org/download/nginx-1.10.1.tar.gz tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module make && make install 安装MySQL-python MySQL-python

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

一.如何在生产上部署Django? Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 二.uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分. WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask

django+uwsgi+nginx部署(非常详细)

django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: 1 Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-130-generic x86_64) 3.下载uwsgi以及nginx 1 apt-get install uwsgi 2 apt-get install nginx (注:如果下载异常出现权限问题,在命令前添加sudo) 4.创建Django项目 例如:项目名为mysite

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

使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署 准备条件: 1.确保有一个能够用runserver正常启动的django项目 2.项目已上传到linux 3.linux上已部署好python环境,且已安装好项目所需的模块 安装uwsgi uwsgi是python的一个模块,安装u

Django+uWsgi+nginx部署

一.环境 操作系统:Ubuntu 14.04 64位 python:2.7.6 Django:1.8.2 项目源码:https://github.com/youchuancong/django.git 部署方式:Django+uWsgi+nginx 二.部署 1.Django安装 官网:https://www.djangoproject.com/ 安装 wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.2.tar.gz ta

Django+uWSGI+Nginx 部署网站

Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject.com/en/1.11/ref/contrib/staticfiles/ 在myproject/settings.py中设置静态文件STATIC_URL和STATIC_ROOT设置: 如: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE

[linux]centos7.4部署django+Uwsgi+Nginx

前言:我已经写了几个接口用来部署在服务器上的,首先选择django+Uwsgi+Nginx因为配置简单,比较符合python的简单操作功能强大的特点 然后对于django的一些版本在之前的文章写了 参考:https://www.cnblogs.com/Jack-cx/p/9351633.html  根据版本,服务器pip3 install xxx 安装下 我的django项目大概结构: TestWebApi ----TestWebApi ----Apiso(创建的应用) ----manage.p

用Docker部署Django+uWSGI+Nginx

用Docker部署Django+uWSGI+Nginx 大致步骤如下: 创建Centos容器 安装Python及pip 安装MySQL 使Django连接到MySQL 运行uWSGI服务器 运行Nginx服务器 ? ? 创建Centos容器 安装docker软件 yum install docker 创建一个centos容器 docker run -d --name deploy1 --network host centos tail -f /dev/null -d:让它在后台运行. –name