django+uwsgi+nginx+sqlite3部署+screen
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的更多相关文章
- 阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略
centos7+nginx+python3+django+uwsgi配置Django 项目部署 1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,t ...
- Django部署,Django+uWSGI+nginx+Centos部署
说明:系统是在windows上开发的,使用django1.11.4+python3.6.3开发,需要部署在centos6.4服务器上. 第一步:在Centos6.4上安装Python3.6.2 安装请 ...
- Django+uwsgi+Nginx安装部署
安装 安装Nginx Nginx是最流行的高性能HTTP服务器. 安装pcre: wget https://sourceforge.net/projects/pcre/files/pcre/8.37/ ...
- django+uwsgi+nginx的部署
1.下载与项目对应的django版本pip3 install django==1.11.16 -i https://pypi.douban.com/simple/2.用django内置的wsgi模块测 ...
- Django+Uwsgi+Nginx项目部署文档
一.基本环境搭建 1)查看服务器 [root@Myjumpserver ~]# cat /etc/sysconfig/selinux SELINUX=disabled SELINUXTYPE=targ ...
- docker简单使用+django+uwsgi+nginx项目部署
使用docker 搭建 centos7 环境: 主机环境:windows 10专业版 一.安装docker Hub.docker.com官网下载 docker for windows 安装完成后,任务 ...
- 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 ...
- django+uwsgi+nginx部署(非常详细)
django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...
- CentOS7.4部署Python3+Django+uWSGI+Nginx
CentOS7.4部署Python3+Django+uWSGI+Nginx http://www.showerlee.com/archives/2590
随机推荐
- Qt 中的事件处理(二)
1. 回顾事件传递的过程 ①源头:操作系统 操作系统检测到用户的动作时,就会产生一个系统消息,系统消息就会被发送到正在运行的Qt应用程序中, ②应用程序收到系统消息后, 他会将系统消息翻译成对应的 ...
- RedHat6.5安装Spark集群
版本号: RedHat6.5 RHEL 6.5系统安装配置图解教程(rhel-server-6.5) JDK1.8 http://blog.csdn.net/chongxin1/arti ...
- mig_7series DDR控制器的配置
mig_7series DDR控制器的配置
- 弄清AXI总线上每一个信号的含义
弄清AXI总线上每一个信号的含义 1.信息来源 2.AXI总线的端口描述 时钟与复位端口 AXI M总线--写操作--地址通道的相关信号 AXI M总线--读操作--地址通道的相关信号 AXI M总线 ...
- msp430学习笔记-DAC12
MSP430F169 的DAC12 模块有2 个DAC 通道,并且可以用DAC12GRP控制位将多个DAC12通道组合起来,实现同步更新,硬件还能确保同步更新独立于任何中断或者NMI事件. DAC12 ...
- Windows Remote Shell(WinRM)使用介绍
最近,为了实验我们安装了台Windows Server Core的服务器,没有图形界面的系统总会给人一种很完全的感觉,我们本着安全到底的想法,使用了Windows Remote Shell 的管理方式 ...
- php 二维数组按照指定字段进行排序
$allItem = [ ["id"=>10,"updated_at"=>"2018-11-01"], ["id&qu ...
- CAD求交点函数
public void IntersectWith( Entity entityPointer, Intersect intersectType, Point3dCollection points, ...
- 无后缀名伪静态路径在IIS7.0的网站提示 "404 - File or directory not found"
新配置服务器(windows server 2008,not sp1) 经测试情况如下: ①无后缀名伪静态路径行在IIS7.0的网站提示 ”404 - File or directory not fo ...
- draftsight的热补丁
http://www.piaodown.com/soft/134200.htm DraftSight HotFix 2017R3热修复补丁下载.DraftSight,一个非常好用的2D制图软件,由开发 ...