Docker环境部署Django+Supervisor+Nginx
2021/12/4 7:18:16
本文主要是介绍Docker环境部署Django+Supervisor+Nginx,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
制作django镜像环境(Commit方式)
下载Ubuntu
$ docker pull ubuntu
运行并进入容器
$ docker container run -it ubuntu /bin/bash
下载python
/# apt-get install python3
如遇到下载问题如下图
更新软件源,之后就可以正常下载python了
/# apt-get update
安装pip3工具
/# apt-get install python3-pip
修改pip下载的镜像源
/# apt-get install vim /# mkdir ~/.pip /# vim ~/.pip/pip.conf [global] index-url=http://pypi.tuna.tsinghua.edu.cn/simple/ [install] trusted-host=pypi.tuna.tsinghua.edu.cn
在pip.conf文件写入镜像地址
安装Django相关库
/# pip3 install django /# pip3 install pymysql /# pip3 install uwsgi /# pip3 install supervisor
制作镜像
$ docker commit -m='python3+django3' -a='zn' 6492bd45dd18 ubuntu:django1
docker-machine restart default
运行该容器并运行Django项目
$ docker container run -p 8083:8000 -it -v /web/:/home/project ubuntu:django1 /bin/bash
浏览器访问网址 http://192.168.99.100:8083/admin 显示如下界面即为成功
开始尝试nginx部署
nginx 在一个docker里面,django+uwsgi在一个docker里面,nginx容器就直接从docker hub下载,Django镜像就用上面生成的ubuntu:django1镜像
$ docker pull nginx
准备配置文件,以挂载方式加载到容器中
Nginx配置文件 default.conf
upstream django{ # server unix:///home/andrew/django/abuild/abulid.sock; server 192.168.99.100:8083; } server { listen 80 default_server; listen [::]:80 default_server; server_name 192.168.99.100; charset utf-8; client_max_body_size 75M; location /media { alias /home/project/mysite/media; } location /static { alias /home/project/mysite/static; } location / { uwsgi_pass django; include /etc/nginx/uwsgi_params; } }
supervisord.conf
利用supervisord.conf工具生成supervisord.conf初始文件
echo_supervisord_conf > /etc/supervisord.conf
然后在文件末尾添加以下内容,在保存到宿主机中
[program:mysite] command=/usr/local/bin/uwsgi --ini /home/project/mysite/uwsgi.ini directory=/home/project/mysite/ startsecs=0 stopwaitsecs=0 autostart=true autorestart=true
uwsgi.ini
[uwsgi] socket = :8000 chdir = /home/project/mysite/ wsgi-file = mysite/wsgi.py touch-reload = /home/project/mysite/reload processes = 2 threads = 4 chmod-socket = 664 chown-socket = mysite:nginx vacuum = true py-autoreload=1
启动django镜像
/home/project/mysite# supervisorctl -c supervisord.conf restart mysite
这篇关于Docker环境部署Django+Supervisor+Nginx的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Docker端口:你真的公开了哪些东西?
- 2024-11-14用DOCKER在家里的实验室里搞些酷炫的玩意儿
- 2024-11-05掌握Docker:高效安全的十大最佳实践
- 2024-11-05在 Docker Compose 中怎么设置端口映射-icode9专业技术文章分享
- 2024-11-05在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享
- 2024-11-04Docker环境部署项目实战:新手入门教程
- 2024-11-04Docker环境部署资料:新手入门教程
- 2024-11-01Docker环境部署教程:新手入门指南
- 2024-11-01超越Docker:苹果芯片上的模拟、编排和虚拟化方案讲解
- 2024-11-01Docker环境部署:新手入门教程