您好,登錄后才能下訂單哦!
本篇內容主要講解“apache配置python mod_wsgi的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“apache配置python mod_wsgi的方法”吧!
apt-get升級
# 更新源 apt-get update
python環境安裝
# 安裝python3 apt-get install python3 python -V ls /usr/bin/python* cd /usr/bin/ ln -s python3 python python -V # 基礎安裝 apt-get install curl wget vim # 時區設置 or tzselect apt-get install tzdata date -R # 安裝pip cd tmp/ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py 此處會報錯 Traceback (most recent call last): File "get-pip.py", line 22308, in <module> main() File "get-pip.py", line 197, in main bootstrap(tmpdir=tmpdir) File "get-pip.py", line 82, in bootstrap import pip._internal File "/tmp/tmpslqx710t/pip.zip/pip/_internal/__init__.py", line 40, in <module> File "/tmp/tmpslqx710t/pip.zip/pip/_internal/cli/autocompletion.py", line 8, in <module> File "/tmp/tmpslqx710t/pip.zip/pip/_internal/cli/main_parser.py", line 7, in <module> File "/tmp/tmpslqx710t/pip.zip/pip/_internal/cli/cmdoptions.py", line 15, in <module> ModuleNotFoundError: No module named 'distutils.util' 需要安裝 apt-get install python3-distutils python get-pip.py pip list
django安裝
# django安裝 pip install django pip install requests pip install openpyxl pip install six # 安裝mysqlclient前需要安裝,否則會報下面所列錯誤 apt-get install libmysqlclient-dev python3-dev build-essential pip install mysqlclient 錯誤 1. OSError: mysql_config not found 2. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
apache2環境安裝
# 安裝 apache sudo apt-get install apache2 # 啟動 apache sudo service apache2 start # 安裝 mod_wsgi sudo apt-get install libapache2-mod-wsgi-py3 # 驗證 mod_wsgi 安裝 sudo find / -name mod_wsgi.so # 原理 實際安裝完libapache2-mod-wsgi-py3會生成一個mod_wsgi.so的文件,位于 /usr/lib/apache2/modules/mod_wsgi.so 而apache2和它的關聯在下面 root@fe71dd7317b0:/etc/apache2# cat mods-available/wsgi.load LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so 這個地方要注意python3的版本,ubuntu16.04默認源是python3.5的,其用上面命令安裝的mod_wsgi都是3.5的,需要更改 有的通過pip安裝mod_wsgi,再修改mods-available/wsgi.load里mod_wsgi.so的路徑即可 具體見下(但本文是Ubuntu18.04的不用關心此問題) LoadModule wsgi_module "/usr/local/lib/python3.6/dist-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
驗證mod_wsgi
編輯測試腳本vim /var/www/html/wsgi_test_script.py
def application(environ, start_response): status = '200 OK' output = b'Hello World!' response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))] start_response(status, response_headers) return [output]
配置wsgi
vim /etc/apache2/apache2.conf
# 最后加入 WSGIScriptAlias /test_wsgi /var/www/html/wsgi_test_script.py
restart apache2
service apache2 restart curl http://localhost/test_wsgi root@5ee5ff2c92c7:/usr/bin# curl http://localhost/test_wsgi Hello World! # 有輸出代表成功!
二。通過wsgi跑django程序
cd /var/www django-admin startproject zq # config wsgi WSGIScriptAlias / /var/www/zq/zq/wsgi.py WSGIPythonPath /var/www/zq <Directory /var/www/zq/zq> Require all granted </Directory> # 注意WSGIPythonPath不配置的話,可能zq模塊找不到 # restart apache2 service apache2 restart # test curl http://localhost/
到此,相信大家對“apache配置python mod_wsgi的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。