Ubuntu 24 云服務器上部署網站_詳細版_1

從零開始,在 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/ 歡迎頁

  • 可以點擊“退出登錄”來退出

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74509.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74509.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74509.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

單片機學習之定時器

定時器是用來定時的機器&#xff0c;是存在于STM32單片機中的一個外設。STM32一般總共有8個定時器&#xff0c;分別是2個高級定時器&#xff08;TIM1、TIM8&#xff09;&#xff0c;4個通用定時器&#xff08;TIM2、TIM3、TIM4、TIM5&#xff09;和2個基本定時器&#xff08;TI…

AIGC6——AI的哲學困境:主體性、認知邊界與“天人智一“的再思考

引言&#xff1a;當機器開始"思考" 2023年&#xff0c;Google工程師Blake Lemoine聲稱對話AI LaMDA具有"自我意識"&#xff0c;引發軒然大波。這一事件將古老的哲學問題重新拋回公眾視野&#xff1a;?**機器能否擁有主體性&#xff1f;**從東方"天人…

從內核到應用層:Linux緩沖機制與語言緩沖區的協同解析

系列文章目錄 文章目錄 系列文章目錄前言一、緩沖區1.1 示例11.2 緩沖區的概念 二、緩沖區刷新方案三、緩沖區的作用及存儲 前言 上篇我們介紹了&#xff0c;文件的重定向操作以及文件描述符的概念&#xff0c;今天我們再來學習一個和文件相關的知識-----------用戶緩沖區。 在…

高通camx IOVA內存不足,導致10-15x持續拍照后,點擊拍照鍵定屏無反應,過一會相機閃退

定屏閃退問題分析思路&#xff1a; 定屏問題如果是相機問題&#xff0c;一般會出現返幀&#xff0c;導致預覽卡死。當然還有其他情況&#xff0c;我們先看返幀情況&#xff0c;發現request和result開始都正常&#xff0c;到12:53:05.443038就沒有返幀了&#xff0c;定屏了。往…

AI知識補全(十五):AI可解釋性與透明度是什么?

名人說&#xff1a;一笑出門去&#xff0c;千里落花風。——辛棄疾《水調歌頭我飲不須勸》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;AI知識補全&#xff08;十四&#xff09;&#xff1a;零樣本…

CentOS 7安裝hyperscan

0x00 前言 HyperScan是一款由Intel開發的高性能正則表達式匹配庫&#xff0c;專為需要快速處理大量數據流的應用場景而設計。它支持多平臺運行&#xff0c;包括Linux、Windows和macOS等操作系統&#xff0c;并針對x86架構進行了優化&#xff0c;以提供卓越的性能表現。HyperSc…

機器學習的一百個概念(9)學習曲線

前言 本文隸屬于專欄《機器學習的一百個概念》&#xff0c;該專欄為筆者原創&#xff0c;引用請注明來源&#xff0c;不足和錯誤之處請在評論區幫忙指出&#xff0c;謝謝&#xff01; 本專欄目錄結構和參考文獻請見[《機器學習的一百個概念》 ima 知識庫 知識庫廣場搜索&…

macvlan 和 ipvlan 實現原理及設計案例詳解

一、macvlan 實現原理 1. 核心概念 macvlan 允許在單個物理網絡接口上創建多個虛擬網絡接口&#xff0c;每個虛擬接口擁有 獨立的 MAC 地址 和 IP 地址。工作模式&#xff1a; bridge 模式&#xff08;默認&#xff09;&#xff1a;虛擬接口之間可直接通信&#xff0c;類似交…

linux文件上傳下載lrzsz

lrzsz 是一個在 Linux 系統中用于通過串行端口(如 ZMODEM、XMODEM、YMODEM 等協議)進行文件上傳和下載的工具集。它通常用于在終端環境中通過串口或 SSH 連接傳輸文件。 安裝 lrzsz 在大多數 Linux 發行版中,你可以使用包管理器來安裝 lrzsz。 Debian/Ubuntu: sudo apt-ge…

單片機學習之SPI

物理層 串行全雙工總線 需要四根線&#xff1a;SCLK&#xff08;時鐘線&#xff09;&#xff0c;CS&#xff08;片選線&#xff09;、MOSI(主設備輸出、從設備輸入)&#xff0c;MISO&#xff08;主設備輸入&#xff0c;從設備輸出&#xff09;。 片選信號 片選信號CS是用來…

