note:可通过该命令查找文件未知

sudo find / -name filename

一:项目(github)

ssh root@server 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.ini 名字自取

[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 = 1 # 感觉跟服务器cpu有关,反正我单核设置成2就会导致浏览特别慢
# 设置socket的权限
chmod-socket = 666
# 退出的时候是否清理环境
vacuum = true
# 静态文件 绝对地址
static-map = /static=/home/user/projectName/static

三:nginx 配置

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

配置环境变量,编辑/etc/profile 增加如下内容:

NGINX_HOME= /usr/local/nginx

export PATH=$PATH:$NGINX_HOME/bin

source /etc/profile   # 重启配置信息
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服务 如果没有权限,切换为root用户重启
upstream anyname {
server 127.0.0.1:9000 weight=3; # 两台服务器 与 wsgi配置相关 weight=3, 9000端口处理3个请求,9001处理第四个请求。以此循环
server 127.0.0.1:9001;
} # 配置服务器
server {
# 监听的端口号,通过服务器ip监听的端口
listen 80;
# 域名 or ip
server_name your server ip;
charset utf-8; # 最大的文件上传尺寸
client_max_body_size 75M; # 静态文件访问的url, nginx再次加载静态文件
location /static {
# 静态文件地址
alias /home/user/projectName/static;
} # 最后,发送所有非静态文件请求到django服务器
location / {
include uwsgi_params;
# uwsgi_pass 127.0.0.1:9000; # uwsgi.ini 的socket参数相同 or
uwsgi_pass anyname; # upstream anyname
     uwsgi_param UWSGI_SCRIPT projectName.wsgi; # wsgi.py文件
     uwsgi_param UWSGI_CHDIR /home/user/projectName; # 指定项目目录
     index index.html index.html;
     client_max_body_size 35m;
}
}

四:启动uwsgi

uwsgi --ini uwsgi.ini

就可以通过 服务器域名或ip访问了

但是这样会有个问题,断开ssh连接,改进程也就被kill了。为此,我们可以使用screen

五:  screen

yum install screen

出现该错误:

Error downloading packages: ...

执行 : yum clean all, 再重yum ...  我就ok了。

常用命令:

screen -S qugemingzi  # 创建会话窗口,并取名
Ctrl+a+d # 暂时退出窗口
exit # 结束会话
screen -r qugemingzi # -r + name回到之前的窗口 查看会话列表: screen -ls
恢复之前离开的会话:screen -r 会话名或进程号
清除dead状态的会话:screen -wipe
启动一个开始就是Detached状态的会话:screen -dmS 名字 命令

1.创建一个会话窗口:screen -S name

2.在次窗口中运行第四不命令: uwsgi --ini uwsgi.ini

3. 将该会话挂起: Ctrl + a + d

这样断开ssh 连接,也不会中断进程了。。。

perfect...

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

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

    centos7+nginx+python3+django+uwsgi配置Django 项目部署   1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,t ...

  2. Django部署,Django+uWSGI+nginx+Centos部署

    说明:系统是在windows上开发的,使用django1.11.4+python3.6.3开发,需要部署在centos6.4服务器上. 第一步:在Centos6.4上安装Python3.6.2 安装请 ...

  3. Django+uwsgi+Nginx安装部署

    安装 安装Nginx Nginx是最流行的高性能HTTP服务器. 安装pcre: wget https://sourceforge.net/projects/pcre/files/pcre/8.37/ ...

  4. django+uwsgi+nginx的部署

    1.下载与项目对应的django版本pip3 install django==1.11.16 -i https://pypi.douban.com/simple/2.用django内置的wsgi模块测 ...

  5. Django+Uwsgi+Nginx项目部署文档

    一.基本环境搭建 1)查看服务器 [root@Myjumpserver ~]# cat /etc/sysconfig/selinux SELINUX=disabled SELINUXTYPE=targ ...

  6. docker简单使用+django+uwsgi+nginx项目部署

    使用docker 搭建 centos7 环境: 主机环境:windows 10专业版 一.安装docker Hub.docker.com官网下载 docker for windows 安装完成后,任务 ...

  7. centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)

     1.yum安装nginx 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarch/RPMS/ngin ...

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

    django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...

  9. CentOS7.4部署Python3+Django+uWSGI+Nginx

    CentOS7.4部署Python3+Django+uWSGI+Nginx http://www.showerlee.com/archives/2590

随机推荐

  1. new和delete重载

    1. 简介 new/delete关键字,其本质是预定义的操作符,因此支持重载 默认new和delete的行为: new:    ①获取内存空间(默认为堆空间):②在获取的空间中调用构造函数创建对象 d ...

  2. Visual Studio 2008(C#)XML注释提取成帮助文档的方法

    Visual Studio 2008(C#)XML注释提取成帮助文档的方法     1.给方法和类添加XML注释 可以手动添加,具体规则可以看MSDN:http://msdn.microsoft.co ...

  3. 自定义自己的jQury插件

    对于一个商业插件来说,自定义插件的样式是必不可少的.我们可以通过我们自己输入不同的样式,来改变开发者的默认样式.比如说最常见的 width.height.url.color等等.要是没有这些自定义的东 ...

  4. WCF类型共享技巧【转载】

    调用过WCF服务的同学可能都会遇到这样的问题,同一个实体类型,不同的服务Visual Studio生成了不同的版本,例如Service1.User和Service2.User,对于C#来说,这是两个不 ...

  5. 苹果cms测试

    配置好权限,搞了半天,一直以为是容器镜像的问题 sudo chgrp -hR www-data maccms10 启动容器 docker run --rm -d --network=isolated_ ...

  6. JTextArea利用JScrollpane增加文本域滚轮(滚动条)

    JTextArea加滚轮的几种方法 JTextArea txaDisplay = new JTextArea(); JScrollPane scroll = new JScrollPane(txaDi ...

  7. 【mysql】索引优化记录

    基础知识 Innodb存储引擎 支持行锁 支持事务: Myisam存储引擎 只支持表锁: 不支持事务: 常见索引列表 独立的列 前缀索引(索引选择性) 多列索引(并不是多个单列索引,索引顺序很重要) ...

  8. centos7 安装 codeblock(rpm)

    --------------------- 1.yum -y install epel-release 2.yum clean all && yum makecache 3.yum - ...

  9. Redis的5中数据类型

    Radis的作用相信既然然就就知道她的作用,但是对于刚开始对radis学习的初学者来说,理解起来比较费劲.这里就从开始一步步认识radis 首先要知道radis是存在内存中的数据,所以读取速度回更改, ...

  10. load() 方法

    jQuery ajax - load() 方法 $("button").click(function(){ $("div").load('demo_ajax_l ...