您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“apache配置python mod_wsgi的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“apache配置python mod_wsgi的方法”吧!
apt-get升級(jí)
# 更新源 apt-get update
python環(huán)境安裝
# 安裝python3 apt-get install python3 python -V ls /usr/bin/python* cd /usr/bin/ ln -s python3 python python -V # 基礎(chǔ)安裝 apt-get install curl wget vim # 時(shí)區(qū)設(shè)置 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 此處會(huì)報(bào)錯(cuò) 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前需要安裝,否則會(huì)報(bào)下面所列錯(cuò)誤 apt-get install libmysqlclient-dev python3-dev build-essential pip install mysqlclient 錯(cuò)誤 1. OSError: mysql_config not found 2. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
apache2環(huán)境安裝
# 安裝 apache sudo apt-get install apache2 # 啟動(dòng) apache sudo service apache2 start # 安裝 mod_wsgi sudo apt-get install libapache2-mod-wsgi-py3 # 驗(yàn)證 mod_wsgi 安裝 sudo find / -name mod_wsgi.so # 原理 實(shí)際安裝完libapache2-mod-wsgi-py3會(huì)生成一個(gè)mod_wsgi.so的文件,位于 /usr/lib/apache2/modules/mod_wsgi.so 而apache2和它的關(guān)聯(lián)在下面 root@fe71dd7317b0:/etc/apache2# cat mods-available/wsgi.load LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so 這個(gè)地方要注意python3的版本,ubuntu16.04默認(rèn)源是python3.5的,其用上面命令安裝的mod_wsgi都是3.5的,需要更改 有的通過pip安裝mod_wsgi,再修改mods-available/wsgi.load里mod_wsgi.so的路徑即可 具體見下(但本文是Ubuntu18.04的不用關(guān)心此問題) LoadModule wsgi_module "/usr/local/lib/python3.6/dist-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
驗(yàn)證mod_wsgi
編輯測(cè)試腳本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/
到此,相信大家對(duì)“apache配置python mod_wsgi的方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。