大模型應用初學指南

隨著人工智能技術的快速發展&#xff0c;檢索增強生成&#xff08;RAG&#xff09;作為一種結合檢索與生成的創新技術&#xff0c;正在重新定義信息檢索的方式&#xff0c;RAG 的核心原理及其在實際應用中的挑戰與解決方案&#xff0c;通用大模型在知識局限性、幻覺問題和數據安…

docker-compose部署prometheus+grafana+node_exporter+alertmanager規則+郵件告警

目錄 一.docker-compose文件 二.配置文件 三.文件層級關系&#xff0c;docker-compose和配置文件位于同級目錄 四.node_exporter頁面json文件 五.效果展示 prometheusalertmanager郵件告警 grafana面板效果 六.涉及離線包 一.docker-compose文件 [rootsulibao prometh…

AI設計再現新引擎,科技創新又添新動能——廣東省首家行業AI設計工程中心獲批成立

近期&#xff0c;大捷智能科技&#xff08;廣東&#xff09;有限公司&#xff08;以下簡稱“大捷智能”&#xff09;憑借其在人工智能與智能制造領域的突出研發實力與創新科技成果&#xff0c;由廣東省科技廳批準設立“廣東省模具智能設計與智能制造工程技術研究中心”。 廣東省…

【MongoDB + 向量搜索引擎】MongoDB Atlas 向量搜索 提供全托管解決方案

在代碼審計項目中&#xff0c;MongoDB可以用于存儲元數據和部分結構化信息&#xff0c;但要高效處理向量相似性搜索&#xff0c;需結合其他工具。以下是具體分析&#xff1a; 1. MongoDB 的適用場景 元數據存儲&#xff1a; 存儲代碼片段的文件路徑、行號、語言類型等結構化信…

基于ANSYS 概率設計和APDL編程的結構可靠性設計分析

01 可靠度基本理論 結構的極限狀態&#xff1a;整個結構的一部分超過某一特定狀態就不能滿足設計規定的某一功能要求。結構的極限狀態實質上是結構工作狀態的一個閥值&#xff0c;如果工作狀態超過這一閥值&#xff0c;則結構處于不安全、不耐久或不適用的狀態&#xff1b;若工…

CyclicBarrier、Semaphore、CountDownLatch的區別,適用場景

CyclicBarrier、Semaphore 和 CountDownLatch 是 Java 并發包中用于線程協作的工具類&#xff0c;它們雖然都與線程同步相關&#xff0c;但設計目的和使用場景有顯著差異。以下是它們的核心區別和典型應用場景&#xff1a; 1. CountDownLatch 核心機制 一次性計數器&#xf…

新能源汽車測試中的信號調理模塊:從原理到實戰應用

摘要 信號調理模塊&#xff08;Signal Conditioning Module, SCM&#xff09;是新能源汽車&#xff08;NEV&#xff09;測試系統中的關鍵環節&#xff0c;直接影響數據采集的精度與可靠性。本文面向HIL測試工程師、電機測試工程師及整車動力經濟性測試工程師&#xff0c;系統性…

Qt5 Mac系統檢查休眠

在開發跨平臺應用程序時,有時候我們需要檢測系統的狀態,比如是否處于休眠或喚醒狀態。Qt是一個強大的跨平臺應用開發框架,支持多種操作系統,包括Windows、Linux、macOS等。在這個場景下,我們關注的是如何在Qt5.10中檢測到系統是否休眠以及在Mac上實現這一功能。本文將深入…

RabbitMQ簡單介紹和安裝

RabbitMQ簡單介紹 一.RabbitMQ介紹二.RabbitMQ的作用1.異步解耦2.流量削峰3.消息分發4.延遲通知 三.RabbitMQ安裝&#xff08;Ubuntu&#xff09;1.先安裝Erlang2.安裝RabbitMQ3.安裝RabbitMQ的管理界面4.創建虛擬機5.端口號信息 四.工作原理圖 一.RabbitMQ介紹 RabbitMQ 是一款…

匯編學習之《call, return指令》

call 指令 call 指令就是調用函數的執行&#xff0c;不過它也是幾個指令的組合 第一步通過jmp 函數地址的方式先跳轉到函數 第二步通過push 指令將函數地址指令額下一行的指令的地址壓入棧中。 我們來驗證下 首先打開OllyDbg,導入你的程序&#xff0c;找到一個call 函數&…