本篇文章并不涉及如何使用宝塔搭建django项目,仅适用于windows和docker部署,其中docker是运行在linux平台上的,如果您想在windows上运行docker,请自行搜索如何在windows上运行docker
软件 | 版本 |
---|---|
Windows Server | 2022 |
python | 3.8.3 |
在官网下载对应的版本在服务器安装即可,这里就不进行赘述了
python官网:https://www.python.org/downloads/windows/
建议安装位置不要在C盘,待会会用到,直接默认安装C盘并不方便,请自定义安装位置
服务器管理器–>添加角色和功能–>在 服务器角色 勾选上 Web服务器(IIS) -->在角色服务中有 应用程序开发至少把CGI
勾选上,然后进行安装即可,至此IIS已经安装好
省略,这点不会的请百度
注意:国内用户请配置好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
在项目根目录配置
<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>
项目文件夹要给完全控制权限
项目文件夹要给完全控制权限
项目文件夹要给完全控制权限
打开 iis --> 修改默认网站的端口并停止 -->添加网站
这里演示的是添加static目录,如果您还有media,也是同样的步骤
至此,你的Windows IIS部署的django项目已经成功
yum -y install docker
systemctl start docker
systemctl enable docker
如果您是国内用户,那么请修改默认的docker源,这里推荐使用腾讯云的镜像加速
cat > /etc/docker/daemon.json<<EOF
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
EOF
# 重启容器
sudo systemctl restart docker
这里并不演示如何上传项目
# 解压
unzip demo.zip
cd demo
请在项目的根目录创建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"]
在项目根目录下,即上一步创建Dockerfile的目录
# 构建镜像
# 其中-t 参数后面跟的是 镜像的名称,自己随便取
docker build -t demoimg .
# 运行容器
# 其中 --name 是容器名称(随便取) , -p是端口映射 主机端口:容器端口 最后是镜像的名称(即上一步构建的镜像)
docker build -dit --name demo -p 80:80 demoimg
在浏览器打开对应的ip+端口即可