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
投稿
猜你喜欢
- FTP的全称是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。而FTP服务器,则是在互联
- 首先大家可以先了解一下SFTP和FTP协议的区别,这里我就不赘述了。Sftp 默认监听端口22 Ftp协议默认监听端口21 本质没什么区别都
- 今天给大家讲一下如何建立社区的核心用户。说这个主题之前,想先向大家简单说一下什么是核心用户。首先,核心用户要符合两个生理特征。一是脸部肌肉发
- 在windows2003下架设邮件服务器的过程跟XP系统类似,可以用系统自带的POP3及SMTP服务建立,也可以借助第三方软件实现。适用环境
- FTP(File Transfer Protocol)是Internet上用来传送文件的协议(文件传输协议)。FTP服务器端的注意事项:一、
- ixwebhosting主机推出中文站后,有说要推出中文客服,但,推出中文客服还需要一段时间,在没有推出中文客服之前,我们如果有问题的话,需
- 阿里妈妈是一个广告交易平台,但我觉得它更象是一个广告跳蚤市场。截止我写这篇博客为止,阿里妈妈已经拥有9503个站点的14542个广告位了,这
- 一、先关闭不需要的端口端口限制通常是网络管理的基本手段之一,具体端口的开放与关闭,需要根据实际情况来考虑。关闭端口操作:本地连接--属性--
- 对于一个新手,我推荐虚拟主机这种方式。虚拟主机是把一台高性能的服务器分成一台台“虚拟”的服务器,每一台虚拟主机都具有独立的域名,具有完整的
- 总听高人说做站商业模式很重要。原来一直搞不清楚这个商业模式到底是什么东西,以为就是业务模式、就是怎么赚钱,现在觉得不是。会赚还要会花,商业模
- 三、“www.bbc.com”的设置1、新建一个Web站点:选“wy&r
- 阿里妈妈上线了。进入转了一圈,发现阿里妈妈与”传统”网络广告(例如Google Adsense、Yahoo的巴拿马系统等)还是区别很大。阿里
- 概要本文介绍了如何为“Internet 信息服务”(IIS)“简单邮件传输协议”(SMTP) 邮件中继服务器配置远程域。Windows Se
- 建立一个普通的Linux分区(主分区、逻辑分区均可)fdisk /dev/sdbCommand (m for help): pDisk /d
- 开发中需要用到多个虚拟机进行实验。重新安装过程又太繁琐,通过vmware虚拟机自带软件能够很好的快速克隆出完全相同的系统。下面会为大家讲解关
- 本人经过多次的试验,终于成功了。这种方式不知到有没有,如有雷同纯属巧合。效果参考:http://www.shoesmold.net本网站刚刚
- 做为网站的站长,相信经常在网上留下您的联系email地址,如果没有做任何处理,一不小心,估计每天都会收到10多封奇奇怪怪的邮件,这就是所谓的
- 国内做SEO的人可能会经常听到这样一句话“你可以不懂如何改META,但你必须知道如何做外链。”可见外链作为SEO优化中的一个手段被许多SEO
- 1、问:我的机器拥有多个IP地址,它们对应各自的域名,如何建立指向不同目录的多个WWW站点?答:你需要分别将各个Web站点的“Web站点”选
- 步骤1、mount /dev/sr0 /media/2、安装所需要的软件安装并配置tftp服务yum install tftp tftp-s