用Django寫了個(gè)小網(wǎng)站,準(zhǔn)備往云主機(jī)上掛起來(lái),用docker部署方便直接
架構(gòu)上 準(zhǔn)備 nginx一個(gè)dokcer,uwsgi和django一個(gè)docker宴凉,mysql一個(gè)docker。三個(gè)docker組網(wǎng)訪問(wèn)
先pull下來(lái)三個(gè)docker的官方鏡像
docker pull nginx
docker pull mysql
docker pull ubuntu:14.4
pull下來(lái)如圖
- 創(chuàng)建一個(gè)docker網(wǎng)絡(luò)
docker network create -d bridge my-net
- run ubunru 連接到my-net網(wǎng)絡(luò)上 取名為magellan
docker run -itd --name=magellan --network my-net -p 8080:80 ubuntu:14.04 /bin/bash
- run mysql 掛載主機(jī)的/root/docker_mysql_data卷為mysql的數(shù)據(jù)卷
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
- 進(jìn)入magellan 更換apt源
對(duì)于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
接下來(lái)下載好Django 安裝好模塊,配置好數(shù)據(jù)庫(kù)蠢熄,就可以run起來(lái)了
數(shù)據(jù)庫(kù)的host 就是剛才配置的my-sql - wsgi 和django的連接
pip3 install uwsgi
- Django自帶了一個(gè)wsig.py, 直接運(yùn)行
uwsgi --http :8000 --wsgi-file wsgi.py
跪解。報(bào)錯(cuò)
ImportError: No module named 'magellan'
將wsgi.py換到項(xiàng)目下
- 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
- 直接訪問(wèn)ip nginx 表示啟動(dòng)成功
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 守護(hù) 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