博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django+uwsgi+nginx+sqlite3部署+screen
阅读量:5111 次
发布时间:2019-06-13

本文共 2937 字,大约阅读时间需要 9 分钟。

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

sudo find / -name filename

 

一:项目(github) 

 ssh root@server ip               #  连接你的服务器

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

安装virtualenv及配置环境变量     详细见:

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配置 upstreamsocket          = 127.0.0.1:9000socket          = 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    详情:

配置环境变量,编辑/etc/profile 增加如下内容:NGINX_HOME= /usr/local/nginxexport PATH=$PATH:$NGINX_HOME/binsource /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...

posted on
2018-09-11 09:14 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/tangpg/p/9625567.html

你可能感兴趣的文章
urllib2异常处理(七)
查看>>
POJ 3259 Wormholes (判负环)
查看>>
Python静态网页爬取:批量获取高清壁纸
查看>>
JavaWeb——相对路径和绝对路径
查看>>
java冒泡排序及优化
查看>>
暑假集训-8.10总结
查看>>
动态计算UITableViewCell高度详解
查看>>
文档坐标及元素坐标等
查看>>
微服务-springboot+websocket在线聊天室
查看>>
groovy http
查看>>
用websocket实现后台推送消息
查看>>
javaWeb(4)----Filter,Listener
查看>>
Note for Reidentification by Relative Distance Comparison
查看>>
linux安装时提示发生不正常错误问题
查看>>
查看MySQL路径
查看>>
【Android开发】富文本
查看>>
win10 ping不通所有地址
查看>>
图解细说http和https——【北杨】
查看>>
雅可比迭代法
查看>>
域控服务器安装
查看>>