Vagrant和NGINX仅在80以外的端口上工作
在本文中,我使用Vagrant来启动NGINX(通过Docker,但我认为这并不重要) 我的流浪汉看起来像这样: VAGRANTFILE\u API\u VERSION=“2” configure(Vagrant文件API版本)do | config| #分配框和虚拟机属性 config.vm.box=“ubuntu/trusty64” config.vm.provider“virtualbox”do | v| v、 内存=1024 v、 CPU=2 终止 #网络 config.vm.network“forwarded_port”,guest:80,host:80#-->在本地主机上不工作 config.vm.network“forwarded_port”,guest:80,host:8391#-->WORKS localhost:8391 #供应 config.vm.provision:shell,内联:“sudo apt get update” config.vm.provision:docker 终止 目标是能够在Vagrant和NGINX仅在80以外的端口上工作,nginx,docker,vagrant,vagrantfile,Nginx,Docker,Vagrant,Vagrantfile,在本文中,我使用Vagrant来启动NGINX(通过Docker,但我认为这并不重要) 我的流浪汉看起来像这样: VAGRANTFILE\u API\u VERSION=“2” configure(Vagrant文件API版本)do | config| #分配框和虚拟机属性 config.vm.box=“ubuntu/trusty64” config.vm.provider“virtualbox”do | v| v、 内存=1024 v、 CPU=2 终止 #网络 config.vm.netwo
localhost
而不是localhost:8391
我知道NGINX正在80上侦听,这是因为映射和在Vagrant中运行CURL的缘故。通常,在使用Vagrant时,您不能绑定到主机上的端口1024或以下,除非您以root用户身份运行它。(与其他应用程序一样,显然不建议以root用户身份运行Vagrant。)
另一种选择是,如果您不需要特别连接到“localhost”,您可以尝试设置一个专用网络,以便您的“漫游”框有一个单独的IP地址。有关更多信息,请参阅。这样可以很好地连接到该IP上的端口80。通常,在使用Vagrant时,您不能绑定到主机上的端口1024或以下,除非您以root用户身份运行它。(与其他应用程序一样,显然不建议以root用户身份运行Vagrant。)
另一种选择是,如果您不需要特别连接到“localhost”,您可以尝试设置一个专用网络,以便您的“漫游”框有一个单独的IP地址。有关更多信息,请参阅。这将允许您连接到该IP上的端口80。您可以使用setcap为特定二进制文件的非根用户启用1024以下的端口 这仅在Linux下有效,必须应用于Vagrant box,以便在机箱内使用端口80,以及您的主机,以便在主机上使用端口80 您需要程序包libcap2 bin,例如,带有apt:
- sudo apt get安装libcap2 bin
- sudo setcap cap_net_bind_service=+ep/path/to/nginx二进制文件
- sudo setcap cap_net_bind_service=+ep/path/to/vagrant二进制文件
- sudo apt get安装libcap2 bin
- sudo setcap cap_net_bind_service=+ep/path/to/nginx二进制文件
- sudo setcap cap_net_bind_service=+ep/path/to/vagrant二进制文件
vagrant up
命令的输出编辑您的问题吗?您可以使用vagrant up
命令的输出编辑您的问题吗?