从零开始,在 Ubuntu 24 云服务器上部署一个支持登录和权限的网站,用 Python + Django 实现,适合新手跟着操作。
🔧 第一步:更新服务器并安装基础环境
请使用 SSH 登录你的 Ubuntu 24 云服务器(用 MobaXterm、Xshell 或终端),然后执行以下命令:
sudo apt update && sudo apt upgrade -y
✅ 安装 Python3、pip 和虚拟环境工具
sudo apt install python3 python3-pip python3-venv -y
📁 第二步:创建网站项目文件夹和虚拟环境
要在一个独立的目录中创建 Django 项目,并用虚拟环境管理依赖。
mkdir ~/mywebsite
cd ~/mywebsite
python3 -m venv venv
source venv/bin/activate
会看到前面有 (venv)
,说明虚拟环境启用了。
📦 第三步:安装 Django 和 Gunicorn
pip install django gunicorn
🚀 第四步:创建 Django 项目
pip install django gunicorn
注意最后的 .
表示在当前目录创建,不会多生成一层目录。
🧱 第五步:配置 Django 项目基本信息
编辑 myproject/settings.py
,修改:
deactivate
cd ~/mywebsite
nano myproject/settings.py
1. 允许访问的域名/IP
找到这一行:
ALLOWED_HOSTS = []
改成你的服务器 IP 或域名,例如:
ALLOWED_HOSTS = ['123.123.123.123', 'yourdomain.com']
如果你暂时没有绑定域名,可以只填服务器的公网 IP。
2. 设置静态文件路径
在文件最后添加:
按 Ctrl + _
(就是 Ctrl 和下划线 _
,其实是 Ctrl + Shift + -),再按 999
跳到文件底部。
STATIC_ROOT = BASE_DIR / 'staticfiles'
这是为了后面部署时收集静态文件用的。
💾 保存文件并退出:
按下:
Ctrl + X
然后按:
Y 回车
就保存并退出编辑器了。
🧮 第六步:初始化数据库 + 创建超级用户
在已经激活虚拟环境的前提下(命令行前面有 (venv)
),在项目根目录执行以下命令:
python manage.py migrate
python manage.py createsuperuser
根据提示输入用户名、邮箱和密码。这个账号之后可以登录后台。
🧪 第七步:运行开发服务器测试
python manage.py runserver 0.0.0.0:8000
然后在浏览器中访问:
http://你的服务器IP:8000/
能看到 Django 的欢迎页面!🎉
第八步:创建登录系统和页面跳转功能
创建 Django App(叫 main)
在项目目录venv下运行
python3 manage.py startapp main
执行完后,你会看到项目目录下多了个 main/
文件夹。
注册这个 App 到项目里
编辑 myproject/settings.py
文件:
nano myproject/settings.py
找到这一段(INSTALLED_APPS = [...]
),在里面加上一行 'main',
,如下:
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','main', # 👈 加在这里
]
保存并退出(Ctrl + X → Y → 回车)。
配置 URL 路由跳转
编辑项目的总路由:
nano myproject/urls.py
改成这样(添加 include
并导入 main.urls):
from django.contrib import admin
from django.urls import path, include # 加了 includeurlpatterns = [path('admin/', admin.site.urls),path('', include('main.urls')), # 加这一行,表示把访问首页的请求交给 main 应用处理
]
保存退出。
给 main
添加自己的路由文件
新建文件:
nano main/urls.py
输入以下内容(定义两个页面:主页和欢迎页):
from django.urls import path
from . import viewsurlpatterns = [path('', views.home, name='home'),path('welcome/', views.welcome, name='welcome'),
]
写两个视图函数(首页 + 欢迎页)
编辑:
nano main/views.py
填入如下内容:
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_requireddef home(request):if request.user.is_authenticated:return redirect('welcome')return render(request, 'home.html')@login_required
def welcome(request):return render(request, 'welcome.html')
添加 HTML 模板页面
1、创建模板文件夹:
mkdir -p main/templates
2、创建 home.html
:
nano main/templates/home.html
写入内容:
<h1>你好!欢迎来到网站首页</h1>
<a href="/admin/login/">去登录</a>
3、创建 welcome.html
:
nano main/templates/welcome.html
写入内容:
<h1>欢迎,{{ request.user.username }}!你已成功登录</h1>
<a href="/admin/logout/">退出登录</a>
重新启动服务器并访问
python manage.py runserver 0.0.0.0:8000
然后访问:
-
http://IP:8000/
👉 首页,有一个“去登录”按钮 -
点击“去登录” →
http://你的IP:8000/admin/login/
-
登录后会自动跳转到
/welcome/
欢迎页 -
可以点击“退出登录”来退出