安裝
uwsgi 的安裝很簡單:
1
pip
install
uwsgi
現在我們試下將 django 跑起來。我們先在 virtualenv 建立乙個 django project:
1
[root@nowamagic ~]
# cd nowamagic_venv
2
[root@nowamagic nowamagic_venv]
# source bin/activate
3
(nowamagic_venv)[root@nowamagic nowamagic_venv]
# django-admin.py startproject nowamagic_pj
virtualenv 的路徑與目錄檔案如下:
django project 的路徑與目錄檔案如下:
測試uwsgi
在你的伺服器上寫乙個test.py:
1
# test.py
2
def
3
start_response(
'200 ok'
, [(
'content-type'
,
'text/html'
)])
4
return
"hello world"
我的 test.py 的路徑是 /root/nowamagic_venv/nowamagic_pj/test.py,執行以下命令:
訪問網頁 顯示 hello world,說明 uwsgi 安裝成功。
測試你的 django 專案
前面我們用 django-admin.py startproject nowamagic_pj 建立了乙個專案,現在我們用 django 自帶的 web 伺服器看看我們的專案有沒出問題。還是進入我們虛擬環境:
1
[root@nowamagic ~]
# cd nowamagic_venv
2
[root@nowamagic nowamagic_venv]
# source bin/activate
3
(nowamagic_venv)[root@nowamagic nowamagic_venv]
# python2.7 /root/nowamagic_venv/nowamagic_pj/manage.py runserver 0.0.0.0:8002
執行這個命令報錯:no module named django.core.management,原因應該是裝了多個版本的python導致的。命令指定檔案路徑就行,醜是醜些了:
1
(nowamagic_venv)[root@nowamagic nowamagic_venv]
# /usr/local/bin/python2.7 /root/nowamagic_venv/nowamagic_pj/manage.py runserver 0.0.0.0:8002
ok,啟動 django 自帶的伺服器了,我們再訪問 成功顯示:
說明 djanggo 專案也沒問題。
連線django和uwsgi
最後一步了,我們要把uwsgi與django連線起來。
編寫django_wsgi.py檔案,將其放在與檔案manage.py同乙個目錄下。我的放在 /root/nowamagic_venv/nowamagic_pj/ 下:
01
#!/usr/bin/env python
02
# coding: utf-8
03
04
import
os
05
import
sys
06
07
# 將系統的編碼設定為utf8
08
reload
(sys)
09
sys.setdefaultencoding(
'utf8'
)
10
11
os.environ.setdefault(
"django_settings_module"
,
"nowamagic_pj.settings"
)
12
13
from
django.core.handlers.wsgi
import
wsgihandler
14
=
wsgihandler()
注意不要直接 copy,有個地方要改:注意到語句os.environ.setdefault。比如我的專案為nowamagic_pj,則語句應該是 os.environ.setdefault("django_settings_module", "nowamagic_pj.settings")
ok,進入虛擬環境執行指令:
成功顯示 django it works 頁面。
這樣,你就可以在瀏覽器中訪問你的django程式了。所有的請求都是經過uwsgi傳遞給django程式的。
安裝uwsgi和使用uwsgi
部落格說明 安裝依賴apt get install build essential python dev安裝 uwsgi 使用python3的pip來安裝 pip3 install uwsgi建立配置檔案 建立類似配置檔案,uwsgi.ini uwsgi socket 127.0.0.1 3031 ...
阿里雲centOS安裝uwsgi之後測試失敗的原因
報錯 spawned uwsgi worker 1 and the only pid 22867,cores 1 解決思路 方法一 在測試uwsgi之前,你需要做好了以下工作 前置條件 我用的阿里雲伺服器建立的例項,使用的centos8 python3.6.8 基本條件 都檢查了,還是報錯。方法二 ...
uwsgi安裝使用
基於python的web應用的部署方法常見的有 fcgi wsgi以及uwsgi。其中uwsgi的速度據說是fcgi的十倍那麼快。它的特點是 1 超快的效能 2 低記憶體占用 4 詳盡的日誌記錄 5 高度可定製 安裝uwsgi apt get install uwsgi uwsgi plugin p...