django从零到部署 新手跟着做直接部署服务器 一步到位

📅 2026/6/30 22:06:18
django从零到部署 新手跟着做直接部署服务器 一步到位
第一步 创建一个属于自己的django学习文件夹第二步 下载djangowin r 输入 cmd 进入终端此时会弹出一个黑色运行框里面依次输入md django #创建django文件夹 cd django #进入django文件夹 python -m venv venv #配置虚拟环境 venv\Scripts\activate #激活虚拟环境 pip install django #在虚拟环境中下载django库 python -m django --version #查看版本并是否成功安装第三步 创建django项目 在虚拟环境中django-admin startproject Hellodjango第四步 检查文件夹结构django_news ├── django_news // 项目全局文件目录 │ ├── __init__.py │ ├── asgi.py.py // ASGI 兼容的 Web 服务器的入口(异步接受网络请求) │ ├── settings.py // 全局配置包括链接数据库等操作 │ ├── urls.py // 全局路由URL 声明 │ └── wsgi.py // WSGI 兼容的 Web 服务器的入口同步接受网络请求 └── manage.py // 项目管理脚本第五步 启动服务器服务 runserver注意这里是本地开发服务器 不是上传后别人也可以访问的服务器# 不定义端口号默认为8000 python manage.py runserver python manage.py runserver 8888 # 0.0.0.0 让其它电脑可连接到开发服务器内网 python manage.py runserver 0.0.0.0:8888上面三句都可以启动服务见到以下欢迎页面就是安装创建成功了Django 开发服务器可以保持开启修改代码会自动重新加载。第六步 新建一个App——相当于功能的划分一个 Django 应用由多个子应用组成一般称之为 Apppython manage.py startapp new01结构如下new01 // news 应用目录 ├── migrations // 数据库迁移变更记录 │ └── __init__.py ├── __init__.py // 初始化模块 ├── admin.py // 默认自带的后台管理配置 ├── apps.py // 应用配置 ├── models.py // 数据模型、数据库操作等 ├── tests.py // 单元测试 └── views.py // 视图url里的函数在这里找上面已经创建了一个项目然后是部署Django 项目部署全流程一、连接服务器ssh root你的服务器IP二、环境安装新服务器只需做一次bash# 更新系统sudo apt update# 安装 Python 和 pipsudo apt install python3 python3-pip python3-venv -y# 安装 Nginxsudo apt install nginx -y三、上传项目到服务器方法1bashcd /homegit clone 你的仓库地址方法2SCP 上传在你自己电脑上执行bashscp -r 你的项目文件夹 root服务器IP:/home/上传后项目结构应类似/home/你的项目/├── manage.py├── 项目名/│ ├── settings.py│ ├── urls.py│ └── wsgi.py└── 应用名/├── views.py└── models.py四、部署项目每次重新部署执行假设项目路径是 /home/项目名/Django 配置目录是 /home/项目名/项目配置名/。4.1 进入项目创建虚拟环境bashcd /home/你的项目python3 -m venv venvsource venv/bin/activate4.2 安装依赖bashpip install django gunicorn如果项目有 requirements.txtpip install -r requirements.txt4.3 修改 settings.py**bashnano 项目配置名/settings.py必须改的3项python1. 允许访问的域名/IPALLOWED_HOSTS [你的服务器IP, localhost, 127.0.0.1]2. 静态文件收集目录文件末尾加一行STATIC_ROOT /home/你的项目/static4.4 数据库迁移bashpython manage.py makemigrationspython manage.py migrate4.5 收集静态文件**bashpython manage.py collectstatic --noinput4.6 前台测试启动确认能跑bashgunicorn --bind 0.0.0.0:8000 项目配置名.wsgi:application浏览器访问 http://服务器IP:8000确认页面正常。然后按 CtrlC 停止。4.7 后台启动 Gunicornbashpkill gunicornnohup gunicorn --bind 0.0.0.0:8000 项目配置名.wsgi:application 五、配置 Nginx 反向代理bashnano /etc/nginx/sites-enabled/default清空全部写入nginxserver {listen 80;server_name 服务器IP;location /static/ {alias /home/你的项目/static/;}location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}保存后bashnginx -t # 测试配置systemctl restart nginx # 重启Nginx六、防火墙放行端口在阿里云控制台 → 服务器 → 防火墙确保放行22、80、443。七、访问浏览器打开 http://你的服务器IP部署完成。日常维护命令bash# 修改代码后重启cd /home/你的项目 source venv/bin/activatepkill gunicornnohup gunicorn --bind 0.0.0.0:8000 项目配置名.wsgi:application 查看进程ps aux | grep gunicorn# 查看错误日志tail -f /home/你的项目/nohup.outtail -f /var/log/nginx/error.log你的项目路径是 /home/python_learning/django/Hellodjango项目配置名叫 core。按这个流程你的命令就是bashcd /home/python_learning/django/Hellodjangosource venv/bin/activatepip install django gunicorn然后按 4.3 - 7 步操作