Windows IIS/docker+gunicorn两种方式部署django项目

写在最前

本篇文章并不涉及如何使用宝塔搭建django项目,仅适用于windows和docker部署,其中docker是运行在linux平台上的,如果您想在windows上运行docker,请自行搜索如何在windows上运行docker

一、Windows IIS部署

软件 版本
Windows Server 2022
python 3.8.3

1.1安装python

在官网下载对应的版本在服务器安装即可,这里就不进行赘述了
python官网:https://www.python.org/downloads/windows/

建议安装位置不要在C盘,待会会用到,直接默认安装C盘并不方便,请自定义安装位置
Windows IIS/docker+gunicorn两种方式部署django项目_第1张图片

Windows IIS/docker+gunicorn两种方式部署django项目_第2张图片

1.2 安装windows iis

服务器管理器–>添加角色和功能–>在 服务器角色 勾选上 Web服务器(IIS) -->在角色服务中有 应用程序开发至少把CGI勾选上,然后进行安装即可,至此IIS已经安装好
Windows IIS/docker+gunicorn两种方式部署django项目_第3张图片
Windows IIS/docker+gunicorn两种方式部署django项目_第4张图片

1.3 上传项目文件到服务器

省略,这点不会的请百度

1.4 安装模块

注意:国内用户请配置好pip源,具体操作请点击下面的文章

[global]
timeout=300
index-url=https://mirrors.cloud.tencent.com/pypi/simple
[install]
trusted-host=tencent.com

安装模块

# 进入项目文件夹,也就是有requirements.txt文件的目录
pip install -r requirements.txt

# 安装wfastcgi
pip install wfastcgi

# 启用wfastcgi
wfastcgi-enable

1.5 配置web.config

在项目根目录配置


    <configuration>
        <system.webServer>
            <handlers>
                <add name="Python FastCGI"
                     path="*"
                     verb="*"
                     modules="FastCgiModule"
                    scriptProcessor="c:\python\python38\python.exe|c:\python\python38\lib\site-packages\wfastcgi.py"
                     resourceType="Unspecified"
                     requireAccess="Script"/>
            handlers>
        system.webServer>
        <appSettings>
            <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
            <add key="PYTHONPATH" value="C:\wwwroot\demo\demo_project" />
            <add key="DJANGO_SETTINGS_MODULE" value="demo_project.settings" />
        appSettings>
    configuration>

Windows IIS/docker+gunicorn两种方式部署django项目_第5张图片

1.6 配置IIS网站(项目文件夹要给完全控制权限)

项目文件夹要给完全控制权限
项目文件夹要给完全控制权限
项目文件夹要给完全控制权限

打开 iis --> 修改默认网站的端口并停止 -->添加网站
Windows IIS/docker+gunicorn两种方式部署django项目_第6张图片

Windows IIS/docker+gunicorn两种方式部署django项目_第7张图片

1.7 配置网站的static和media(选配)

这里演示的是添加static目录,如果您还有media,也是同样的步骤
Windows IIS/docker+gunicorn两种方式部署django项目_第8张图片

Windows IIS/docker+gunicorn两种方式部署django项目_第9张图片

1.8浏览器访问

至此,你的Windows IIS部署的django项目已经成功

二、docker+gunicorn部署(CentOS)

2.1 安装并启动Docker

yum -y install docker
systemctl start docker
systemctl enable docker

2.1.1 修改docker源(选配)

如果您是国内用户,那么请修改默认的docker源,这里推荐使用腾讯云的镜像加速

cat > /etc/docker/daemon.json<<EOF
{
   "registry-mirrors": [
   "https://mirror.ccs.tencentyun.com"
  ]
}
EOF
# 重启容器
sudo systemctl restart docker

2.2 上传并解压项目

这里并不演示如何上传项目

# 解压
unzip demo.zip
cd demo

2.3 编写Dockerfile

请在项目的根目录创建Dockerfile

FROM python:3.8.3

# 设置 python 环境变量
ENV PYTHONUNBUFFERED 1

# 在容器内创建项目文件夹
RUN mkdir -p /demo # 请修改成你自己的项目名称

# 设置容器内工作目录
WORKDIR /demo # 请修改成你自己的项目名称

# 将项目根目录文件添加到容器中
ADD . /demo # 请修改成你自己的项目名称

# pip安装依赖 -i 设置源
RUN pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple	

# 其中最后一个参数需要修改成你自己的项目名称
# 有其他更多关于gunicorn的参数,有需要可以自行百度搜索
CMD [ "gunicorn", "--bind" , "0.0.0.0:80", "demo.wsgi"]


2.4 构建镜像并运行容器

在项目根目录下,即上一步创建Dockerfile的目录

# 构建镜像
# 其中-t 参数后面跟的是 镜像的名称,自己随便取
docker build -t demoimg .

# 运行容器
# 其中 --name 是容器名称(随便取) , -p是端口映射 主机端口:容器端口 最后是镜像的名称(即上一步构建的镜像)
docker build -dit --name demo -p 80:80 demoimg

2.5 访问你的容器

在浏览器打开对应的ip+端口即可

希望这篇文章能够帮助到您

你可能感兴趣的:(Python学习笔记,django,windows,docker)