Racket 在Openshift上为news.arc使用自定义IP
我正在尝试获取新闻。arc正在运行Redhat的Openshift。(根据Raycine的指示使用DIY墨盒,以使球拍运行) 以下是我遵循的步骤Racket 在Openshift上为news.arc使用自定义IP,racket,openshift,hacker-news,Racket,Openshift,Hacker News,我正在尝试获取新闻。arc正在运行Redhat的Openshift。(根据Raycine的指示使用DIY墨盒,以使球拍运行) 以下是我遵循的步骤 按照raycine的指示,从这里开始运行DIY墨盒- 从这里获取anarki的新闻 在部署代码时,安装了racket,但是我不知道如何传递arc提示符参数。因此,我使用ssh连接到openshift服务器并执行以下操作 $racket -f as.scm arc>(load "lib/news.arc") arc>(nsv) Erro
$racket -f as.scm
arc>(load "lib/news.arc")
arc>(nsv)
Error: "tcp-listen: listen failed\n port number: 8080\n system error: Permission denied; errno=13"
我发现了这个线程,它有一个类似的错误
Openshift允许使用默认情况下news.arc使用的8080端口。但是,Openshift需要使用其内部IP($Openshift_DIY_IP)
我试图找到一种为tcp侦听指定ip的方法。(Racket的tcp侦听文档位于此处-)
下面是ac.scm()中的一些相关行
lang.arc有这些行,但我怀疑在加载news.arc时是否调用lib/lang.arc(我尝试用$OPENSHIFT\u DIY\u ip值替换ip,但结果相同)
arc有这些行,其中引用了8080端口
(def nsv ((o port 8080))
(map ensure-dir (list arcdir* newsdir* storydir* votedir* profdir*))
(unless stories* (load-items))
(if (and initload-users* (empty profs*)) (load-users))
(asv port))
Racket的TCP引用提到了主机名的使用
(tcp-connect hostname
port-no
[ local-hostname
local-port-no]) →
input-port? output-port?
hostname : string?
port-no : (integer-in 1 65535)
local-hostname : (or/c string? #f) = #f
local-port-no : (or/c (integer-in 1 65535) #f) = #f
有人能提出解决办法吗?如何在news.arc中为tcp侦听指定主机名
(Arc/球拍初学者。我确信我在这里问的问题不对,我一定是做错了什么。这样问对我来说事情会变得更清楚一些)
(news.arc-cms/forum,由arcluage.com/和news.ycombinator.com使用)我认为这最好地回答了您的问题。您也可以写一个摘要吗?或者至少复制/粘贴答案的引用?当这里的答案不仅仅是一个链接时,它更有用。(在这种情况下,论坛的帖子很长,我不清楚其中哪些帖子有关于这个问题的关键信息。)谢谢你的回复。您指的是关于使用端口>16000的问题吗?因此,8080似乎是一个例外,是允许的。
(def nsv ((o port 8080))
(map ensure-dir (list arcdir* newsdir* storydir* votedir* profdir*))
(unless stories* (load-items))
(if (and initload-users* (empty profs*)) (load-users))
(asv port))
(tcp-connect hostname
port-no
[ local-hostname
local-port-no]) →
input-port? output-port?
hostname : string?
port-no : (integer-in 1 65535)
local-hostname : (or/c string? #f) = #f
local-port-no : (or/c (integer-in 1 65535) #f) = #f