公有云WindowsServer + Apache + mod_WSGI + Django開發環境搭建

言歸正傳,直接進入過程:


一、Python + Django + MySQL搭建及配置

1、安裝python(下載網址左上角)

安裝比較方便,最簡單的就是直接下載並安裝,這個過程比較簡單,就不再多講。

公有云WindowsServer + Apache + mod_WSGI + Django開發環境搭建

這裡要說的是,小雞醬的項目主要涉及一些數據和文檔的東西,這裡就沒有直接安裝Python,而是安裝了插件更加豐富的Anaconda集成包

公有云WindowsServer + Apache + mod_WSGI + Django開發環境搭建

安裝過程就不再贅述了,Anaconda集成了足夠的科學包和網絡包等,同時還有虛擬版本管理,後面很多pip就省了,也不容易出問題,非常好用。


2、安裝Pycharm

這個也不再贅述,需要提一下的是按照自己的喜好來吧,Anaconda帶的Jupiter也很好用,也有用VS的,這裡不佔用篇幅了。

3、安裝Django

(base) C:\Users\Administrator>pip install django

Collecting django Downloading https://files.pythonhosted.org/packages/6a/23/08f7fd7afdd24184a400fcaebf921bd09b5b5235cbd62ffa02308a7d35d6/Django-3.0.1-py3-none-any.whl (7.4MB) |████████████████████████████████| 7.4MB 2.2MB/sRequirement already satisfied: pytz in c:\mypy\anaconda3\lib\site-packages (from django) (2019.3)Collecting asgiref~=3.2 (from django) Downloading https://files.pythonhosted.org/packages/a5/cb/5a235b605a9753ebcb2730c75e610fb51c8cab3f01230080a8229fa36adb/asgiref-3.2.3-py2.py3-none-any.whlCollecting sqlparse>=0.2.2 (from django) Downloading https://files.pythonhosted.org/packages/ef/53/900f7d2a54557c6a37886585a91336520e5539e3ae2423ff1102daf4f3a7/sqlparse-0.3.0-py2.py3-none-any.whlInstalling collected packages: asgiref, sqlparse, djangoSuccessfully installed asgiref-3.2.3 django-3.0.1 sqlparse-0.3.0(base) C:\Users\Administrator>


創建Django工程,這裡不再贅述,工程目錄為C:\www

5.安裝MySQL

python有自帶的sqlite3也挺好用,小雞醬要混合文檔和數據,也嘗試過mango,但考慮到一些結構化的數據,MySQL也支持非關係型,還是採用了MySQL,這個具體安裝過程也不再贅述。

6.安裝python數據庫mysql庫包pymysql

(base) C:\Users\Administrator>pip install pymysql Collecting pymysql Downloading https://files.pythonhosted.org/packages/ed/39/15045ae46f2a123019aa968dfcba0396c161c20f855f11dea6796bcaae95/PyMySQL-0.9.3-py2.py3-none-any.whl (47kB) |████████████████████████████████| 51kB 109kB/s Installing collected packages: pymysql Successfully installed pymysql-0.9.3

7.安裝python數據庫mysql庫包mysqlclient

(base) C:\Users\Administrator>pip install mysqlclient Collecting mysqlclient Downloading https://files.pythonhosted.org/packages/5d/b3/a753b836eab49c865651eb2bc7203d070c58e5f22b33015b48fa6112bd7a/mysqlclient-1.4.6-cp37-cp37m-win_amd64.whl (262kB) |████████████████████████████████| 266kB 16kB/s Installing collected packages: mysqlclient Successfully installed mysqlclient-1.4.6

至此已經完成了Python + Django + Scrapy + MySQL搭建及配置。

二、Windows Server + Apache + WSGI構建服務器端搭建及配置

這將是最為繁瑣的一步了,小雞醬也是經歷多次磨難,終於配置完成。開始前,先介紹下為什麼使用apache,而不是ngix,主要有兩點一是apache是大家常用的,也是小雞醬常用的,熟練順手,二是apache和ngix都是django官方推薦的,尤其是apache,django官方實例採用的apache,然後說ngix也很好。不過目前市場上好像很多都是用ngix。

1.配置windows server雲環境

小雞醬是用的windows server2016,即便這樣也存在很多的控件沒有安裝,主要是vc相關控件。但如果你的開發是用的vs,安裝vs的時候這些控件可以會一併安裝,這一步可以跳過。但是如果用jupiter者是Pycharm,這一步不要漏了,不然後面運行不起來

進入微軟下載
https://www.microsoft.com/zh-cn/download/details.aspx?id=48145,下載Visual C++ Redistributable for Visual Studio 2015

