→ robler:問問題然後自稱拎背這樣好嗎 有點禮貌ok?04/11 16:32
→ penan:骨科大 XD04/11 16:34
→ MicroGG:你不懂,我有苦衷,我不說拎杯會被鄉民罵..04/11 16:36
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.138.150.24
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1433754819.A.405.html
→ uranusjr: 如果前面有用正規的 WSGI server 應該不會發生這種事 06/08 17:40
→ uranusjr: 他該不會是用 runserver 跑的吧 06/08 17:41
沒錯 我們server是用runserver跑的= =
請問這樣還有救嗎?
推 MacPerson: 架起來吧..... 06/08 20:37
推 MacPerson: Django最近出了一本中文教學手冊,買一本吧 06/08 20:59
推 loner10: 請教MacPerson大..書名是? 06/08 21:18
推 MacPerson: It's Django--用 Python 迅速打造 Web 應用 06/08 21:27
終於有中文書了 這本書應該有教說架在自己Server上吧?
→ uranusjr: 話說既然是用 runserver 其實你們老師也是不懂嘴砲嘛 06/09 00:28
WSGI看了有點頭暈 不過好像必須要用這種方式才行?
我自己看過去的感覺如下(還沒有詳細讀熟) 有錯幫忙糾正
我們目前server是架在一台6萬多塊的電腦上 使用runserver的方式來執行
有google到說 runserver只是為了測試用
我們django server的app裡面的function都是用下面類似的方式來做httpresponse
def submit(request):
//do something
return HttpResponse('ret=0')
現在要有queue的應用 那就是要用一樓說的 使用正規的WSGI來執行server
也就是要變成 django +wsgi +apache 這樣就不用去管queue的問題
但是如果使用這種方式 原本的httprespone就要全部修改掉 變成類似下面這種
def simple_app(environ, start_response):
setup_testing_defaults(environ)
status = '200 OK'
headers = [('Content-type', 'text/html; charset=utf-8')]
start_response(status, headers)
ret = '<script>alert("hello world")</script>\n'.encode('utf-8')
return [ret]
請問我這樣想是正確的嗎= =?
推 qas612820704: django1.4耶 現在不都1.8了 06/09 13:46
是阿 我之前為了用google的GCM在django上 有升到1.7
但是怕server不穩 還是退回到1.4
→ uranusjr: 什麼都不用改, 你把原本的 runserver 停掉, 用我給的連 06/09 17:42
→ uranusjr: 結接上 web server(例如 Apache + mod_wsgi)就會直接 06/09 17:42
→ uranusjr: 能動了。文件好好看, 試著照做, 不要亂找資料亂猜。 06/09 17:43
對不起 讓我跳針在問一下
今天不用實作request queue or response queue 在django上的原因
是因為apache這種正規的server
會自動幫處理同時多個request或回覆多個response
當流量超過上限時自動放入queue裡面
只是今天入藥結合apache跟django 就必須透過WSGI幫忙 是吧?
→ uranusjr: 細節有點不同,但基本上是這樣沒錯 06/10 12:32
謝謝 那我就朝這方面去試
推 timTan: 用 runserver 架起來的 django 可是弱到爆呢.... 06/10 16:41
哈...也是呢 好險還沒出去工作 不然真的丟臉丟大了(苦笑
已經有成功把django架到apache上了
(我是用進入到apache\bin的資料夾下 執行httpd -k install)
我是先用win8 +apache2.4來測試 但是還有一些沒辦法適應
像是在跑runserver的時候 可以透過cmd的方式去看到每一筆request到server上的訊息
但是轉到apache上的時候 卻沒有這些的資訊可以看 有點煩惱
(還是我用的版本太新 用2.2就行了?)
==============================================================================
話說 我移到apache後 我後台的管理介面就跑掉了
http://i.imgur.com/A2N4280.png
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
#'django.middleware.csrf.CsrfResponseMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
# Uncomment the next line for simple clickjacking protection:
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
我不知道哪邊需要修改....冏
→ uranusjr: 上面那篇文件最下面有個連結寫 How to use Django with 06/11 16:02
→ uranusjr: Apache and mod_wsgi,你按進去看,裡面就有寫了... 06/11 16:02
抱歉 眼殘了 看到了
※ 編輯: aiweisen (140.138.150.24), 06/15/2015 21:26:29
推 zz654456: 我的問題跟你好類似 我也是學生 我寄站內信給你你看一下 07/10 16:53