從零開始,在 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/
歡迎頁 -
可以點擊“退出登錄”來退出