¿Cuál es la forma más fácil de servir diferentes aplicaciones web en diferentes nombres de dominio usando una sola dirección IP?

Para servir múltiples sitios web en Apache o Nginx (los dos servidores web más populares) necesitará utilizar un concepto llamado host virtual. Un host virtual define un sitio web (o aplicación web, lo mismo aquí) por su nombre de host en lugar de por una dirección IP.

No necesita múltiples direcciones IP en absoluto en este día y edad. Ni siquiera para SSL (que deberías usar para la privacidad y seguridad del usuario).

Las empresas que ofrecen alojamiento compartido, como GoDaddy, lo hacen de manera predeterminada, ya que comparten una sola IP con cientos de clientes. Las empresas que ofrecen alojamiento VPS como Linode le brindan su propia IP, solo necesita configurar el host virtual (vhost) en el servidor. cPanel puede hacer esto por usted si no tiene las habilidades, aunque la administración del servidor web es una habilidad útil para aprender.

Si necesita qué tipo de alojamiento tiene y / o qué servidor web, deje un comentario sobre esta respuesta y lo guiaré en la dirección correcta.

Obtenga un proveedor de alojamiento calificado. Recomiendo FireHost simplemente las aplicaciones / sitios adicionales al instante para el VPS.

Agregue vhost a su servidor.

Esto le permitirá ejecutar múltiples aplicaciones bajo la misma IP.
Echa un vistazo a Ocean and Linode digital para obtener las mejores instrucciones detalladas sobre cómo hacer esto.
(Nginx va a matar a Apache casi siempre. Úselo)
Búsqueda de Google “vhost Digital Ocean Nginx”

“Nginx vhost Linode”

si no tiene un proveedor de alojamiento administrado para usted, simplemente no quiere uno y le gusta lo que tiene hacer lo que ve en las URL.

Espero que esto ayude,
Tom

Puede configurar fácilmente una instancia de Apache para servir a varios hosts virtuales.
Puede ejecutar fácilmente varios servidores web diferentes en diferentes puertos (uno en el puerto 80, uno en 8080, uno en 8081, etc.)
Si los quiere todos en el puerto 80, deberá usar uno como proxy y ejecutar los otros internamente. Por ejemplo, el host A es Apache escuchando en 80 en la red. El host B es Tomcat escuchando en 8080 en localhost. El servidor Apache en 80 solicitudes de proxy para B en 80 a http: // localhost: 8080
Esto no es tan raro, al menos con solo dos o 3 servidores diferentes. Creo que incluso se explica en la documentación de Tomcat.

Prácticamente todos los servidores web y clientes web modernos admiten el encabezado HTTP Host, que permite que varios nombres de host no relacionados compartan una sola dirección.

Consulte la documentación de cualquier software de servidor web que esté utilizando para encontrar cómo configurar esta función. En Apache, estos se denominan “hosts virtuales basados ​​en nombres” o simplemente “vhosts”: http://httpd.apache.org/docs/2.2… . No he usado nginx lo suficiente como para aconsejar sobre cómo configurarlo.

Además, tendrá que configurar el servidor HTTP principal para manejar cada host virtual disparejo de la manera que desea que se maneje. Si, por ejemplo, desea que uno sea manejado por Tomcat y el otro por Rails, deberá agregar las secciones de configuración apropiadas a la definición de host virtual para que el servidor HTTP pase las solicitudes del host virtual a Tomcat y las solicite por el otro a Rails. Los medios precisos para hacer esto, nuevamente, varían según el servidor HTTP, y lo remito a la documentación de su producto preferido para descubrir cómo hacerlo. A menudo hay más de una forma de lograr el resultado deseado, y la mejor opción a menudo depende bastante particularmente de detalles específicos que no establezca. (Tenga en cuenta también que esto no es una invitación para que brinde detalles adicionales con la esperanza de que le brinde servicios de ingeniería de forma gratuita).

Use subdominios y apúntelos a una sola dirección IP. Manejar las solicitudes usando apache / nginx config