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

yizhihongxing

下面是将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框架中,更新数据库数据的主要方法有两种: 1. 使用查询集更新数据 我们可以使用查询集(QuerySet)操作数据库,对数据进行修改,然后使用 save() 方法保存到数据库中。 例如,如果我们想将一个 User 对象的 username 属性修改为 “new_username”,可以按照以下的步骤进行: 先根据 id 或者其他条…

    Django 2023年5月15日
    00
  • Django3中的自定义用户模型实例详解

    下面我会详细讲解“Django3中的自定义用户模型实例详解”的完整攻略,过程中将会包含两条示例说明。 什么是Django3中的自定义用户模型? 在Django3中,用户模型是一个具有以下属性的模型: 用户名 电子邮件地址 密码 是否是超级用户 除此之外,还可以添加其他自定义字段。当创建一个新的Django3项目时,会自动创建一个名为User的用户模型。但是,…

    Django 2023年5月16日
    00
  • django 环境变量配置过程详解

    下面是关于“django 环境变量配置过程详解”的完整攻略: 什么是 Django 环境变量? 在开发 Django 项目时,我们需要进行一些环境变量的配置,这些环境变量通常包括数据库连接信息、邮件发送信息等。这些信息通常不方便直接写在代码中,因此我们需要将它们存储在环境变量中,便于项目管理、维护以及部署。 Django 环境变量配置的方法 方法一:使用 P…

    Django 2023年5月16日
    00
  • Django如何创作一个简单的最小程序

    下面我给你讲解一下如何使用Django创作一个简单的最小程序的攻略。 1. 安装Django 首先,我们需要安装Django。你可以在命令行中输入以下命令进行安装: pip install django 2. 创建Django项目 安装完成后,我们可以使用以下命令创建一个Django项目: django-admin startproject mysite 其…

    Django 2023年5月16日
    00
  • 在Window环境下,使用Django shell 命令查询数据库

    1 .首先需要配置python的环境变量 ,也就是python的安装路径 我的本地的路径是C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32 然后打开cmd   输入python ,显示python的版本,表示配置成功,否则失败, 我这边默认python 和Django都是安装完成…

    Django 2023年4月11日
    00
  • 在Django框架中设置语言偏好的教程

    下面是详细讲解“在Django框架中设置语言偏好的教程”的完整攻略。 步骤一:安装Django 如果你还没有安装 Django,请先安装 Django。Django 的最新版本是 3.2。你可以使用以下命令安装: pip install Django 步骤二:配置settings.py 接下来,你需要在项目的 settings.py 文件中配置语言设置。下面…

    Django 2023年5月16日
    00
  • Pycharm+django新建Python Web项目

          这两天初学Python,首先是学习Python语法有PyCharm就可以运行Console程序了,因为是初学所以,尽量写的比较详细,包括参考的资料地址…       1.下载Python,并安装[本文版本python-3.6.4]            配置环境变量Python.exe的路径: cmd-> path=%path%;C:\…

    2023年4月10日
    00
  • django HttpResponse的用法

    一、传json字典 def back_json(rquest): #JsonResponse父类是HttpResponse,原码里调用了json.dumps() from django.http import JsonResponse back_msg = {‘name’:name,’age’:123} return JsonResponse(back_ms…

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