美文网首页
nginx-uwsgi-django-mysql的docker部

nginx-uwsgi-django-mysql的docker部

作者: 王大吉 | 来源:发表于2018-03-05 23:32 被阅读0次

    用Django写了个小网站,准备往云主机上挂起来,用docker部署方便直接
    架构上 准备 nginx一个dokcer,uwsgi和django一个docker,mysql一个docker。三个docker组网访问
    先pull下来三个docker的官方镜像
    docker pull nginx
    docker pull mysql
    docker pull ubuntu:14.4
    pull下来如图

    image.png
    • 创建一个docker网络
      docker network create -d bridge my-net
    • run ubunru 连接到my-net网络上 取名为magellan
      docker run -itd --name=magellan --network my-net -p 8080:80 ubuntu:14.04 /bin/bash
    • run mysql 挂载主机的/root/docker_mysql_data卷为mysql的数据卷
      docker run -d --name=my-sql --network my-net -p 33060:3306 -v /root/docker_mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password mysql:latest
    • 进入magellan 更换apt源
      对于ubuntu14.04
      deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
      deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
      deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
      deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
      deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse 
      deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse 
      deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse 
      deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse 
      deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse 
      deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
      
      替换/etc/apt/sources.list
      apt-get update
      apt-get install python3-pip
      apt-get install wget -y && apt-get install unzip -y
      接下来下载好Django 安装好模块,配置好数据库,就可以run起来了
      image.png
      数据库的host 就是刚才配置的my-sql
    • wsgi 和django的连接
      • pip3 install uwsgi
      • Django自带了一个wsig.py, 直接运行uwsgi --http :8000 --wsgi-file wsgi.py。报错
        ImportError: No module named 'magellan' 将wsgi.py换到项目下
    • nginx
      • dokcer run --name my-nginx --network my-net -v /root/www/nginx.conf:/etc/nginx/conf.d/magellan.conf -itd -p 80:80 nginx:latest /bin/bash
      • 直接访问ip nginx 表示启动成功Welcome to nginx!
      • 配置nginx文件
    docker run -d --name=my-sql --network my-net -p 33060:3306 -v /usr/local/magellan/mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=4F1TaPHo6Khn988U mysql:latest
    
    docker run -itd --name=my-magellan --dns 114.114.114.114 --network my-net -p 8080:8080 -v /usr/local/magellan/static:/usr/local/magellan/static -v /usr/local/magellan/media:/usr/local/magellan/media ubuntu:14.04
    
    docker run -itd --name=my-nginx --dns 114.114.114.114 --network my-net -p 80:80 -v /usr/local/static:/usr/local/magellan/static -v /usr/local/media:/usr/local/magellan/media nginx:latest
    

    superviso 守护 uwsgi

    apt-get update
    apt-get install curl
    apt-get install vim
    apt-get install python3
    apt-get install python3-pip

    pip3 install uwsgi

    soc/magellan.log

    相关文章

      网友评论

          本文标题:nginx-uwsgi-django-mysql的docker部

          本文链接:https://www.haomeiwen.com/subject/ykkzxftx.html