我正在使用Openshift和Django / Python 3.截至昨天,我一直无法更新我的服务器。当我推动更改时,推送成功。使用SCP查看服务器上的文件,存在更新的文件。使用rhc git-pull也会下载正确的文件。但是,模板是唯一通过推送在应用程序上实际更改的内容。没有对python文件的更改会对应用程序产生影响。
当我尝试使用' rhc tail'时,我收到以下错误:
OSError: [Errno 98] Address already in use
搜索此错误会让我相信我的应用程序正在运行多个服务器进程。我不确定如何运行建议的诊断程序,因为我无法控制服务器。有任何想法吗?重新启动应用程序无法解决问题。运行rhc stop似乎成功停止了应用程序,但我的网站无阻碍地工作。 (我以前从未尝试过停止过,但是假设它应该杀死网站。)
答案 0 :(得分:2)
我今天下午发现这篇帖子有人遇到同样的问题。看起来Openshift改变了我们的一些东西。我没有收到备忘录:(。
在这里阅读: Openshift March Blog post
@MSDOS,它与你的答案相似,但我想发布可能影响大多数人的通用答案。
对我来说,我只需要将app.py(我的旧wsgi入口点)重命名为wsgi.py,一切正常。 :)现在我必须弄清楚他们改变了什么到cron工作:(
答案 1 :(得分:1)
通过执行' rhc app force-stop'解决,然后启动' rhc app start'。我不知道是什么导致了这个问题,但强制停止它会杀死网站,并且在重新启动后再使用新代码。
答案 2 :(得分:1)
我想我解决了这个问题。
我正在使用一个旧的django存储库,基于https://github.com/openshift/openshift-community-cartridge-python-3.3/blob/master/template/app.py(链接已经死了,我在这里只是为了获取信息而提到)。
在这些旧社区墨盒中,有一个app.py
文件启动了CherryPy或httpd,但现在官方的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*
并阅读了所有日志。
现在我的应用正在运行。祝你好运!