Nginx+Gunicorn部署Django项目

1.项目文件传输和依赖安装

1.1网络环境下pip 安装依赖,离线则传输安装(略)


2.Django设置

2.1关闭调试模式,设置允许访问IP

在项目同名路径下的settings中设置

DEBUG = False

ALLOWED_HOSTS = ['*']  #允许所有地址访问

2.2配置静态文件

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static') # 生产环境静态文件目录

2.3收集静态文件

将项目的所有应用下的静态文件收集到‘static’目录下,如 js,css等。

python manage.py collectstatic

3.数据库配置

3.1修改数据库配置

在项目同名路径下的settings中设置

DATABASES = {
'default':
 {'ENGINE': 'django.db.backends.mysql',
 'NAME': 'your_db_name',
 'USER': 'your_db_user',
 'PASSWORD': 'your_db_password',
 'HOST': 'localhost',
 'PORT': '3306',
 }}

 数据库的迁移

python manage.py makemigrations
python manage.py migrate

4.Gunicorn安装

4.1 pip下载或离线包上传安装

4.2创建 Gunicorn 服务文件

创建文件 /etc/systemd/system/gunicorn.service

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=your_username
Group=your_groupname
WorkingDirectory=/path/to/your/django/project
Environment="DJANGO_SETTINGS_MODULE=your_project.settings"
Environment="PYTHONPATH=/opt/your_project"
ExecStart=/path/to/gunicorn --workers 3 --bind unix:/path/to/your/project.sock your_project.wsgi:application

[Install]
WantedBy=multi-user.target

4.3启动Gunicorn

使用systemctl管理启动

sudo systemctl start gunicorn 
sudo systemctl enable gunicorn  # 开机自启


5.Nginx安装

5.1 pip下载或离线包上传安装

5.2配置Nginx

创建 /etc/nginx/conf.d/my_django_project.conf

server {
    listen 80;
    server_name your_server_ip;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/your_username/my_django_project;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/your_username/my_django_project/myproject.sock;
    }
}

5.3测试启动

sudo nginx -t  # 检查配置
sudo systemctl restart nginx
sudo systemctl enable nginx

6.访问

根据your_server_ip和端口号访问地址

检查状态

journalctl -u -f gunicorn
#或
sudo systemctl status gunicorn 

通过status运行状态查看是否成功安装运行,根据报错结果调试

相关离线包

https://download.csdn.net/download/m0_46621783/90439394

你可能感兴趣的:(Django,nginx,gunicorn,django)