在macOS与Linux环境下部署Python Django项目及Nginx反向代理指南

宋时安
宋时安
发布时间:2026-10-12| 3人浏览过
原创

本文详细讲解在macOS及Linux环境中从零搭建Django项目的标准流程。内容涵盖依赖安装、MySQL连接配置、路由规则与视图逻辑编写、本地服务调试,以及基于Gunicorn与Nginx组合完成生产环境反向代理与静态文件托管的操作步骤,附带关键版本的兼容性修正说明。

一、环境准备与项目初始化

第1步:安装基础依赖并创建工程结构

Django 项目通常建议在独立的环境中运行以避免依赖冲突。在 macOS 或 Linux 终端中,首先安装核心框架及相关工具:

pip install django gunicorn mysqlclient
python -c "import django; print(django.get_version())"

确认版本号返回后,即可在当前工作目录下生成项目骨架与第一个应用(App)。为避免工程目录与应用命名冲突,此处将应用命名为 cmdb_app:

django-admin startproject cmdb
cd cmdb
django-admin startapp cmdb_app

第2步:配置数据库连接与应用注册

打开项目根目录下的 settings.py,将新建的应用添加至 INSTALLED_APPS,并根据实际环境填写 MySQL 数据库连接参数:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'cmdb_app',
]

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'cmdb_db',
        'USER': 'your_username',
        'PASSWORD': 'your_password',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

二、路由映射与业务视图开发

第3步:编写 URL 规则与响应逻辑

在现代 Django(3.0及以上版本)中,推荐使用 path 进行路由定义。编辑项目主目录的 urls.py:

from django.contrib import admin
from django.urls import path
from cmdb_app import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index, name='index'),
]

随后在应用目录下的 views.py 中编写具体的处理函数:

from django.http import HttpResponse

def index(request):
    return HttpResponse('<h1>hello welcome to django!</h1>')

三、本地调试与生产部署

第4步:本地服务启动与功能验证

完成上述配置后,可在当前 manage.py 所在目录直接启动内置服务器进行调试:

python manage.py runserver

终端输出显示 Starting development server at http://127.0.0.1:8000/ 即表示成功。在浏览器访问 http://localhost:8000/index,若页面正常渲染欢迎语,则说明路由、视图与数据库配置链路畅通。

第5步:配置 Gunicorn 与 Nginx 生产环境

生产环境不建议使用内置服务器。采用 Gunicorn 作为 WSGI HTTP 服务器,配合 Nginx 处理并发请求与静态资源,是业界标准实践。操作前务必备份现有配置文件以防误改。

Gunicorn 启动命令示例:

gunicorn cmdb.wsgi:application --bind=127.0.0.1:8000 --daemon

参数说明:--bind 指定监听 IP 与端口,--daemon 允许进程转入后台运行。可通过 gunicorn --help 查看绑定 worker 数(-w)、日志路径等高级选项。

Nginx 负责接收外部流量并转发至 Gunicorn。以下提供基础反向代理与静态文件映射配置模板:

server {
    listen 80;
    server_name your_domain.com; # 替换为实际域名或内网IP

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /static/ {
        alias /opt/wwwroot/cmdb/static/; # 需对应实际 collectstatic 后的静态目录路径
    }

    access_log /var/log/nginx/cmdb.access.log;
    error_log /var/log/nginx/cmdb.error.log;
}

配置保存后,执行 nginx -t 检查语法无误,接着通过 nginx -s reload 平滑重启生效。此时动态请求将由 Gunicorn 处理,静态资源由 Nginx 直接读取磁盘返回,大幅提升整体吞吐量。

以上就是在macOS与Linux系统下部署Django项目与配置Gunicorn+Nginx的详细内容,更多关于Python Web框架实操与服务器环境调优的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。