Rails clone 了 writings 项目,启动服务后访问无结果。。

wcp1231 · October 23, 2013 · Last by limkurn replied at November 24, 2013 · 3704 hits

RT,启动 writings 服务后,浏览器访问无结果。用 Fiddler 抓包显示这个 后台应用的 log 没有任何问题,不知道为啥会没有返回数据。。。

最后发现应该是阿里云把这个域名墙了,因为这个域名没在阿里云备案。。。

还有,我很好奇为啥 writings 选择 mongodb 而不是常用的 mysql。感觉 mongodb 占用硬盘好大。。服务器硬盘比较小,想改成 mysql 的。。。

信息太少,无法判断。

#1 楼 @Rei 这问题太奇怪了。一开始我 clone 下来是能用,改了一些源码都没问题。然后我边改边测一段时间后突然就访问不了。。然后我删除了整个项目再 clone 一个新的,还是这样。 就在你回复这会儿,又能打开了,但是 CSS 和图片都显示不了,只有部分资源有返回结果。。 难道是阿里云服务器的问题?

这跑的是开发环境?怎么部署的?

#3 楼 @Rei 就是开发环境。。没有部署。。。就按照安装文档弄的

#4 楼 @wcp1231 那么 ssh 断开之后服务就退出了吧。开发环境在本地跑,生产环境才推上服务器。

#5 楼 @Rei 本地是 window,不想弄 rails 环境,坐等换 mac。。。我在服务器装了一个 tmux 所以不会退出。。

#5 楼 @Rei 奇怪,我在服务器上用 w3m 能访问,但是在本地就不行。。。

开发环境禁止了远程访问吧……毕竟这么不安全……

#8 楼 @aptx4869 可是一开始的时候没问题啊。。突然间不行的。。。

我在服务器上抓包,在服务器上用 w3m 请求是有 response 的,但是我电脑用浏览器访问就没有。。。难道是我服务器或者网络设置问题?

防火墙查了么

#11 楼 @zj0713001 看了,防火墙没有任何规则。。。现在的情况是我在 Nginx 的 server_name 那加上了 ip,然后 ip 可以访问,域名就不行。。但是后台都收到请求并返回了。。。 有可能是 DNS 服务商的问题吗?

#12 楼 @wcp1231 是不是没备案被屏蔽了。

#13 楼 @Rei 备案。。。不会吧。。如何知道是不是被屏蔽? 现在用 IP 可以访问,用域名就不行。。。

#13 楼 @Rei 一级域名备案了,不过我添加了一个二级域名到我自己的服务器,这样应该没事吧。

#15 楼 @wcp1231 没事 贴一下 nginx 配置吧 /etc/nginx/nginx.conf

#16 楼 @zj0713001 不知道你指的是不是这个,我就先贴出这个应用的配置相关吧

server {
    listen 80;
    server_name blog.bistussa.com 115.28.49.54;
    access_log  /var/log/nginx/blog_access.log;
    error_log   /var/log/nginx/blog_error.log;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

}

现在发现,用 IP 可以直接访问,但是用域名就不行。。我新建了一个 rails 项目也是。。

#5 楼 @Rei 打扰你了。。不过我还是想问一下那个数据库的问题。。

我用 Python 的 SimpleHTTPServer 开了一个 3000 端口的服务。用域名访问显示这个。有什么帮助吗?

#17 楼 @wcp1231 用 mongodb 是因为我看中它支持的数据类型多,例如数组,可以减少关联表的维护,现在我发现 pg 也不错。

#19 楼 @Rei 哦,这样,感谢~是 PostgreSQL 吧,我也去看看

#19 楼 @Rei 我觉得 rails 天生就有对 sql 的完美支持……也天生对 nosql 有逻辑上的排斥………最开始读你源码的时候觉得你用 mongo 真心不容易啊…

#19 楼 @Rei 我 clone 了一个装好了后在本地跑后,主页出现这个错误,我去源文件看了下没看懂。

Document not found for class Space with attributes {:domain=>"0.0.0.0"}.
 @space = Space.find_by(:domain => request.host)

#22 楼 @limkurn 因为支持多域名,所以要在 config/app_config.rb 里面设置主站域名,默认用 localhost 访问。

#23 楼 @Rei 在 app_config.yml 里的不是设置了?需要新建一个 app_config.rb?

#24 楼 @limkurn 奥,我写错了,是 confg/app_config.yml。里面设置的 host 是什么?我看日志访问的是 0.0.0.0。

#25 楼 @Rei

host = 'localhost'

在我的/etc/hosts 里设置了 127.0.0.1 > localhost

#26 楼 @limkurn 打开浏览器调试面板 -> Network -> 地址栏输入 localhost:3000 -> 查看 '/' 的链接情况,看看 Header -> Request Header 里面的 Host 是什么。

#27 楼 @Rei

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Host:localhost:3000
User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36

启动的时候后终端是这样显示的

Booting WEBrick
=> Rails 4.0.0 application starting in development on http://0.0.0.0:3000

#28 楼 @limkurn 我也不知道为什么请求的是 localhost,到了路由里面拿到的是 0.0.0.0 了。

#29 楼 @Rei 恩 我再试试 我下个 apache 跑跑 试试 谢了!

You need to Sign in before reply, if you don't have an account, please Sign up first.