这就是我在“etc/hosts”文件中的内容:
127.0.0.1 本地主机
127.0.1.1 gotqn-系统-产品-名称
127.0.0.1 depot.yourhost.com
这就是我在 apache2.conf 文件中添加的内容:
<VirtualHost *:80>
ServerName depot.yourhost.com
DocumentRoot "/home/gotqn/Aptana Projects/depot/public/"
<Directory "/home/gotqn/Aptana Projects/depot/public">
AllowOverride all
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
当我输入http://localhost/时,我的浏览器会列出“var\www”文件夹中的所有文件,当我输入http://depot.yourhost.com/时,它会显示以下错误:
我们很抱歉,但有些不对劲。
我检查了我的 rails 应用程序的 production.log 文件,它说:
连接到 database.yml 指定的数据库
在 2013-01-13 20:32:41 +0200 StoreController#index 处理为 127.0.0.1 开始 GET "/" 作为 HTML 在 3 毫秒内完成 500 内部服务器错误
ActiveRecord::StatementInvalid(找不到表'carts'):
app/controllers/application_controller.rb:46:inrescue in current_cart' app/controllers/application_controller.rb:44:in
current_cart' app/controllers/store_controller.rb:11:in 'index'
我想我的数据库配置有问题,因为表存在但找不到。
无论如何,我的问题是主机文件如何知道“depot.yourhost.com”意味着打开 rails 应用程序和“localhost”确实列出了我的“var\www”文件夹 - 我认为 RoR 正在使用端口 3000。
为什么80端口没有冲突?