[英]How do you bind an internal port on python/Django Openshift Cartrdige
我是openshift,django和python的新手,很难为我要在openshift上安装的python应用程序提供两个内部端口。
我阅读了有关此操作的先前文章,并且在action_hook / deploy中使用下面的代码未成功。
我还尝试通过SSH在python shell中执行命令。 我没有收到任何错误,但是当我执行netstat时(使用从os.environ ['OPENSHIFT_PYTHON_IP']返回的值),我仍然看不到列出的端口。
Host = os.environ['OPENSHIFT_PYTHON_IP']
bPort = 28081
jqPort = 28092
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((Host, jqPort))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((Host, bPort))
就像我说的,我对openshift,python和django都是陌生的,不知道该怎么办。
我发现问题出在应用程序中。
该应用程序正尝试使用本地ip地址(127.0.0.1)绑定到端口,并且需要使用Openshift分配的IP地址。 使用netstat时,我可能一直看错了一些东西,因为即使以上脚本使用的是正确的IP地址,它也似乎并没有真正起作用。 当我使用以下脚本(我在stackoverflow上找到, 检查port是否打开 )进行调试时,我看到实际上它正在工作。
import socket;
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex(('127.0.0.1',80))
if result == 0:
print "Port is open"
else:
print "Port is not open"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.