目錄
1.網域名稱
2.使用gunicorn運行項目
首頁 後端開發 Python教學 基於Django框架的網站部署詳解

基於Django框架的網站部署詳解

Mar 09, 2017 am 09:56 AM
django框架

                   

对于刚入门的同学,当完成了项目代码,在本地localhost的调试没问题后,会遇到如何让项目上线的问题。
网上的资料过于繁杂,因此希望这篇能简单地为刚入门的同学解惑。
登入後複製

1.網域名稱

    首先,當我們輸入一個網址http://www.example.com/時,因而解析至對應的位址該IP實現存取。所以,要讓別人存取我們專案的第一步,就是需要擁有兩樣東西,網域和公網ip。
    網域的取得很簡單,隨便註冊購買一個就好了。然後需要的是將網域解析到你的公網ip。而公網ip,一般在購買雲端伺服器的時候能取得。
    經過這一步驟,我們實現了:請求-->DNS-->伺服器ip,而我們的最終目的就是:請求-->DNS-->伺服器ip-->黑盒子- ->項目wsgi應用

2.使用gunicorn運行項目

    在此,我們使用django搭建項目,當你的項目完成後。我們需要執行監聽請求,接收請求並呼叫對應的wsgi應用的服務程式。例如執行python manage.py runserver 0.0.0.0:8000,runserver 就是django 內建的用於偵錯的基於wsgi的服務程式。

在雲端伺服器上我們建立一個專案

##django-admin.py startproject blog

其中wsgi.py

import os
import sys
# 当使用virtualenv等隔离项目环境时,需要将项目的路径添加添加到查找路径中
path = os.getcwd()
if path not in sys.path:
    sys.path.append(path)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
登入後複製
我們在專案下執行以下指令

gunicorn wsgi:application

預設綁定127.0.0.1:8000,具體gunicorn 的使用可以自行google一下

此時,我們能就能透過本地8000埠來存取我們的專案內容了。實現了:請求-->DNS-->伺服器ip-->黑盒子-->127.0.0.1:8000-->專案wsgi應用

3.nginx接收外部請求,內部轉送

在/etc/nginx/sites-available/資料夾下,新建一個檔案blog,並加入以下簡單設定

server {
    listen 80;
    server_name  你的域名 你的公网ip(可选);
    access_log  /var/log/nginx/blog.log;
    location /static {
        #静态文件如js,css的存放目录
        root /project/blog;
    }
    location / {
        include proxy_params;
        # 从外部接收请求后转发到本地的8000端口
        proxy_pass http://127.0.0.1:8000;
    }
}
登入後複製
從上面我們就可以明白,nginx 接收到請求後,轉發給gunicorn正在監聽的本地8000端口,gunicorn根據請求調用項目中相應的應用函數後返回結果。

自此我們就基本實現了請求-->DNS-->伺服器ip-->nginx(80埠)-->127.0.0.1:8000-->專案wsgi應用
而關於nginx和gunicorn的具體配置還有許多,不妨多google一下延伸學習

4.總結

gunicorn讓項目跑起來

nginx負責接收請求和轉發請求到運行中項目監聽請求的連接埠
部署到線上,主要需要域名,公網ip,二者均可以透過雲端伺服器來解決,所以最好還是直接買個雲端伺服器實踐一下,just do it




#

以上是基於Django框架的網站部署詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1672
14
CakePHP 教程
1428
52
Laravel 教程
1332
25
PHP教程
1276
29
C# 教程
1256
24
了解Django、Flask和FastAPI框架的優缺點 了解Django、Flask和FastAPI框架的優缺點 Sep 28, 2023 pm 01:19 PM

了解Django、Flask和FastAPI框架的優缺點,需要具體程式碼範例引言:在Web開發的領域中,選擇合適的框架是至關重要的。 Django、Flask和FastAPI是三個備受歡迎的PythonWeb框架,它們各自有其獨特的優點和缺點。本文將深入探討這三個框架的優缺點,並透過具體的程式碼範例來說明它們之間的差異。一、Django框架Django是全功

