Django nginx 快速部署
时间: 2023-11-26 18:04:33 浏览: 55
以下是 Django 和 Nginx 快速部署的基本步骤:
1. 安装必要的软件和依赖项:
```bash
sudo apt-get update
sudo apt-get install python3-pip python3-dev python3-venv nginx
```
2. 创建并激活虚拟环境:
```bash
python3 -m venv myprojectenv
source myprojectenv/bin/activate
```
3. 安装 Django 和 Gunicorn:
```bash
pip install django gunicorn
```
4. 创建 Django 项目并测试:
```bash
django-admin.py startproject myproject
cd myproject
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver 0.0.0.0:8000
```
5. 配置 Gunicorn:
```bash
gunicorn --bind 0.0.0.0:8000 myproject.wsgi
```
6. 创建一个 systemd 服务文件来管理 Gunicorn 进程:
```bash
sudo nano /etc/systemd/system/gunicorn.service
```
将以下内容复制到文件中:
```ini
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=yourusername
Group=www-data
WorkingDirectory=/home/yourusername/myproject
ExecStart=/home/yourusername/myprojectenv/bin/gunicorn --workers 3 --bind unix:/home/yourusername/myproject/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target
```
7. 启动 Gunicorn 服务并设置为开机自启:
```bash
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
```
8. 配置 Nginx:
```bash
sudo nano /etc/nginx/sites-available/myproject
```
将以下内容复制到文件中:
```ini
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/yourusername/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/yourusername/myproject/myproject.sock;
}
}
```
9. 创建一个符号链接以激活新的 Nginx 网站配置:
```bash
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
```
10. 检查 Nginx 配置是否正确:
```bash
sudo nginx -t
```
11. 重启 Nginx 服务:
```bash
sudo systemctl restart nginx
```
现在你的 Django 应用程序已经部署在 Nginx 上了。