本文將提供安裝和設定 Apache、Python 和 PostgreSQL 程式的詳細說明,以確保 Django 專案在 MS Windows 中運作。 Django 已經包含一個用於本地測試程式碼的輕量級開發伺服器,但與生產相關的任務需要更安全、更強大的 Web 伺服器。 我們將配置 mod_wsgi 與我們的專案交互,並將 Apache 配置為通往外部世界的網關。
值得注意的是,安裝和配置將在10位元的MS Windows 32作業系統中進行。 此外,32 位元回應將是通用的,並且可以在 64 位元架構上運行。 如果您需要 64 位元安裝,請對 64 位元軟體發行版重複相同的步驟,操作順序將相同。
我們將使用 Severcart 程式作為 Django 專案。 它旨在管理墨盒的移動、記錄列印設備以及供應和服務合約。 所有程式和模組都將安裝在 C:severcart 目錄中。 位置並不重要。
蟒蛇
第一步是從 Python 網站下載並安裝 Python。 選擇Windows作為作業系統和32位元版本。 在撰寫本文時,目前版本是 3.9.0rc2。
下載安裝檔案後,右鍵單擊安裝檔案並選擇以管理員身份執行。 您應該會看到下面的螢幕
勾選「安裝啟動程式以新增使用者(建議)」和「將 Python 3.9 新增至 PATH」旁邊的方塊,然後按一下「自訂安裝」。
選取「pip」、「py launcher」、「對於所有使用者(需要提升)」旁邊的方塊,然後按一下「下一步」。
選擇上圖所示的所有輸入字段,然後按一下「安裝」。
若要驗證安裝是否成功,請開啟cmd並輸入python。 如果安裝成功,您應該會看到類似以下的提示
安裝mod_wsgi
從網站下載帶有 mod_wsgi 的編譯包
在 cmd 或 powershell 中使用標準 pip 套件管理器安裝模組:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl
阿帕奇
從網站下載發行版
Web伺服器的最新版本是Apache 2.4.46 win32 VS16。 此外,為了讓程式正常運作,您需要預先安裝套件「Visual C++ Redistributable for Visual Studio 2019 x86」。
將 Apache 發行版解壓縮到目錄 C:severcartApache24 中,然後將第 37 行變更為您的行號
Define SRVROOT "C:/severcart/Apache24"
我們透過命令列運行來檢查Apache的運行情況
C:/severcart/Apache24/bin> httpd.exe
因此,它們應該在瀏覽器中看到
我們安裝 Apache 服務;為此,請以管理員身分在命令列上執行以下說明:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
接下來,讓我們將 mod_wsgi 模組連接到 Apache。 為此,請在命令列上執行指令
C:Windowssystem32>mod_wsgi-express module-config
結果,以下幾行將會印到標準輸出:
LoadFile "c:/severcart/python/python39.dll"
LoadModule wsgi_module "c:/severcart/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win32.pyd"
WSGIPythonHome "c:/severcart/python"
建立檔案 C:severcartApache24confextrahttpd-wsgi.conf 並將上面列印的行複製貼上到此處。
我們將新配置連接到主 httpd.conf 文件
包含conf/extra/httpd-wsgi.conf
儲存更改,重新啟動 Apache 服務
Net stop Apache24
Net start Apache24
PostgreSQL的
安裝從網站取得的 PostgreSQL
安裝步驟如上所示,不需要任何註解。 安裝極為簡單。
我們在postgres中建立一個資料庫,其中將儲存Django專案的資料結構
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;
資料庫已建立。 現在我們部署 Django 專案。
安裝網路應用程式
為此,請從網站下載 zip 存檔
我們對主設定檔 C:severcartappconfsettings_prod.py 進行更改,以指定連接資料庫的詳細信息
Python 字典 DATABASES 包含連接資料庫的詳細資訊。 在此閱讀有關設置的更多信息
安裝對於在 Django 專案中運行應用程式非常重要的 Python 套件
C:severcartapptkinstaller>python install.py
腳本運行時,資料庫將使用表、結構、索引等進行初始化,並且系統將要求您建立一個用戶,程式中將代表該用戶執行工作。
我們將 Django 應用程式連接到 Apache 伺服器,為此我們添加設定文件
httpd-wsgi.conf 包含以下文本
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
<Directory "c:/severcart/app/static">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory "c:/severcart/app/media">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"
<Directory "c:/severcart/app/conf/">
<Files wsgi_prod.py>
Require all granted
</Files>
</Directory>
重新啟動 Apache 服務並檢查應用程式是否正常運作
就這樣。 感謝您的閱讀。
在下一篇文章中,我們將在 InnoSetup 中建立安裝自解壓縮存檔,以便在客戶電腦上快速部署 Django 專案。 對於那些想要重複所有步驟的人
來源: www.habr.com