我已经完成了一个使用 Ruby on Rails 构建的应用程序。现在我想将它托管在 AWS 上的 EC2 实例上。
我已经为它配置了一个服务器,我使用pumaHTTP 服务器作为应用程序服务器。在生产中启动应用程序总是需要我运行RAILS_ENV=production rails s它,这通常不方便,因为它在应用程序启动时不会返回提示。
我也希望能够用systemd管理彪马,所以我可以轻松地start,stop,check status并restart通过运行一个命令行的彪马服务器。
我在网上尝试了很多解决方案,但是当我尝试启动服务器时经常出现错误:
? puma.service - Puma HTTP Forking Server
Loaded: error (Reason: Exec format error)
Active: activating (start) since Mon 2019-12-16 15:33:06 UTC; 59s ago
Cntrl PID: 4473 (bundle)
Tasks: 30 (limit: 4703)
CGroup: /system.slice/puma.service
??4473 puma 3.12.1 (tcp://0.0.0.0:3000) [my-app]
??4522 puma: cluster worker 0: 4473 [my-app]
??4527 puma: cluster worker 1: 4473 [my-app] …Run Code Online (Sandbox Code Playgroud) 我正在创建一个 rails 应用程序,并且非常喜欢使用 rails 控制台来帮助自己了解创建表单和调用模型时发生的情况。
我的方法如下:
rails s
Run Code Online (Sandbox Code Playgroud)
然后创建一个新用户或帖子等,然后
ctrl + c
rails console
Run Code Online (Sandbox Code Playgroud)
然后我可以查看对象是如何保存在数据库中的,什么是有效的,什么是无效的。
我的问题:
运行“rails s”后,有没有办法访问和使用 rails 控制台?
我只是想在后台运行ruby / rail服务器。这个应用程序包含一个redmine,我使用以下命令手动运行服务器:
bundle exec ruby bin/rails -d server -b 192.168.0.8 webrick -e production
Run Code Online (Sandbox Code Playgroud)
我试图在末尾添加&以在其他线程中运行它,但是由于某种原因,它仍然在前台运行它,在Google上查看后,我发现了这一点:https : //github.com/macournoyer/thin。但是我不确定如何使它运行服务器调用后我拥有的所有其他参数。