" name="sm-site-verification"/>
侧边栏壁纸
博主头像
PySuper博主等级

千里之行,始于足下

  • 累计撰写 203 篇文章
  • 累计创建 14 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Docker 部署 DjangoWeb

PySuper
2020-05-21 / 0 评论 / 0 点赞 / 21 阅读 / 4299 字
温馨提示:
所有牛逼的人都有一段苦逼的岁月。 但是你只要像SB一样去坚持,终将牛逼!!! ✊✊✊

说实话这个代码块,看着就~~,但是考虑到python的代码也比较多,就没有用亮色的显示,看客复制一下就OK了!

准备容器

# 下载一个运行的镜像
docekr pull image_name

# 创建一个映射端口的容器
docker run --name zheng -it -d -p 127.0.0.1:8899:89 python /bin/bash

# 进入容器
docker exec -it zheng /bin/bash 

使用容器

sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y install vim
sudo apt-get -y install python3-pip
pip3 install uwsgi
apt install nginx

# 虚拟环境
pip3 install virtualenv
pip3 install virtualenvwrapper
mkdir $HOME/.virtualenvs
sudo vim ~/.bashrc

# 加入这四段代码
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

source ~/.bashrc

基本配置

pip安装包

pip install django==1.11
pip install pymysql
pip install djangorestframework
pip install django-cors-headers
pip install https://github.com/sshwsfc/xadmin/tarball/master
pip install requests
pip install djangorestframework-jwt
pip install h5py
pip install pandas
pip install numpy
pip install librosa
pip install python-pptx
apt-get install libsndfile1
pip install statsmodels
pip install matplotlib
pip install django-redis

BUG

!!! Python Home is not a directory: /root/.virtualenvs/!!!
Set PythonHome to /root/.virtualenvs/Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

# 解决:重新安装虚拟环境
'%s=%s' % (k, v) for k, v in params.items(),
    ^
SyntaxError: Generator expression must be parenthesized

# 解决:删除`,`

MySQL(其他容器)

# 使用mycli连接远程数据库
mycli -uroot -hlocalhostIP -P13306 -p123456

# 在django的setting.py文件中修改MySQL的配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '本地IP地址',  # 数据库主机
        'PORT': 13306,  # 数据库端口
        'USER': 'root',  # 数据库用户名
        'PASSWORD': '123456',  # 数据库用户密码
        'NAME': 'database_name',  # 43新建数据库==> 使用xadmin
        'OPTIONS': {
            'read_default_file': os.path.dirname(os.path.abspath(__file__)) + '/my.cnf',
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'",
        },
    }
}

Nginx(其他容器)

我们使用Nginx部署的时候,直接下载一个镜像,修改Nginx中的文件指向就可以了

cd /etc/nginx
vim conf.d/site.conf

# site文件
server {
    listen 80;
    charset utf-8;
    client_max_body_size 75M;
    location /front_end {
        alias /home/zheng/Documents/Project/Work/INFO/front_end/;
    }
    location / {
        uwsgi_pass 0.0.0.0:8000;
        include /etc/nginx/uwsgi_params;
    }
}

vim nginx.conf

# 修改nginx默认配置文件
http {
    ... ...
    include /etc/nginx/conf.d/site.conf;
}

nginx -s reload # --> signal process started
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区