Django框架的優雅URL設計與路由規則 Django框架的優雅URL設計與路由規則 Sep 28, 2023 am 10:43 AM

Django框架的優雅URL設計與路由規則在Web開發中,URL對應著使用者請求的位址,是使用者與伺服器之間互動的橋樑。一個好的URL設計能夠讓網站更友善、更容易用,提供更好的使用者體驗。而Django作為一個流行的Web框架,提供了一種優雅的URL設計和路由規則,使開發者能夠輕鬆實現自訂的URL映射。 URL設計原則一個好的URL設計應具備易讀性、可預測性和可維

django是前端還是後端 django是前端還是後端 Nov 21, 2023 pm 02:36 PM

django是後端。詳細介紹:儘管Django主要是後端框架,但它與前端開發密切相關。透過Django的模板引擎、靜態檔案管理和RESTful API等功能,前端開發人員可以與後端開發人員合作,共同建立功能強大、可擴展的Web應用程式。

Django框架中的快取機制詳解 Django框架中的快取機制詳解 Jun 18, 2023 pm 01:14 PM

在Web應用程式中,快取通常是用來優化效能的重要手段。 Django作為一個著名的Web框架,自然也提供了完善的快取機制來幫助開發者進一步提升應用程式的效能。本文將對Django框架中的快取機制進行詳解,包括快取的使用場景、建議的快取策略、快取的實作方式和使用方法等面向。希望對Django開發者或對快取機制感興趣的讀者有所幫助。一、快取的使用場景快取的使用場景

在PyCharm中怎樣使用Django框架創建項目 在PyCharm中怎樣使用Django框架創建項目 Feb 19, 2024 am 08:56 AM

如何在PyCharm中利用Django框架創建專案的技巧,需要具體程式碼範例Django是一款功能強大的PythonWeb框架,它提供了一系列用於快速開發Web應用程式的工具和功能。而PyCharm則是Python開發的一款整合開發環境(IDE),提供了一系列方便的功能和工具來增加開發效率。結合Django和PyCharm,在創建專案方面,可以更加快速、方便

Django框架中的權限控制技巧(第二部分) Django框架中的權限控制技巧(第二部分) Jun 17, 2023 pm 07:08 PM

Django框架中的權限控制技巧(第二部分)在Django框架中,權限控制是非常重要的一環。在上一篇文章中,我們已經介紹了Django框架中的一些基礎權限控制技巧,包括使用內建的權限認證系統和基於裝飾器的權限控制。這篇文章將繼續探討Django框架中的其他權限控制技巧。自訂認證後端在Django框架中,我們可以使用自訂認證後端來實現客製化的認證邏輯。透過

django框架主要用來做什麼 django框架主要用來做什麼 Nov 20, 2023 pm 02:01 PM

django框架主要用於快速開發高品質的Web應用程序,包括Web應用開發、資料庫管理、後台管理、API開發等方面。詳細介紹:1、Web應用開發:Django提供了一套完整的開發工具和框架,可以幫助開發者快速建立功能豐富、高效穩定的Web應用。包含了許多常用的元件和功能,如URL路由、範本引擎、表單處理、使用者認證、資料庫操作等,大大簡化了Web應用的開發流程;2、資料庫管理等等

學習如何在系統上安裝Django框架 學習如何在系統上安裝Django框架 Feb 19, 2024 pm 04:18 PM

Django安裝指南:輕鬆學會如何安裝Django框架,需要具體程式碼範例引言:Django是一個非常流行的Pythonweb開發框架,它提供了高效、穩定的開發環境,方便開發者建立複雜的Web應用程式。本文將為您提供Django框架的安裝指南,透過具體的程式碼範例,幫助您輕鬆了解安裝Django的過程。第一部分:安裝Python和pip在開始安裝Django之

See all articles