如何在Vagrant和ruby调试ide上配置端口
我试图为我的web应用程序配置调试器,但在为它指定正确的端口时遇到了问题。 流浪汉档案:如何在Vagrant和ruby调试ide上配置端口,ruby,vagrant,ruby-debug-ide,Ruby,Vagrant,Ruby Debug Ide,我试图为我的web应用程序配置调试器,但在为它指定正确的端口时遇到了问题。 流浪汉档案: config.vm.network :private_network, ip: "192.168.68.8" config.vm.network :forwarded_port, guest: 80, host: 8080 /etc/主机(在我的主机上) 我安装了这两个gem进行调试 gem 'ruby-debug-ide', group: [:development,:test] gem 'debase
config.vm.network :private_network, ip: "192.168.68.8"
config.vm.network :forwarded_port, guest: 80, host: 8080
/etc/主机(在我的主机上)
我安装了这两个gem进行调试
gem 'ruby-debug-ide', group: [:development,:test]
gem 'debase', group: [:development,:test]
我读到为了在vagrant上使用ruby调试ide,我应该运行
rdebug ide——主机0.0.0.0——端口80——调度程序端口8080——bin/rails s
其中,--port
应该是Vagrantfile的来宾端口和`--dispatcher端口的主机端口``
但是它说
Permission denied - bind(2) for "0.0.0.0" port 80
另一方面,如果我试图更改Vagrantfile中的这些端口,我将失去从127.0.0.1:指定的_端口访问我的应用程序的机会,但仍然可以从mysite.com进行访问,这让人感到困惑您已经在端口80(apache或nginx)上侦听了一些内容,因此无法绑定到此端口。您可以执行以下操作之一
rdebug ide——主机0.0.0——端口3000——调度器端口3000——bin/rails s
如果您在文件中使用专用网络IP,则不需要转发端口,因为您将使用自己的IP访问VM服务器
sudonetstat-nltp
,检查绑定端口80的进程并杀死它
比如说
vagrant@precise32:/etc/init.d$ sudo netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 512/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1827/apache2
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 652/sshd
tcp 0 0 0.0.0.0:58397 0.0.0.0:* LISTEN 539/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 512/rpcbind
tcp6 0 0 :::22 :::* LISTEN 652/sshd
...
因此,您将终止apache2进程(PID 1827)您已经在端口80(apache或nginx)上侦听了一些内容,因此无法绑定到此端口。您可以执行以下操作之一
rdebug ide——主机0.0.0——端口3000——调度器端口3000——bin/rails s
如果您在文件中使用专用网络IP,则不需要转发端口,因为您将使用自己的IP访问VM服务器
sudonetstat-nltp
,检查绑定端口80的进程并杀死它
比如说
vagrant@precise32:/etc/init.d$ sudo netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 512/rpcbind
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1827/apache2
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 652/sshd
tcp 0 0 0.0.0.0:58397 0.0.0.0:* LISTEN 539/rpc.statd
tcp6 0 0 :::111 :::* LISTEN 512/rpcbind
tcp6 0 0 :::22 :::* LISTEN 652/sshd
...
因此,您将终止apache2进程(PID 1827)