你可能注意到了,我对 Rails 还不是很了解。事情是这样的
我正在运行 EC2 Bitnami RubyStack AMI。我试图部署示例项目以确保我做的正确,但我什么也没做。我只是收到 503 错误
我正在关注 bitnami 的文档在 Thin + Apache 上
这是我的文件:
我在主 httpd.conf 中包含了 httpd.conf
Alias /sample "/home/bitnami/stack/projects/sample/public"
<Directory "/home/bitnami/stack/projects/sample/public">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ProxyPass /sample balancer://appcluster
ProxyPassReverse /sample balancer://appcluster
<Proxy balancer://appcluster>
BalancerMember http://127.0.0.1:3000/sample
BalancerMember http://127.0.0.1:3001/sample
</Proxy>
thin.yml 文件
chdir: /opt/bitnami/projects/sample
environment: production
address: 127.0.0.1
port: 3000
timeout: 30
log: log/thin.log
pid: tmp/pids/thin.pid
max_conns: 1024
max_persistent_conns: 512
require: []
wait: 30
servers: 2
prefix: /sample
daemonize: true
我可以启动和停止 apache,但 Thin 无法正确停止。当我尝试停止 Thin 时,我得到了以下输出
/opt/bitnami/projects/sample$ sudo thin -C config/thin.yml stop
Stopping server on 127.0.0.1:3000 ...
Can't stop process, no PID found in tmp/pids/thin.3000.pid
Stopping server on 127.0.0.1:3001 ...
我也尝试过使用 nginx,但不幸的是没有任何效果。
编辑:这回答了下面的评论。Apache 已启动,thin 也已启动,但后者并未停止。
/opt/bitnami/projects/sample$ sudo /opt/bitnami/ctlscript.sh restart apache
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
/opt/bitnami/projects/sample$ sudo thin -C config/thin.yml startStarting server on 127.0.0.1:3000 ...
Starting server on 127.0.0.1:3001 ...
/opt/bitnami/projects/sample$ sudo thin -C config/thin.yml stop
Stopping server on 127.0.0.1:3000 ...
Can't stop process, no PID found in tmp/pids/thin.3000.pid
Stopping server on 127.0.0.1:3001 ...
Can't stop process, no PID found in tmp/pids/thin.3001.pid
答案1
好吧,我会(部分)回答我自己的问题。
我不知道有必要将精简的 gemfile 添加到 Gemfile 中,如果我不是太过紧张,教程中没有提到这一点。我添加了它,503 就消失了。现在我有一个“未找到:/”消息,但这是另一个问题