centos8使用Docker部署Django项目的详细教程
作者:学海无涯苦作舟 发布时间:2022-08-26 08:30:16
标签:centos8,docker,部署,django
引言
在本文中将介绍在Docker中通过django + uwsgi + nginx部署方式部署Django项目,
由于记录的是学习过程,使用的都是目前较高的版本。
python 版本为3.8.3
django 版本为3.0.6
nginx 版本为1.17.10
好了简单的介绍之后,就进入正题了。
创建一个工作目录
创建一个工作目录用来存放项目,和Dockerfile等文件。
mkdir uwsgidocker
简单说明一下各个文件
docker-compose.yml: Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。
使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。
在一开始我没有使用docker-compose.yml
Dockerfile: 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
my_django: 是一个刚创建的django项目,主要是将 ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = ["*"]
nginxconf: 是个包含nginx配置和创建nginx镜像的Dockerfile文件的文件夹。
pip.conf: 是关于pip的配置,主要是用于pip加速下载的。
uwsgi_conf.ini: uwsgi的配置文件
注意:在django项目中的settings.py文件里,需要将 ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = [ " * " ] 。
制作uwsgi镜像
根据Dockerfile文件制作uwsgi的镜像并运行。
FROM python:3.8.3
# 创建目录
RUN mkdir -p /usr/src/app
# 设置工作目录
WORKDIR /usr/src/app
# 将pip.conf文件复制到/root/.pip/pip.conf
COPY pip.conf /root/.pip/pip.conf
# 更新pip
RUN pip install --upgrade pip
# 下载django和uwsgi 在一般项目中只需下载requirement.txt
RUN pip install django && pip install uwsgi
# 将当前目录下的文件全部复制过去,只有是复制项目,uwsgi配置文件
COPY . /usr/src/app/
# 在run的时候启动uwsgi
CMD uwsgi --ini uwsgi_conf.ini
# 暴露端口
EXPOSE 80 8080 8000 8888
uwsgi 配置文件, 官网
[uwsgi]
# 项目目录,由于在当前目录,直接写就好了
chdir = my_django
# uwsgi的启动文件,在项目下的wsgi.py
module = my_django.wsgi
# 允许主线程存在(true)
master = true
# 进程数
processes = 1
# 用于指定项目的运行的端口,可以使用socket和http,我使用的是http便于查看
http = 0.0.0.0:8000
# socket = 0.0.0.0:8000
# http = 10.0.0.10:8000
# socket = 10.0.0.10:8008
# socket = /usr/src/app/my_django/uwsgi.sock
# 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件
vacuum = true
来源:http://www.cnblogs.com/pungchur/p/12921551.html
0
投稿
猜你喜欢
- 背景因为最近一直在折腾Kubernetes集群版本升级、Docker版本升级,所以不停的把测试环境安装、还原、升级、降级,简直乱的不行。终于
- 由于众所周知而又没什么人知道的秘密,国内无数的博客个人站长都会选择在墙外的世界寻找购买网站虚拟主机(Web Hosting),因为经验告诉我
- SEO最常见的问题之今天你的站又被降权了吗?网站被降权是常有的事,相信每位站长都曾经历过。一不留神,被降权了,再怎么千万次的问候某个伟大的女
- Godaddy主机用户可以为其Linux共享托管帐户里的每个目录设置多个不同的目录许可。这样就可以控制哪些人能访问你的文档,他们在这些目录里
- 做了一年的网站,技术提升了不少,但对我来说,收获最多的还是做网站的经验和感触…… 前阵子研究了国外的几个CMS,发现了他们有一个共同点:他们
- 数据库被挂马我相信很多人都碰到过。在这里,我讲下我处理的方法。第一步:为现有数据库做好备份。第二步:执行如下ASP文件,这样就可以去掉数据库
- Linux上创建进程据说消耗很少,这个一直是Linux的特点,于是就专门测试Linux创建进程的极限,测试代码如下://fork.c#inc
- 如果在Docker 中采用 docker search centos采用 docker pull docker.io/centos 下载基础
- 本文以docker-compose 搭建高可用Redis 主从、哨兵集群为例子关于redis主从,哨兵集群原理参见:Redis 单机安装/
- 你知道什么是“红客”、“威客”、“玉米虫
- 个人都喜欢好用的技巧,对吗?这里有55个用于搜索引擎优化的小技巧,甚至你的老妈用起来都易如反掌。哦,不是我的老妈,但你明白我的意思。这意味着
- 北京时间11月13日消息,据国外媒体报道,Kershaw, Cutter & Ratinoff律师事务所在其网站上称,正在寻找&am
- 背景:---- 公司用专线连到Chinanet,并获得一段C类IP地址空间(如:16个),同时向ChinaNIC申请了公司域名yourdom
- 千橡互动集团CEO兼董事长陈一舟(陈一舟新闻,陈一舟说吧)在日前举行的中国国际数字娱乐领袖峰会上表示,目前中国原创网络游戏发展面临的三大挑战
- dedecms(织梦)完美实现伪静态的方法测试版本:Dedecms V5.6版本测试平台:Windows 7测试环境:IIS 7.5成功。其
- “腾讯TT”具有亲切、友好的用户界面,腾讯TT”不仅提供了完善的多页面浏览功能,
- 搜搜soso刚刚独立出来几天,针对以前的google提供信息做以对比,发现搜搜还是有许多变化的。从各个方面来看soso网站排名优化相关工作,
- 话不多说,直接进入主题:作SEO的都知道外链的重要性,然而当一个新手踏入这个行业或者说进入这一领域的时候.最大的问题恐怕就在于如何取得外链,
- 做网赚说复杂也复杂,说简单也会简单,但为什么新手做网赚往往感到很无力,找不到任何方向,在万般无奈的情况下找到一个网赚的项目到头来还发现居然是
- 前言大多数人可能在系统磁盘存储不足的情况下执行释放空间这个操作,也可能在 Linux 系统磁盘存储满了的情况下执行这个操作。它应该被经常执行