无法连接到本地计算机上的rails服务器

时间:2015-11-30 05:31:30

标签: ruby-on-rails virtual-machine

TL; DR我随机无法连接到本地Rails服务器,问题出现在我的计算机上。

我正在使用Rails的网站。

我使用VirtualBox在Arch VM上开始工作。在VM内部,我可以启动rails s并在0.0.0.0:3000连接到网站没问题。我在VM内部使用Chrome连接到网站。

我添加了一行代码。我保存了文件,但没有提交或暂存。无法连接。 enter image description here

删除了我的线并再次保存。仍然无法连接。

删除了网站所在的文件夹。重新克隆了回购。重新设置安装脚本(安装诸如rvm,node.js和rails之类的内容;请参阅post of post)。没有运气。

退出虚拟机,启动Ubuntu安装,再次克隆了repo(这次是一个NTFS驱动器,因为那是我占用空间最多的地方),再次运行安装程序。不。 enter image description here

奇怪的是,即使rails服务器启动,我的系统似乎也没有导轨。 Going off the rails

由于某种原因,节点安装,rvm和rails没有。

移动到〜,再次克隆回购,再次运行安装程序。同样的交易。没有铁轨。尽管如此,设置脚本中的rails s仍在运行,但我无法在浏览器中连接。

已安装的rvm,已安装的bundler,就像在脚本中一样运行bundle install --without production staging,然后运行rakerails s。仍然无法连接。

Nmap说我正在接受端口3000上的连接。

所以溢出,关于本地连接问题如何在计算机上跟踪我并且不改变代码库的任何想法?或者像rails这样的东西可以安装而不安装?

设置脚本:

#vagrant
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

#Dependencies
sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev -y
sudo apt-get install libgdbm-dev libncurses5-dev automake libtool bison libffi-dev -y 
sudo add-apt-repository ppa:chris-lea/node.js -y
sudo apt-get update
sudo apt-get install nodejs -y
#install rvm and ruby
curl -sSL https://get.rvm.io | bash -s stable --ruby
source ~/.rvm/scripts/rvm 
echo "" >> ~/.bashrc
echo "# Auto-Generated source for RVM" >> ~/.bashrc
echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc
rvm install 2.0
rvm use 2.0 --default
ruby -v

#Set up repo
ssh-keyscan github.com >> ~/.ssh/known_hosts
gem install bundler
bundle install --without production staging
rake db:create
rake db:migrate
rake db:seed
rails s

2 个答案:

答案 0 :(得分:2)

您未正确连接到rails服务器。

  

=> Rails x.x.x应用程序从http://0.0.0.0:3000

开始开发

上面的行说明了服务器正在侦听的IP地址。

要连接到位于同一台机器上的服务器,请使用

localhost:3000

如果您的虚拟机桥接到您的局域网并且您想从主机访问它,请先使用ifconfig获取适配器ip,然后再使用它

ADAPTER_IP:3000

答案 1 :(得分:1)

好吧,您应该在浏览器或终端中输入127.0.0.1:3000localhost:3000

Listen 0.0.0.0:3000表示侦听本地计算机中的所有IP地址。