请编写一个示例 Nginx + Gunicorn + Django + DRF
时间: 2023-12-27 15:01:54 浏览: 132
基于python3+django+Vue自动化测试平台开发
以下是一个基本的 Nginx、Gunicorn、Django 和 DRF 示例,涵盖了常见的配置和设置:
1. 安装和配置 Nginx
在服务器上安装 Nginx,并创建一个新的站点配置文件。以下是一个示例配置文件,将所有请求转发到 Gunicorn:
```
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
```
2. 安装和配置 Gunicorn
在 Django 项目的虚拟环境中安装 Gunicorn:
```
pip install gunicorn
```
创建一个 Gunicorn 配置文件(比如 gunicorn_config.py),指定项目的 WSGI 应用程序和其他选项:
```
import multiprocessing
bind = "127.0.0.1:8000"
workers = multiprocessing.cpu_count() * 2 + 1
```
3. 安装和配置 Django 和 DRF
在 Django 项目的虚拟环境中安装 Django 和 DRF:
```
pip install django djangorestframework
```
创建一个 Django 项目,并在 settings.py 中添加 DRF 的应用程序:
```
INSTALLED_APPS = [
...
'rest_framework',
...
]
```
在 urls.py 中添加 DRF 的路由:
```
from django.urls import path, include
urlpatterns = [
...
path('api/', include('rest_framework.urls')),
...
]
```
创建一个 DRF 视图(比如 views.py),实现一个简单的 API:
```
from rest_framework.views import APIView
from rest_framework.response import Response
class HelloWorldView(APIView):
def get(self, request):
return Response("Hello, World!")
```
在 urls.py 中添加一个路由,将视图映射到 URL:
```
from django.urls import path
from .views import HelloWorldView
urlpatterns = [
...
path('api/hello/', HelloWorldView.as_view()),
...
]
```
4. 启动应用程序
使用 Gunicorn 启动 Django 项目:
```
gunicorn myproject.wsgi:application -c gunicorn_config.py
```
访问 http://yourdomain.com/api/hello/,应该会看到 "Hello, World!" 的响应。如果您遇到任何问题,请参阅 Nginx、Gunicorn、Django 和 DRF 的文档和教程,以获取更详细的说明和指导。
阅读全文