2016-04-09 21 views
5

Prima di avviare il server per eseguire l'host dell'applicazione deve essere configurato per eseguire l'applicazione completa poiché questa applicazione supporta sottodomini per più utenti, accedere al file etc/hosts e aggiungere sottodomini come di seguito:Impossibile determinare l'indirizzo IP dal nome host

sudo nano /etc/hosts 
& add the text below at the end of you hosts file : 
127.0.0.1 admin.daycare.no 
127.0.0.1 daycare.no 
127.0.0.1 worker.daycare.no 
127.0.0.1 manager.daycare.no 
127.0.0.1 parent.daycare.no 

Questo è requisito e lo faccio ancora, ma ora

http://daycare.no:3000 

non è in esecuzione e mi danno un errore

**The following error was encountered while trying to retrieve the URL: http://daycare.no:3000/ 
Unable to determine IP address from host name daycare.no 
The DNS server returned: 
Name Error: The domain name does not exist. 
This means that the cache was not able to resolve the hostname presented in the URL. Check if the address is correct.** 
+1

Chi ha aggiunto il contrassegno Chiudi? Guardami dopo le lezioni. – Zabba

risposta

4

Dopo aver salvato /etc/hosts di file, eseguire la vostra applicazione Rails come questo

rails s -p 3000 -b daycare.no 

In un browser

http://daycare.no:3000 
C'è anche POW ( LINK) server può dare smth dominio personalizzato come daycare.dev

.

Personalmente, io uso lvh.me:3000 appena in esecuzione rails s -p 3000 -b lvh.me non è necessario toccare il file /etc/hosts.

Tuttavia, è un po 'noioso eseguirlo ogni volta quando si riavvia un server.

Impostare il comando personalizzato:

sudo nano .bash_profile 
# OR 
sudo nano .bashrc 
# OR 
sudo nano .profile 

e aggiungere queste righe a lì:

alias lvh='rails s -p 3000 -b lvh.me' 
alias lvh_production='RAILS_ENV=production rails s -p 3000 -b lvh.me' #production 

Non dimenticare riavviare lo scheda terminale, chiudere e aprire nuova scheda o eseguire questo il comando sulla stessa scheda . ~/.bash_profile dipende da quello che hai usato in cima.

+1

Il motivo è che il file/etc/hosts mappa solo gli indirizzi IP, non le porte. Quindi è necessario ': 3000'. – Zabba

+0

perché non possiamo usare i binari s -p 3000 -b 0.0.0.0 –

+1

@DineshSaini Quindi, come si accede al sottodominio? il tuo server funzionerà comunque. – 7urkm3n

0

Modificare il file hosts è un modo estremamente complicato di fare questo genere di cose. Il problema qui è che alcuni software non leggono quel file e vanno direttamente al DNS per risolvere il problema.

Un servizio come xip.io può aiutare. È possibile utilizzare indirizzi come:

http://test.127.0.0.1.xip.io/ 

Questo risolverà sempre in 127.0.0.1.

Ci sono anche cose come Pow che vengono con il proprio resolver per il dominio .dev così test.dev funziona localmente senza dover modificare alcun file.

Il vantaggio di entrambi i sistemi è che è possibile aggiungere bit arbitrari e funziona ancora: subdomain.test.dev e subdomain.127.0.0.1.xip.io si risolve allo stesso modo.

Problemi correlati