做网站需要多大带宽,国家建设部举报网站,手机芒果tv2016旧版,网页作图软件在之前的文章中#xff0c;已经给大家分享了在docker中使用django自带的命令部署项目#xff0c;这篇文章主要讲解如何使用uwsgi部署。
1. 在Django项目的根目录下新建Dockerfile文件 #Dockerfile文件
# 使用 Python 3.9 作为基础镜像
FROM python:3.9# 设置工作目录
WORKDI…在之前的文章中已经给大家分享了在docker中使用django自带的命令部署项目这篇文章主要讲解如何使用uwsgi部署。
1. 在Django项目的根目录下新建Dockerfile文件 #Dockerfile文件
# 使用 Python 3.9 作为基础镜像
FROM python:3.9# 设置工作目录
WORKDIR /app# 复制项目文件到工作目录
COPY . /app# 创建一个新的用户和组例如命名为 myapp
ARG USER_ID1000
ARG GROUP_ID1000
RUN groupadd -g ${GROUP_ID} myapp \useradd -u ${USER_ID} -g ${GROUP_ID} -d /app myapp \chown ${USER_ID}:${GROUP_ID} /app
USER myapp# 创建虚拟环境
RUN python -m venv venv# 激活虚拟环境
ENV PATH /app/venv/bin:$PATH# 设置清华 pip 镜像
ENV PIP_INDEX_URLhttps://pypi.tuna.tsinghua.edu.cn/simple
ENV PIP_TRUSTED_HOSTpypi.tuna.tsinghua.edu.cn# 安装项目依赖
RUN pip install --no-cache-dir -r requirements.txt# 暴露端口 8000
EXPOSE 8000# 设置环境变量确保Django在生产模式下运行
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1# 启动 Django 服务器
# CMD [python, manage.py, runserver, 0.0.0.0:8000]# CMD 指令运行 Django 项目的 SSL 服务器
# CMD [python, manage.py, runsslserver, 0.0.0.0:443, --certificate/app/certificate.pem, --key/app
# /private.key]# 运行uWSGI服务
CMD [uwsgi, --ini, /app/uwsgi.ini]2. 在Django项目的根目录下新建uwsgi.ini文件
# uwsgi.ini
[uwsgi]
master true
# 指定 Django 项目的 WSGI 文件
module djangoProject.wsgi:application# 项目根目录根据实际情况进行调整
chdir /app# 指定 Python 环境变量确保使用正确的 Python 版本
home /app/venv# 指定 uWSGI 服务的 socket 文件位置
http 0.0.0.0:8000# 进程数和线程数根据需要进行调整
processes 4
threads 2# 设置环境变量确保 Django 在生产模式下运行
env DJANGO_SETTINGS_MODULEdjangoProject.settings
vacuum true3. 将Django项目打包上传到服务器并cd到项目的根目录
例如Django项目的路径在/www/wwwroot/djangoProject中 则输入
cd /www/wwwroot/djangoProject4. 构建并运行镜像
在 /www/wwwroot/djangoProject 目录下执行
docker build -d django-app .docker build -t django-app . 这个命令用于构建一个 Docker 镜像并且为这个镜像指定了一个标签tag叫做 django-app。这里是命令的详细解释 docker build: 这是 Docker 的一个命令用于根据 Dockerfile 中的指令构建一个新的镜像。 -t: 这个选项是 ---tag 的缩写它用于指定构建的镜像的标签。 django-app: 这是您为构建的镜像指定的标签。标签用于标识特定的镜像并且可以在运行容器时引用。在这个例子中标签 django-app 将与构建的镜像关联。 .: 这个点表示当前目录。Docker 会在这个目录下查找名为 Dockerfile 的文件并根据该文件中的指令构建镜像。如果您在不同的目录中您需要指定包含 Dockerfile 的目录的路径。
所以整个命令 docker build -t django-app . 的意思是“在当前目录下查找 Dockerfile 并根据其中的指令构建一个新的 Docker 镜像并将这个镜像标记为 django-app”。
构建完成后您可以使用 docker images 命令查看所有本地镜像并且应该能看到一个名为 django-app 的镜像。
接下来您可以使用 docker run 命令来创建并启动一个基于 django-app 镜像的容器。例如
docker run -d --name my-django-container -p 80:8000 --user 1000:1000 django-app这个命令的意思是在后台运行一个名为 my-django-container 的容器将容器的 80 端口映射到宿主机的 8000 端口使用用户 ID 和组 ID 为 1000 的用户运行容器并使用之前构建的 django-app 镜像。
至此在浏览器中输入服务器ip地址或者已解析的域名就能看到部署成功的页面了。