2014-03-13 53 views
3

我正在使用Openshift與Django/Python 3.截至昨天,我一直無法更新我的服務器。當我推動更改時,推送成功。使用SCP查看服務器上的文件,會出現更新的文件。使用rhc git-pull也會下載正確的文件。但是,這些模板是通過推送實際上在應用中進行更改的唯一的事情。沒有更改python文件導致對應用程序的影響。Openshift:OSError Errno 98無法更新服務器

當我嘗試使用「RHC尾巴」,我得到以下錯誤:

OSError: [Errno 98] Address already in use 

搜索這個錯誤讓我相信有我的應用程序運行多個服務器進程。我不知道如何運行建議的診斷,因爲我不控制服務器。有任何想法嗎?重新啓動應用程序不會修復它。運行rhc stop似乎可以成功停止應用程序,但我的網站運作暢通無阻。 (我從來沒有嘗試過停止,但假設它應該殺死該網站。)

回答

2

我今天下午發現了這篇文章,有人遇到同樣的問題。它看起來像Openshift改變了我們的一些事情。我沒拿到備忘錄:(

這裏閱讀: Openshift March Blog post

@MSDOS,它類似於你的答案,但我想張貼有可能影響大多數人來說,通用的答案

對我來說,我只需要將app.py(我的舊wsgi入口點)重命名爲wsgi.py,並且所有工作都應該如此:)現在我必須確定它們更改爲cron作業:(

+0

謝謝 - 看起來這是問題,這是一個好消息,他們放棄了強制目錄結構。 Django的標準。有關如何這樣做的一些建議,或者一個例子?我目前得到'FileNotFoudnError:[Errno 2]沒有這樣的文件或目錄:'wsgi/application'rhc tail當我嘗試時 –

+0

我有同樣的問題,我提交bugzilla報告認爲它是一個bug,或者至少得到一些幫助,他們說這不是一個bug,但仍然沒有顯示出正確的方式來做到這一點,非常令人沮喪,也許我們可以一起解決它。我們可以找到更好的溝通方法 –

+0

我設置了一個新的openshift應用程序,並將其克隆到其中,值得注意的是,有一個名爲wsgi.py的文件可能是關鍵,當我將django文件加載到新創建的應用程序中時,承諾和推動,我不會呃rors,併發送到「歡迎使用您的Python應用程序」頁面,即HTML位於wsgi.py中。如果您對該文件有任何好運,請告訴我。 –

1

通過執行'rhc app force-stop',然後'rhc app start'解決。我不知道是什麼導致了這個問題,但強制停止它殺死了該網站,並且在重新啓動之後,它與新代碼一起工作。

+1

I不會說問題解決了,它仍然存在,你找到了和我一樣的工作,我希望他們能解決這個問題。 –

+0

你是ri ght - 沒有解決。我再次運行rhc尾巴,並且它運行了一會兒 - 幾分鐘後,rhc尾巴像之前一樣滴下相同的錯誤。我敢打賭,我將不得不強制停止/再次啓動它。 –

+0

是的。在你每次推送之前,你必須'rhc app-force-stop',直到他們解決它。我希望這些openshift人正在閱讀本文;) –

1

我想我解決了這個問題。

我在使用一箇舊的django倉庫,基於https://github.com/openshift/openshift-community-cartridge-python-3.3/blob/master/template/app.py(鏈接已經死了,我在這裏只是爲了提供信息)。

在這些舊社區磁帶中,有一個啓動CherryPy或httpd的app.py文件,但現在官方的django存儲庫不再有app.py。 (檢查https://github.com/openshift/django-example

app.py不再存在,因爲httpd服務已自動添加。這就是爲什麼我們有OSError: [Errno 98] Address already in use

從我的存儲庫中刪除app.py解決了這個問題。

我收到錯誤500,因爲我的Django應用程序有錯誤,而不是我的Python盒式磁帶。這就是爲什麼我不瞭解發生了什麼。我在墨盒中執行了find . -name *.log*並讀取了所有日誌。

現在我的應用程序正在工作。祝你好運!

+0

@msdos,當我嘗試創建時,我現在收到錯誤一個新的應用程序與我的工作應用程序具有完全相同的代碼你提到httpd服務是自動添加的,這似乎是問題,可以禁用嗎?我想運行我自己的「女服務員」服務器 –

+0

哼,我有當我創建一個Python應用程序,因爲它是他們的Python盒式磁帶,運行'ps ax | grep python'服務器httpd已經在運行,我相信如果你想運行你自己的「服務員」服務器,你會被卡住用自定義墨盒...:/或嘗試殺死(不知道它是否是p osh)在post_start-python3.3或同等腳本中的httpd服務。 –

+0

在行軍14改變之前,用戶總是啓動服務器(女服務員,cherrypy,simple_server)。我不知道這是一個錯誤,還是完全改變了他們做事的方式。我完全陷入困境。 :( –