将django项目部署到centos的踩坑实战

下面是将Django项目部署到CentOS的踩坑实战攻略,具体步骤如下:

准备工作

  1. 准备一台CentOS服务器,安装好Python环境和Django框架
  2. 安装和配置Nginx和uWSGI,设置Nginx代理

开始部署

示例一:直接使用uWSGI部署Django项目

  1. 在服务器上新建项目目录,例如:/root/myproject/
  2. 在myproject目录下,创建uwsgi.ini文件,配置uWSGI参数,示例如下:

[uwsgi]
chdir = /root/myproject/
module = myproject.wsgi:application
master = true
processes = 4
socket = /root/myproject/myproject.sock
chmod-socket = 666
vacuum = true

其中,各参数含义如下:
chdir:项目所在目录
module:Django项目中wsgi.py文件所在路径,以及application对象
master:开启主进程
processes:开启子进程个数
socket:uWSGI和Nginx通信的socket文件路径
chmod-socket:给socket文件授权,保证Nginx能够读取和写入socket文件
vacuum:自动清理Unix socket的空间

  1. 启动uWSGI服务:在myproject目录下执行以下命令:
    uwsgi --ini uwsgi.ini

  2. 配置Nginx:
    修改nginx.conf文件,在http{}节点下加入以下内容:
    ```
    server {
    listen 80;
    server_name your_domain.com;
    charset utf-8;
    access_log /var/log/nginx/your_domain.com.access.log main;

    client_max_body_size 35M;

    location / {
    include uwsgi_params;
    uwsgi_pass unix:/root/myproject/myproject.sock;
    }
    }
    ``
    其中,
    your_domain.com是你的域名或IP地址,client_max_body_size设置上传文件的最大大小,location`节点下的参数请根据具体的项目路径修改。

  3. 重启Nginx服务,验证项目是否部署成功。

示例二:使用Docker和Docker-compose快速部署Django项目

  1. 安装Docker和Docker-compose
  2. 在服务器上新建项目目录,例如:/root/myproject/
  3. 在myproject目录下,创建Dockerfile文件,配置Docker镜像,示例如下:

```
# Use an official Python runtime as a parent image
FROM python:3.6-slim

# Set the working directory to /app
WORKDIR /app

# Copy the current directory contents into the container at /app
ADD . /app

# Install any needed packages specified in requirements.txt
RUN pip3 install --trusted-host pypi.python.org -r requirements.txt

# Make port 80 available to the world outside this container
EXPOSE 80

# Define environment variable
ENV NAME World

# Run app.py when the container launches
CMD ["python3", "manage.py", "runserver", "0.0.0.0:80"]
```

上面的示例中,假设Django项目的manage.py文件中已设置好项目启动的端口号为80。

  1. 在myproject目录下,创建docker-compose.yml文件,示例如下:

version: "3"
services:
web:
build: .
ports:
- "80:80"

上面的配置中,将项目的80端口映射到宿主机的80端口。

  1. 启动Docker容器:在myproject目录下执行以下命令:
    docker-compose up

  2. 验证项目是否部署成功。

注意事项:
- 在Docker镜像中只需要安装项目所需的Python库,依赖的环境都已经打包在镜像中了,不需要再手动进行安装和配置。
- 如果需要更新代码,只需要重新构建镜像,然后重新启动容器即可。
- 如果使用Nginx代理,将Docker容器端口映射到Nginx的端口即可。
- 在Docker容器内,如果需要连接MySQL服务器,需要安装MySQL客户端库,通过pip install mysqlclient 安装即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:将django项目部署到centos的踩坑实战 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Python Django实现个人博客系统的搭建

    Python Django实现个人博客系统的搭建攻略 简介 Python的Django框架在web开发中应用广泛,本文将介绍如何使用Django框架搭建个人博客系统。该博客系统除常见博客功能外,还包含用户身份验证,文章归档,评论系统等功能。 必要的工具及技能 在开始搭建博客系统前,需要准备好以下工具及技能: Python3.x Django HTML,CSS…

    Django 2023年5月16日
    00
  • django python manage.py runserver 流程

    这是自己的学习笔记,水平有限,很多地方没有仔细看,慎重阅读 启动 django demo 去 GitHub 的 Django 项目中下载 django-1.0.tar.gz,这是早期的版本,易于理解核心逻辑,并包含一个示例。 解压 django-1.0.tar.gz,目录 django 就是源代码,examples 是一个简单地 web 示例。 启动示例需要…

    Django 2023年4月10日
    00
  • Django 状态保持搭配与存储的实现

    Django中的状态保持指的是让服务器在客户端与服务器之间保留一些信息,以便在不同请求之间共享。常用的状态保持机制有Cookie和Session。存储机制则指为了让状态保持持续生效,需要将这些信息存储在服务器的某个地方。 一、Cookie实现状态保持 Cookie是最常用的状态保持机制,在Django中使用起来也非常简单。当用户首次访问网站时,Django服…

    Django 2023年5月16日
    00
  • Django数据迁移时提示 ModuleNotFoundError: No module named ‘users’

    执行数据迁移时提示找不到对应的APP,错误如下:这个错误主要是路径找不到引起的,只需在settings文件夹中添加app文件路径即可 sys.path.insert(0, os.path.join(BASE_DIR, ‘apps’))

    Django 2023年4月12日
    00
  • Django项目创建第一个应用(详细步骤)

    首先,我假设你已经安装好了Django,如果没有安装的话可以参考官网或其他教程进行安装。 创建项目 在终端或命令行中进入你想要存放Django项目的目录,执行如下命令: django-admin startproject myproject 其中,myproject是我们创建的项目名称,可以根据实际情况进行修改。 创建应用 进入myproject目录,执行如…

    Django 2023年3月12日
    00
  • Django日志logging的配置和自定义添加方式

    下面我将为您详细讲解Django日志logging的配置和自定义添加方式。 配置Django日志logging Django使用logging模块来记录日志,默认情况下,它会输出到控制台中。我们可以通过在settings.py文件中配置logging设置来自定义日志记录方式。 先看一下一个标准的logging配置示例,如下所示: LOGGING = { ‘v…

    Django 2023年5月15日
    00
  • Django缓存系统实现过程解析

    Django缓存系统实现过程解析 Django缓存系统可以有效地提高网站的性能和响应速度。在这篇文档中,我们将详细讲解Django缓存系统的实现过程以及两条示例说明。 什么是Django缓存系统? Django缓存系统是一个用于缓存网站的数据的框架。它能够存储重要的数据,比如数据库查询结果、计算结果等等,以便在需要时可以快速地访问。使用缓存系统能够减少用户的…

    Django 2023年5月16日
    00
  • Django入门使用示例

    以下是“Django入门使用示例”的完整攻略。 Django入门使用示例 本文将介绍Django的入门使用示例,包括如何创建Django项目和应用,如何定义模型,并进行数据迁移和数据查询等操作。本文的示例采用Django 3.2 版本。 创建Django项目和应用 首先,我们需要创建Django项目。在命令行中输入以下命令: django-admin sta…

    Django 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部