公有云WindowsServer + Apache + mod_WSGI + Django開發環境搭建

兩個文件都需要下載安裝,否則運行Apache會提示VCTUNTIME.dll丟失。

當然也可以通過Windows下載器下載。

2.下載並安裝Apache

登陸Apache官網下載頁面http://httpd.apache.org/,在左側下載頁面點擊download下載

找到Stable Release - Latest Version: 2.4.43 (httpd),再次點擊,下載Windows環境文件

公有云WindowsServer + Apache + mod_WSGI + Django開發環境搭建

進入後選擇Apache Haus,然後下載,要下載跟剛才安裝的VC版本一致的Httpd

公有云WindowsServer + Apache + mod_WSGI + Django開發環境搭建

下載後為一個壓縮包,無需安裝,解壓放在目標文件夾即可(如c:\mypy\)目錄一定要記好後面配置Apache服務器和WSGI代理的話會需要。

3.下載mod_wsgi

進入網址
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi,下載與安裝的Apache所用VC一致的mod_wsgi版本

公有云WindowsServer + Apache + mod_WSGI + Django開發環境搭建

說明:mod_wsgi‑4.5.24+ap24vc14‑cp37‑cp37m‑win_amd64.whl,代表mod_wsgi版本為4.5.24,ap24vc14代表VC14、Apache版本2.4,cp37為python版本,64代表64位系統。

下載後,文件放置於python的Scripts目錄下,如果安裝的是Anaconda則放在Anaconda3\Scripts目錄下。

4.安裝mod_wsgi

進入命令行工具,使用pip安裝mod_wsgi

(base) C:\Users\Administrator>cd c:\mypy\Anaconda3\Scripts (base) c:\mypy\Anaconda3\Scripts>pip install "mod_wsgi-4.5.24+ap24vc14-cp37-cp37m-win_amd64.whl"Processing c:\mypy\anaconda3\scripts\mod_wsgi-4.5.24+ap24vc14-cp37-cp37m-win_amd64.whl Installing collected packages: mod-wsgiSuccessfully installed mod-wsgi-4.5.24+ap24vc14 (base) c:\mypy\Anaconda3\Scripts>

安裝mod_wsgi完畢後,運行mod_wsgi-express module-config,查看配置路徑(後續配置Apache必用)

(base) c:\mypy\Anaconda3\Scripts>mod_wsgi-express module-configLoadFile "c:/mypy/anaconda3/python37.dll"LoadModule wsgi_module "c:/mypy/anaconda3/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"WSGIPythonHome "c:/mypy/anaconda3" (base) c:\mypy\Anaconda3\Scripts>

上面三個目錄一定要記住,後面配置Apache必用。

5.配置並啟動Apache

修改配置文件httpd.conf,打開Apache24目錄下conf目錄,找到配置文件httpd.conf,先進行如下修改

DefineSRVROOT"c:/mypy/Apache24" #為Apache24添加路徑"c:/mypy",注意均為反斜槓ServerRoot"${SRVROOT}"#Listen 123.45.67.89 :80 #修改IP地址,將123.45.67.89修改為公有云的外網IP地址

在文件最後加入以下代碼

# 首先添加運行mod_wsgi-express module-config出現的文件LoadFile "
c:/mypy/anaconda3/python37.dll"LoadModule wsgi_module "
c:/mypy/anaconda3/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"WSGIPythonHome "c:/mypy/anaconda3"

# 其次添加以下WSGI目錄文件WSGIScriptAlias / C:/www/www/wsgi.py # 注C:/www 為Django工程所在目錄,根據需要修改。WSGIPythonPath C:/www

啟動Apache,在windows命令行,進入bin目錄運行httpd

C:\Users\Administrator> cd c:\mypy\Apache24\binc:\mypy\Apache24\bin>httpd.exe -k install -n "apache2.4" #Apache默認主頁存放在htdocs目錄下,一般用不到

6.關於靜態文件歸集以及風格統一性

在Django工程www目錄下創建static目錄,即C:/www/static

可以在Apache的httpd.conf的最後增加以下代碼:

# 再次添加靜態文件目錄# AllowOverride 要設置為 all,否則會出現Internal Server Error錯誤Alias /static C:/www/static AllowOverride all Options None Require all granted

# 最後添加以下站點授權,其他所有URL由wsgi提供服務 Require all granted

然後在命令行執行以下命令

(base) c:\www>python manage.py collectstatic

至此已經完成了Windows Server + Apache + WSGI +Django 的公有云配置。


分享到:


相關文章: