文章目录
- django项目部署到服务器
- 在服务器上安装Django和依赖:
- 项目代码上传
- 配置数据库
- 收集静态文件
- 配置Web服务器
- 配置Gunicorn(WSGI服务器)
- 启动/停止/重载systemd服务。
django项目部署到服务器
在服务器上安装Django和依赖:
sudo apt update
sudo apt install python3 python3-pip
pip3 install django
项目代码上传
将项目代码上传到服务器,可以使用scp或其他文件传输方法。
配置数据库
在服务器上创建数据库(如PostgreSQL或MySQL),并配置好数据库用户,然后通过Django的迁移命令创建或更新数据库表:
python3 manage.py makemigrations
python3 manage.py migrate
收集静态文件
python3 manage.py collectstatic
配置Web服务器
如Nginx或Apache,来代理传入的HTTP请求到Django应用。以Nginx为例,配置文件可能如下:
server {listen 80;server_name example.com; # 你的域名或服务器IPlocation /static/ {alias /path/to/your/django/project/static/; # 静态文件目录}location / {proxy_pass http://localhost:8000; # Django开发服务器的IP和端口proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}
配置Gunicorn(WSGI服务器)
作为Django应用的服务器,在生产环境下推荐使用。创建一个配置文件gunicorn_config.py:
import osbind = "0.0.0.0:8000" # 监听所有IP地址的8000端口
workers = 3 # 根据服务器资源调整
启动Gunicorn服务器:
gunicorn --config gunicorn_config.py myproject.wsgi:application
如果你想让Django应用作为系统服务运行,可以创建一个systemd服务文件:
[Unit]
Description=My Django Project
After=network.target[Service]
User=your_user
Group=your_group
WorkingDirectory=/path/to/your/django/project
ExecStart=/path/to/gunicorn --config gunicorn_config.py myproject.wsgi:application
Restart=always[Install]
WantedBy=multi-user.target
启动/停止/重载systemd服务。
最后,确保服务器的防火墙设置允许HTTP(端口80)和Gunicorn(默认端口8000)使用。
注意:以上步骤仅提供了一个基本的部署流程,根据项目的具体需求,可能需要额外的步骤,如配置邮件服务器、调整设置、安装额外的依赖等。