Ocaml ocsigenserver:不允许您使用端口80
当我运行Ocaml ocsigenserver:不允许您使用端口80,ocaml,ocsigen,Ocaml,Ocsigen,当我运行make run.byte时,我收到此错误ocsigenserver:ocsigen:main:Fatal-不允许使用端口80。。我尝试了sudo make run.byte,但sudo不知道opam或ocsigenserver。我尝试在Makefile.options中使用wwwuser,但无法使其正常工作。 酿酒厂生成的自述没有提供太多信息,我在网上也找不到任何东西 maketest.byte工作正常 有什么想法吗 编辑: 看起来它与eliom/ocaml无关,非root用户无法在U
make run.byte
时,我收到此错误ocsigenserver:ocsigen:main:Fatal-不允许使用端口80。
。我尝试了sudo make run.byte
,但sudo不知道opam或ocsigenserver。我尝试在Makefile.options中使用wwwuser
,但无法使其正常工作。
酿酒厂生成的自述没有提供太多信息,我在网上也找不到任何东西
maketest.byte
工作正常
有什么想法吗
编辑:
看起来它与eliom/ocaml无关,非root用户无法在Ubuntu上低于1024的端口上运行任何东西。但我仍然不明白为什么酿酒厂建议如果我的wwwuser是我的话,我可以这么做,我认为这是行不通的。
我也不明白我应该如何运行sudo make run.byte
,opam安装在我的~目录中,sudo找不到ocsigenserver
。
我可以通过以root身份运行所有内容来实现这一点,但只要我以root身份运行
opam
命令,我就会得到您不应该使用opam作为root
的警告。我不认为这是我应该用的方式。有些地方不对劲。对于以前的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\u LIBRARY\u PATH=$LD\u LIBRARY\u PATH
使运行.byte
这是使用eliom distillery创建的自述文件中编写的内容-但请注意在以下情况之前设置环境变量:
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)
通常人们不在特权端口上运行应用程序,而是在端口80或443上运行
nginx
(或其他web服务器),并相应地代理到应用程序端口。为什么不干脆sudo./run.byte
?我试过了,但没有成功,因为我不知道我必须先设置这两个变量。谢谢皮埃尔。