Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ocaml ocsigenserver:不允许您使用端口80_Ocaml_Ocsigen - Fatal编程技术网

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
?我试过了,但没有成功,因为我不知道我必须先设置这两个变量。谢谢皮埃尔。