Django项目部署到服务器
远程连接
使用Xshell作为远程连接的工具。使用方法很简单:
将主机IP、端口号(22)以及用户身份认证(用户名:root,密码:XXXXXX)填好即可连接
连接成功后,就能在 XShell 窗口中看到阿里云的欢迎字样了:
1 | Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-113-generic x86_64) |
项目部署
克隆项目并搭建环境
先更新Ubuntu系统上的软件包
1 | sudo apt update |
接着安装Python及相关工具
1 | apt install python3 python3-pip python3-venv # 指定安装你需要的 Python版本,如 Python3.11 |
使用 SSH 连接 GitHub,将自己的项目克隆到服务器上
- 生成 SSH 密钥
按照提示生成 SSH 密钥,并保存到默认位置(通常是 ~/.ssh/id_rsa)。
1 | ssh-keygen -t rsa -b 4096 -C "your_email@example.com" |
- 添加 SSH 密钥到 GitHub
打开生成的公钥文件,并复制内容
1 | cat ~/.ssh/id_rsa.pub |
登录到 GitHub,前往 Settings -> SSH and GPG keys -> New SSH key,粘贴公钥并保存。
- 将项目克隆到本地
创建并进入你想存放项目的目录,然后从 GitHub 中拉取项目代码
1 | git clone git@github.com:username/repository.git |
- 创建虚拟环境并安装库
进入到项目的根目录后,创建环境并激活
1 | python3 -m venv venv |
安装库
1 | pip install -r requirements.txt |
- 修改 Django 的配置文件 settings.py
1 | # 关闭调试模式 |
- 收集静态文件、进行数据迁移
1 | python manage.py collectstatic |
安装并配置web服务器
- 安装
Nginx并启动服务
1 | apt install nginx |
打开浏览器,输入服务器公网 IP 地址,此时可以看见 Nginx 的欢迎界面
- 配置 Nginx
创建 Nginx 配置文件 /etc/nginx/sites-available/myproject,内容示例如下:
1 | server { |
启用配置并重启Nginx
1 | ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled |
- 安装Python开发包和
uWSGI
1 | apt install python3-dev |
- 配置uWSGI
创建 uWSGI 配置文件uwsgi.ini,内容示例如下:
1 | [uwsgi] |
重新启动Nginx,并启动uWSGI服务
1 | systemctl restart nginx |
可通过该命令,查看正在运行的 uWSGI 进程
1 | ps aux | grep uwsgi |
如果想终止所有 uWSGI 进程,可使用
1 | killall uwsgi |
接下来用浏览器访问服务器,可以成功看见Django项目的界面!
至此,大功告成啦!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 宇翊's blog!