django

    科技2022-07-16  119

    django

    1.服务器环境

    2.服务器python安装环境

    yum install gcc yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

    3.服务器安装python

    # 下载python3.8.6 wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz # 解压 cd /home/python tar -zxvf Python-3.8.6.tgz # 指定安装目录/home/python/Python-3.8.6 需要先cd ./configure --prefix=/home/python/Python-3.8.6 # 安装python,支持多版本 # make 源代码包进行编译 # make install 安装 make uninstall 卸载 make && make install

    4.创建虚拟环境

    cd /home/python/Python-3.8.6/bin # 安装python包virtualenv ./pip3.8 install virtualenv # 指定python版本,创建虚拟环境 ./virtualenv -p /home/python/Python-3.8.6/bin/python3.8 test_虚拟环境名 # 切换虚拟环境 crm_test cd /home/python/Python-3.8.6/bin/test_虚拟环境名/bin # 激活虚拟环境 source activate # 退出虚拟环境 deactivate

    5.运行项目准备

    # MariaDB创建数据库 mysql -uroot -p create database test charset='utf8mb4'; # 开启redis,查看配置文件/etc/redis/redis.conf 可开启daemonize no redis-server

    6.安装python包

    pip install -r /home/python/crm_django/requirements.txt # 升级python包 pip install pymsyql==2.0.* 或 pip install pymysql -U # 升级pip pip install --upgrade pip # 离线安装python包源文件,指定安装目录--target pip install *.whl --target=/home/user/...
    6.1 pip install报错1:ModuleNotFoundError: No module named ‘_ctypes’
    sudo yum install libffi-devel # 重新安装python(不会覆盖) ./configure --prefix=/home/python/Python-3.8.6 make&make install

    7.运行项目

    7.1 解压代码包

    # CenterOS安装zip(root) yum install -y unzip zip # 解压代码包 unzip test_*.zip
    7.2 迁移,建表
    # cd到manage.py文件目录 python manage.py makemigrations python manage.py migrate
    7.3 本地运行(debug=False不会django不会加载静态文件)
    7.3.1 命令行启动
    # 更改配置文件setting.py参数(数据库参数,静态参数,debug=True等) # cd 到manage.py本地目录 python manage.py runserver 127.0.0.1:8000
    7.3.2 pycharm启动(初次右键Run ‘manage’)

    7.4 migrate报错: errno: 150 “Foreign key constraint is incorrectly formed”)’
    python manage.py makemigrations admin_应用名 python manage.py makemigrations python manage.py migrate admin_应用名 python manage.py migrate # 若提示某个表已存在,使用 python manage.py migrate --fake python manage.py migrate
    7.5 django版本兼容报错:SyntaxError: Generator expression must be parenthesized

    8. 运行celery

    8.1 启动celery 任务(ctrl + c结束停止)
    # cd到celery任务目录celery_task cd ~/celery_task celery -A celery_task.main worker -l INFO -P eventlet 或 celery -A celery_task.main worker -l INFO -P eventlet --logfile = celery.log --pidfile = celerypid # -A 指向celery应用启动(主函数)main # worker:指要启动的任务 -l 指异常类型 eventlet: python处理绿色线程的包(windows使用) # --logfile:指定log文件 --pidfile:指定进程pid存储文件

    正常启动:

    redis数据库未开启:后台开启redis数据库redis-server

    8.2 后台运行celery任务(ctrl + c继续运行)
    setsid celery -A celery_task.main worker -l INFO setsid celery -A celery_task.main beat -l INFO # 后台守护进程开启celery celery multi start w1 -A celery_task.main -l INFO --logfile = celery.log --pidfile = celerypid # 后台执行(触发任务和定时任务一条命令) nohub celery -A celery_task.main worker -l INFO -B >dev/null 2>&1
    8.3 celery报错:django.core.cache.backends.base.InvalidCacheBackendError: Could not find backend ‘django_redis.cache.RedisCache’: cannot import name ‘six’
    # celery django redis兼容问题 pip install django==2.*

    InvalidCacheBackendError: Could not find backend ‘django_redis.cache.RedisCache’: cannot import name ‘six’

    # celery django redis兼容问题 pip install django==2.*

    预计2021/1/31前完成_____

    9. nginx+mysql

    9.1 安装ngnix
    9.2 项目配置ngnix
    9.3 安装mysql
    9.1 项目配置mysql

    10. uwsgi

    10.1 配置uwsgi
    10.2 uwsgi启动项目
    Processed: 0.010, SQL: 8