django入门到精通11 windows10 + centos + django2 + celery4 开发环境的搭建

windows10 + centos + django2 + celery4 开发环境的搭建


在windows10环境中搭建了 django2.0.4 + celery4.4.2 的环境,经过调试可以通过命令调起 celery 的队列 celery worker -A config -l info -P eventlet,发现在使用其他功能时会出现各种莫名其妙的问题
而程序跑在centos环境中是没有问题的

习惯了在windows中使用pycharm开发程序,如果我们把在windows中开发的程序能运行在centos系统中,这样就可以加快开发和测试的效率,避免很多开源软件不能在 windows 中运行的问题了


环境:windows 和 centos中都要安装 python3.7.9

需要安装的第三方包:保持windows和linux版本一致

pip install celery==4.4.2
pip install eventlet==0.25.2
pip install Django==2.0.4

pip install pymysql
pip install requests
pip install redis==3.4.1

整体思路是:
在windows中搭建好相关的开发环境:django + celery 并使用 cygwin 这个工具启用rsync服务端 --> 然后在 linux 中启用计划任务定时拉取windows中的python代码,也可以手动执行代码,一键同步程序到linux

1.windows中安装python3.7.9和虚拟环境,如果只是使用 django 功能可以在windows中跑起来,如果是 celery 等一些不常用的开源工具就有兼容问题了

pip install virtualenv
pip install virtualenvwrapper-win

# 创建虚拟环境 python379_django2

mkvirtualenv python379_django2

2.安装rsync服务

a.下载并安装cygwin 软件:https://cygwin.com/setup-x86_64.exe
然后通过 cygwin 软件安装 rsync同步和cygrunsrv服务管理 这两个插件,具体安装详情可以参考 https://www.cnblogs.com/reblue520/p/13691170.html


b.将 rsync 注册为 windows10 的系统服务
# cygwin 软件安装在了 d:/cygwin64 目录下,大家可以根据情况修改

cygrunsrv -I "Rsync" -p "d:\\cygwin64\\bin\\rsync.exe" -a "--config=d:\\cygwin64\\etc\\rsyncd.conf --daemon --no-detach" -f "Rsync daemon service" --user administrator --passwd password --stdout "d:\\cygwin64\\rsyncd-stdin.log"  --stderr "d:\\cygwin64\\rsyncd-stderr.log" -y "tcpip" -e "CYGWIN=nontsec binmode" -c "d:\\cygwin64" -o

rsync 的主配置文件:D:\cygwin64\etc\rsyncd.conf

复制代码
use chroot = yes
max connections = 4
log file = /var/log/rsyncd.log

[windows_video]
path = /cygdrive/d/python/django_imooc_xiaobai/muke_vedio_test/video
read only = false
transfer logging = yes
secrets file = /etc/rsyncd.secrets
复制代码

D:\cygwin64/etc/rsyncd.secrets 密码:

apache:pass

3.在centos系统中启用计划任务拉取windows代码的脚本

# 计划任务

# every 10 minutes rsync win to local 
*/10 * * * *  /bin/bash /usr/local/worksh/win_vedio_tolocal.sh

# 拉取windows --> centos 脚本

# cat  /usr/local/worksh/win_vedio_tolocal.sh
#!/bin/bash
source /etc/profile
# windows的ip地址,从windows主动拉取代码到本机
src_ip="10.9.4.199"

# 拉取windows的文件到centos中
/usr/local/rsync/bin/rsync -avzP --delete --exclude="*.pyc" --password-file=/data/www/.rsync/rsyncd.win.pass apache@${src_ip}::windows_video /data/www/vhosts/video/

# 修改密码权限  /data/www/.rsync/rsyncd.win.pass
#
# cat /data/www/.rsync/rsyncd.win.pass
pass

4.centos中 安装 python3.7.7 + django2 + celery 环境

安装python3.7.7可以参考:https://www.cnblogs.com/reblue520/p/12489897.html

# 安装虚拟工具
pip3 install virtualenvwrapper

# 创建虚拟环境
mkvirtualenv python37_django2 --python=python3

新建存放环境目录
mkdir -p ~/Envs

配置virtualenvwrapper环境

# vim /etc/profile

# 设置virtualenvwrapper
export WORKON_HOME=~/Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3
# 打开终端自动启用
source /usr/local/python3/bin/virtualenvwrapper.sh

# 列出存在的虚拟环境
# lsvirtualenv

# 进入虚拟环境
# workon python37_django2

# 安装依赖

pip install celery==4.4.2
pip install eventlet==0.25.2
pip install Django==2.0.4

pip install pymysql
pip install requests
pip install redis==3.4.1

备注:
因为使用了mysql和redis 数据库,可以和windows共用

修改redis 的配置:
redis.windows-service.conf

修改绑定并开放端口即可
bind 0.0.0.0

posted @   reblue520  阅读(109)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2018-02-24 通过flask实现web页面简单的增删改查
点击右上角即可分享
微信分享提示