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
随机推荐
- ML: 聚类算法-K均值聚类
基于划分方法聚类算法R包: K-均值聚类(K-means) stats::kmeans().fpc::kmeansruns() K-中心点聚类(K-Medoids) ...
- innobackupex per table
#innobackupex export tableinnobackupex --defaults-file=/etc/my.cnf --sock=/data/3306/mysql_3306.sock ...
- C# 中HttpClient的使用中同步异步问题
项目中遇到了这样的问题: 第一次 :HttpResponseMessage response = await httpClient.PostAsync(url, null);发送了一个post异步请求 ...
- 通过Word 2016 发布的内容
从Word 2007 开始就支持的功能的,第一次使用. 在cnBlogs.com的个人设置中允许使用客户端发布:https://i.cnblogs.com/Configure.aspx Word中配置 ...
- 黄聪:PHP JSON_ENCODE 不转义中文汉字的方法
ios程序中不识别读取到的JSON数据中 \u开头的数据. PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据. 网上很多,但是其实都是错误的,正确的方法是在json_enc ...
- bzoj2909: Bipartite Numbers
Description Bipartite Number是这样的一个正整数,他只能由两段相同的数组成,如44444411,10000000, 5555556,41,而4444114,44444则不是. ...
- bzoj 4811: [Ynoi2017]由乃的OJ
树链剖分,用zkw线段树维护每条链两个方向上对每一位的变换情况,由于位数较少,可以用两个unsigned long long表示 #include<cstdio> typedef unsi ...
- ObjectId与DateTime的互相转换
s会用mongdb中经常会需要用到通过“_id”去检查数据,筛选数据,但是想根据具体时间的id每次都需要做一下转换,这样搜索起来就很简单了. ObjectId转DateTime /// <sum ...
- firefox驱动的下载地址
https://www.seleniumhq.org/download/
- 怎么把PNG图的位深度24位变成32位
在PS里把图片的变成层模式,不透明度设置成99%,在保存成PNG