Django 部署指南
以下是一个简化的Django项目部署指南,假设您已经有了一个Django项目并已设置好数据库。
- 安装Python和virtualenv(如果尚未安装)。
创建一个virtualenv环境:
virtualenv myenv source myenv/bin/activate
在virtualenv中安装Django和uWSGI:
pip install django uwsgi
配置uWSGI创建一个
myproject_uwsgi.ini
文件:[uwsgi] module = myproject.wsgi:application socket = :8000 master = true processes = 5 threads = 2 chmod-socket = 664 vacuum = true
测试uWSGI是否正常工作:
uwsgi --ini myproject_uwsgi.ini
安装Nginx并配置一个server块来代理uWSGI。编辑Nginx配置文件(例如
/etc/nginx/sites-available/myproject
):server { listen 80; server_name example.com; location /static/ { alias /path/to/myproject/static/; } location / { include uwsgi_params; uwsgi_pass unix:/path/to/myproject/myproject.sock; uwsgi_read_timeout 20; } }
创建一个软链接到
/etc/nginx/sites-enabled/
。重新加载Nginx配置:
sudo nginx -t sudo systemctl reload nginx
配置Django的
settings.py
来使用生产环境的配置,比如:ALLOWED_HOSTS = ['example.com'] DEBUG = False
收集静态文件:
python manage.py collectstatic
在你的Django项目目录中创建一个
myproject_gunicorn.sh
脚本用于启动Gunicorn:#!/bin/bash cd /path/to/myproject || exit export DJANGO_SETTINGS_MODULE=myproject.settings exec gunicorn myproject.wsgi:application \ --name myproject \ --bind unix:/path/to/myproject/myproject.sock \ --workers 3 \ --log-level=info \ --access-logfile /path/to/myproject/logs/gunicorn_access.log \ --error-logfile /path/to/myproject/logs/gunicorn_error.log
使脚本可执行:
chmod +x myproject_gunicorn.sh
启动Gunicorn服务:
./myproject_gunicorn.sh
这个指南提供了一个基本的部署流程,但在实际部署时可能需要根据项目的具体需求进行调整。例如,安全性设置、负载均衡、数据库迁移等方面都需要额外的考虑。
评论已关闭