Django 使用asgi 如何使用和配置uwsgi进行ubuntu服务器部署
时间: 2024-10-03 12:02:11 浏览: 32
在Ubuntu服务器上使用Django和ASGI(Asynchronous Server Gateway Interface)结合UWSGI进行部署通常涉及以下步骤:
1. **安装必要的组件**:
更新系统包列表并安装所需的软件:
```bash
sudo apt-get update && sudo apt-get install uwsgi uwsgi-plugin-python3 nginx
```
2. **配置UWSGI**:
创建一个新的UWSGI配置文件(例如`/etc/uwsgi/apps-available/django.ini`),添加以下内容:
```ini
[uwsgi]
module = your_project.wsgi:application #替换为你的项目名
callable = app
master = true
processes = 4 # 根据需求调整工作进程数量
socket = /tmp/django.socket
enable-threads = true
protocol = http
vacuum = True
reload-mercy = 30s
```
其中`your_project.wsgi`是你的Django项目的wsgi.py入口文件。
3. **启用UWSGI服务**:
创建软链接指向UWSGI配置文件:
```bash
sudo ln -s /etc/uwsgi/apps-available/django.ini /etc/uwsgi/apps-enabled/
```
4. **启动UWSGI**:
```bash
sudo systemctl start uwsgi-django
sudo systemctl enable uwsgi-django
```
5. **配置Nginx**:
在Nginx配置文件(通常是`/etc/nginx/sites-available/your_domain.conf`)中,添加对UWSGI的反代规则,示例如下:
```nginx
server {
listen 80;
server_name your_domain.com; #替换为你的真实域名
location / {
include uwsgi_params;
uwsgi_pass unix:/tmp/django.socket;
}
}
```
6. **启用Nginx站点**:
```bash
sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
```
7. **测试部署**:
访问你的网站地址,确认Django应用已通过UWSGI正常加载。
阅读全文