【问题标题】:ocsigenserver: You are not allowed to use port 80ocsigenserver:不允许使用 80 端口
【发布时间】:2017-05-10 16:57:28
【问题描述】:

当我运行make run.byte 时,我收到此错误ocsigenserver: ocsigen:main: Fatal - You are not allowed to use port 80.。我试过sudo make run.byte 但sudo 不知道opam 或ocsigenserver。我尝试在 Makefile.options 中使用wwwuser,但我无法让它工作。 酒厂生成的README信息不多,网上也找不到。

make test.byte 工作正常。

有什么想法吗?

编辑: 看起来它与 eliom/ocaml 无关,非 root 用户无法在 Ubuntu 上低于 1024 的端口上运行任何东西。但是我仍然不明白为什么酿酒厂建议如果我的 wwwuser 是我,我可以做到这一点,我认为这不会有任何作用。 我也不明白我应该如何运行sudo make run.byte,opam 安装在我的~ 目录中,sudo 找不到ocsigenserver。 我可以通过以 root 身份运行所有内容来使其工作,但每当我以 root 身份运行opam 命令时,我都会收到you shouldn't use opam as root 警告。我不认为这是我应该运行它的方式。有点不对劲。

【问题讨论】:

  • 通常人们不会在特权端口上运行他们的应用程序,而是在端口 80 或 443 上运行 nginx(或其他一些 Web 服务器)并相应地代理到应用程序端口。跨度>
  • 为什么不只是sudo ./run.byte

标签: ocaml ocsigen


【解决方案1】:

使用以前版本的 eliom (eliom.5.0.0) - 我还没有使用新的 6.0.0 版本 - 您必须先安装您的 eliom 应用程序:

sudo 安装

然后您必须终止侦听 80/tcp 端口的进程(例如:sudo netstat -tulpn 80 | grep :80 将有助于识别侦听该端口的进程 - 很可能是 apache2 或 lighthttpd)。

然后,你运行你的可执行文件:

sudo PATH=$PATH OCAMLPATH=$OCAMLPATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH make run.byte

这是使用 eliom-distillery 创建的 README 中所写的内容 - 但请注意在之前设置您的 env 变量:

 OCAMLPATH is the location of ocaml used in your env (in my env :~/.opam/4.02.3/bin). 
 LD_LIBRARY_PATH : .opam/4.02.3/lib/stublibs (otherwise dllssl_threads_stubs is not found)

【讨论】:

  • 我试过了,但没有成功,因为我不知道我必须先给自己设置这两个变量。谢谢皮埃尔。
猜你喜欢
  • 2013-09-05
  • 1970-01-01
  • 2023-03-23
  • 2012-03-06
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 2021-09-17
  • 2021-11-15
相关资源
最近更新 更多