下載安裝apachepython
2.安裝apacheweb
把下載文件解壓到你要安裝目錄,如:d:express
安裝服務:打開cmd 進入apache\bin 文件 執行httpd.exe -k install -n Apache2.4apache
該命令的意思是,安裝apache服務,並將該服務名稱命名爲Apache2.4(你也能夠改爲別的)服務器
若是報一下錯誤app
sock: could not bind to address [::]:443
(OS 10013)以一種訪問權限不容許的方式作了一個訪問套接字的嘗試。 : AH00072: make_
sock: could not bind to address 0.0.0.0:443dom
說明你的443端口已經唄佔用,則須要修改 httpd-ssl.conf或httpd-ahssl.conf中的443端口改爲其它端口號,若是用不到443端口(用於https)能夠直接在httpd.config中,直接屏蔽掉對應的配置,以下:ide
<IfModule ssl_module>
#Include conf/extra/httpd-ssl.conf
#Include conf/extra/httpd-ahssl.conf
#SSLRandomSeed startup builtin
#SSLRandomSeed connect builtin
</IfModule>網站
啓動apache 服務能正常啓動說明安裝成功。ui
3.安裝mod_wsgi
設置環境變量「MOD_WSGI_APACHE_ROOTDIR」爲Apache安裝目錄 如D:\Apache24
而後運行pip install mod_wsgi 進行安裝,下載過程當中若是遇到以下錯誤:
building 'mod_wsgi.server.mod_wsgi' extension
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat).
Get it from http://aka.ms/vcpython27
按指定目錄下載vcpython27並安裝就能夠了。
不知爲何用pip自動安裝的匹配的是mod_wsgi 4.5.23 但安裝一直失敗,報以下錯誤
D:\Heatnetwork\Apache24/include\httpd.h(44) : fatal error C1083: Cannot open inc
lude file: 'ap_config.h': No such file or directory
因而我下載了「mod_wsgi-4.5.22+ap24vc9-cp27-cp27m-win_amd64」的版本再進行安裝成功。下載地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi
4.配置mod_wsgi
網上有的說解壓mod_wsgi對應的whl文件找到mod_wsgi.so文件放到apache安裝目錄裏面 modules 目錄下,但我解壓後怎麼也找不到mod_wsgi.so文件。找到其它方法
進行安裝在安裝成功後在python的安裝目錄的\scripts文件夾下運行 mod_wsgi-express module-config
輸出以下:
把輸出中的"mod_wsgiNone"改爲「mod_wsgi」, 而後拷貝到httpd.conf文件的中,以下圖:
5.新建wsgi文件,即下面要配置的weatherSpiderV3.wsgi文件,文件名本身按本身狀況定義
import sys
#Expand Python classes path with your app's path
sys.path.insert(0, "E:/PythonWeatherServer")
from weatherSpiderV3 import app
#Put logging code (and imports) here ...
#Initialize WSGI app object
application = app
6.配置Virtual hosts
去掉「# Include conf/extra/httpd-vhosts.conf」 前的#號 以下:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
打開httpd-vhosts.conf文件,註釋掉DocumentRoot "${SRVROOT}/htdocs" 以下:
<VirtualHost _default_:80>
#DocumentRoot "${SRVROOT}/htdocs"
#ServerName www.example.com:80
</VirtualHost>
添加一個
<VirtualHost *:2002>
ServerName localhost
#ServerAlias www.test.com
#ServerAdmin root@test.com
DocumentRoot "E:/PythonWeatherServer"
#ErrorLog "E:/PythonWeatherServer/error.log"
WSGIScriptAlias / E:/PythonWeatherServer/weatherSpiderV3.wsgi
#Alias /static F:/web/static
<Directory "E:/PythonWeatherServer">
#Options +ExecCGI
#AddHandler cgi-script .py
#Options -Indexes +FollowSymLinks
Require all granted
AllowOverride All
WSGIScriptReloading On
</Directory>
</VirtualHost>
按本身的實際狀況進行配置「端口號、ServerName、DocumentRoot、WSGIScriptAlias、<Directory」等。
重啓服務器便可。