(免责声明:我自己并没有这样运行过 Rails——我使用的是基于 Docker 的开发环境(Install Discourse for development using Docker
你确定是这样吗?我之前就曾遇到过类似情况,因为我的浏览器缓存了 Discourse 应用,即使服务器进程没有运行,它仍然允许我在不同主题之间浏览。你不妨改用 curl 来测试一下:
curl http://localhost:3000
你也可以检查一下是否有 ruby 进程在运行:
ps -ef | grep ruby
netstat 工具可以告诉你哪些进程正在监听哪些端口。例如,如果我这样运行一个简单的 Python Web 服务器:
$ python3 -m http.server 8099
Serving HTTP on 0.0.0.0 port 8099 (http://0.0.0.0:8099/) ...
然后运行 netstat:
$ netstat -tlp
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:8099 0.0.0.0:* LISTEN 2511478/python3
...
这会告诉我 PID 为 2511478 的进程正在所有接口(0.0.0.0 表示“所有接口”)的 8099 端口上监听。要获取关于该进程的更多信息,可以运行:
$ ps -fp 2511478
UID PID PPID C STIME TTY TIME CMD
simon 2511478 1250783 0 09:53 pts/11 00:00:00 python3 -m http.server 8099