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. Linux系统下启动tomcat报错【java.util.prefs.BackingStoreException: Couldn't get file lock】的解决方法

    Linux环境下,启动tomcat报出如题的警告信息,虽然对系统正常使用没有多大影响,但是会导致tomcat的日志垃圾信息很多,而且看起来很不爽... 具体的警告信息如下: Jan , :: PM j ...

  2. C#实现Google S2算法

    S2其实是来自几何数学中的一个数学符号 S²,它表示的是单位球.S2 这个库其实是被设计用来解决球面上各种几何问题的.值得提的一点是,除去 golang 官方 repo 里面的 geo/s2 完成度目 ...

  3. redmine一键安装(项目管理、Bug管理、任务跟踪、代码管理、日报等等)

    1,下载一键安装包(64位系统) https://bitnami.com/stack/redmine 2,帮助文档(安装引导) http://www.360doc.com/content/15/033 ...

  4. Combobox中禁止鼠标中键滚动list列表

    //第1种方法 procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; Mo ...

  5. CEF中弹出窗口的处理

    CEF开发如果不想在弹出窗口中打开网页,即想要在当前窗体加载目标Url, 就需要重写OnBeforePopup,它是属于CefLifeSpanHandler类中的. /*--cef(optional_ ...

  6. C++进阶--派生类的析构(虚析构函数,shared_ptr)

    //############################################################################ /* 在多态虚基类中声明一个虚析构函数 * ...

  7. 【剑指offer】斐波那契数列非递归求解第N项

    public class Solution { public int Fibonacci(int n) { //错误输入处理 if(n<0) return -1; int pre = 1; in ...

  8. windows下python2和python3同时安装ipython

    1.ipython简介: IPython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许 ...

  9. Memcached在.NET应用程序中的使用

    在应用程序运行的过程中总会有一些经常需要访问并且变化不频繁的数据,如果每次获取这些数据都需要从数据库或者外部文件系统中去读取,性能肯定会受 到影响,所以通常的做法就是将这部分数据缓存起来,只要数据没有 ...

  10. Flink 集群安装配置

    以下操作均在主节点进行 1.环境变量 添加FLINK_HOME以及path的内容: export FLINK_HOME=/bigdata/flink- export PATH=$PATH:$JAVA_ ...