【发布时间】:2014-07-10 00:21:35
【问题描述】:
我目前在我的家庭网络上的另一台计算机上运行 Ubuntu 服务器。我已经为我的 PHP 应用程序安装了 LAMP,并为我的 ruby on rails 应用程序安装了 ruby。在我的 /etc/hosts 文件中,我输入了我希望将域名附加到的应用程序的域名(还不是真实的)。所以,现在我想我只是在模拟输入该域并在完成后访问我的服务器上的应用程序,并且我有一个真正的 http 请求进入该地址。这是我的 /etc/hosts 文件:
27.0.0.1 localhost
127.0.1.1 mB590
# I want this to point to my rails app
192.168.24.100 example.com
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
我已经在我的服务器上创建了一个名为 example.com 的虚拟主机文件:
<VirtualHost *>
RailsEnv development
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/example/public
</VirtualHost>
在同一网络上的另一台计算机上,我可以输入 example.com,然后出现我的 apache 欢迎页面。如果我输入 example.com:3000 它指向我的 rails 应用程序,因为我已经设置了一个虚拟主机来实现这一点。但我想设置它,以便当我输入 example.com 时它指向我的 rails 应用程序,而无需指定端口号。我尝试了以下方法,然后重新启动了 apache 和 rails 服务器:
<VirtualHost *:3000>
RailsEnv development
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/example/public
</VirtualHost>
.. 什么都没做。然后我尝试输入Listen 3000:
Listen 3000
<VirtualHost *>
RailsEnv development
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/example/public
</VirtualHost>
.. 但收到此错误:
=> Booting WEBrick
=> Rails 4.1.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
[2014-05-21 20:17:13] INFO WEBrick 1.3.1
[2014-05-21 20:17:13] INFO ruby 2.0.0 (2014-02-24) [i686-linux]
[2014-05-21 20:17:13] WARN TCPServer Error: Address already in use - bind(2)
Exiting
/home/martyn/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/webrick/utils.rb:85:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
.
.
.
我需要做什么才能按照我的意愿进行设置? (输入 URL,不带端口号,它将被定向到我的应用程序)
【问题讨论】:
标签: ruby-on-rails apache virtualhost