当前位置: 代码迷 >> 综合 >> django入门到精通11 windows10 + centos + django2 + celery4 开发环境的搭建
  详细解决方案

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

热度:0   发布时间:2023-12-12 15:42:41.0

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.4pip 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.4pip install pymysql
pip install requests
pip install redis==3.4.1

备注:
因为使用了mysql和redis 数据库,可以和windows共用
修改redis 的配置:
redis.windows-service.conf
修改绑定并开放端口即可
bind 0.0.0.0

  相关解决方案