entfaltet ich meine Ruby on Rails-Projekt auf einer anderen virtuellen Instanz, und ich änderte die Bindung IP an einen externen floating IP durch Anfügen diesen Code /config/boot.rb:Wie bindet man einen externen Host für Ruby auf Schienen?
require 'rails/commands/server'
module Rails
class Server
def default_options
super.merge(Host: '199.116.235.154', Port: 3000)
end
end
end
und es kann auch sein, finden Sie in this answer. Allerdings, wenn ich den Server durch zu starten: rails s
, bekam ich diesen Fehler:
> /home/ubuntu/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/puma-3.2.0/lib/puma/binder.rb:240:in
> `initialize': Cannot assign requested address - bind(2) for
> "199.116.235.154" port 3000
Ich weiß, es liegt daran, dass 199.116.235.154 ein externer Host war, so puma nicht den Zugang für mich gewähren. Und wenn ich es zu interner IP: 10.2.3.52 ändere, läuft es, aber ich kann 10.2.3.52 von meinem Telefonbrowser oder anderem Computer nicht zielen. Also, gibt es eine Möglichkeit für mich, die Öffentlichkeit 199.116.235.154 IP Arbeit für mich zu machen?
Auch mein Frontend wurde in einem anderen Verzeichnis von Ember gebaut. Sie kommunizieren mit jedem Ende durch jsonAPI, und zur Zeit bin ich mit localhost für das Debuggen Zweck:
import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend({
// Connect to Rails server
host: 'http://localhost:3000',
});
Wenn ich 199.116.235.154 Gastgeber für meine Ruby on Rails-Backend machen kann, wird es auch für meine glut Frontend arbeiten, indem sie ändere localhost zu 199.115.235.154?
Können Sie nur an alle Schnittstellen mit '0.0.0.0' binden? Dadurch kann der Server auf lokale und externe IP-Adressen zugreifen. –
Ich habe das schon probiert, aber es hat nicht für mich funktioniert. –