
Tengo una pregunta sobre el uso de una computadora como servidor web. ¿Por qué una determinada computadora puede ser un servidor web? ¿Qué características lo hacen capaz de ser un servidor web? ¿Existe algún caso en el que una computadora no pueda actuar como servidor web?
Respuesta1
Prácticamente cualquier computadora puede usarse como servidor [web], siempre que pueda conectarse a una red y pueda ejecutar software de servidor web. Como un servidor web puede ser bastante sencillo, y existen servidores web gratuitos y de código abierto, en la práctica, cualquier dispositivo puede actuar como servidor web.
El mayor problema es el aspecto de las redes. Para que un sistema actúe como servidor, otras máquinas deben poder acceder a él. Si es sólo para uso en una LAN, no hay preocupaciones; sin embargo, si se va a utilizar desde Internet, entonces los datos deben enrutarse a él. Esto requiere una dirección IP estática asociada con el servidor (o un puerto reenviado a través de un enrutador) o un servicio externo que pueda asignar un nombre de dominio/subdominio a una dirección IP dinámica cambiante.
(FWIW, puedes comprar$10 computadorasque puede actuar como un servidor web básico).
Por supuesto, si bien cualquier dispositivo puede actuar como servidor web, la funcionalidad de los sitios web puede variar enormemente y es posible que un dispositivo barato (o una conexión lenta) no pueda satisfacer las demandas dependiendo de cuál sea el sitio web específico.
Observo que todo lo anterior habla de servidores web, pero lo mismo puede decirse de prácticamente cualquier tipo de servidor.
Respuesta2
No es nada complicado. Simplemente depende de su definición de "servidor web".
Es completamente posible ejecutar un "servidor web" en dispositivos tan simples como un microcontrolador.
Consideremos lo que debería hacer el servidor web mínimo. Se necesitaría enviar algo de texto, no necesariamente ni siquiera en HTML a un cliente. Necesitaría saber que una solicitud es una solicitud y responder adecuadamente. Ni siquiera necesitarías conectividad de red si tu "cliente" fuera local. Sería un servidor web completamente inútil.
Sería el equivalente en servidor web deuno de estos.
Sería mejor agregar conectividad de red para un cliente (Ethernet es bueno, pero no hay ninguna razón técnica por la que no pueda conectarse a un servidor web que se ejecuta en wifi) y poder enrutar desde un cliente.
$5ESP8266– un microcontrolador mínimo y económico con wifi puede manejar gran parte de eso, y tal vez incluso contenido dinámico básico
Utilizo algo así para compartir archivos rápidamente usando Python. Todavía es completamente posible escribir algo como esto en un microcontrolador o incluso ejecutarlo en un teléfono.
El contenido estático es aburrido. Agregue lenguajes dinámicos y necesitará comenzar a pensar en sistemas más pesados. Las cosas que ejecutan Linux o Windows son buenas.
En este punto, estamos hablando de enrutadores de consumo, pequeñas aplicaciones que utilizan páginas web en la interfaz de usuario y todo eso.
Un servidor web ni siquiera es un problema complejo y puede escribirse encinco líneas de bashy ejecutar en Linux. Ahoracondenar... Pero cualquier sistema que pueda ejecutar Doom puede ejecutar un servidor web.
AbienLa configuración de un servidor web capaz de manejar una carga determinada es algo más complicada.
Respuesta3
Lo mínimo
Literalmente,cualquierLa computadora puede convertirse en un servidor web si tiene lo siguiente:
- Una conexión de red
- Una aplicación de servidor web muy sencilla,como esto.
¿Pero sería suficiente? Esa es la pregunta difícil.
Sirviendo una intranet
Para que una computadora se convierta en un servidor web que proporcione páginas web o aplicaciones web modernas a toda una comunidad (por ejemplo, escuela, empresa, museo):
- Hardware capaz de dar respuesta a varios ordenadores a la vez. Tal vez una computadora vieja con Linux o Windows XP sea suficiente.
- Una conexión de red de alta velocidad con suficiente ancho de banda, digamos 1 Gbit/seg Ethernet o Wi-Fi 802.11g.
- Una buena aplicación de servidor web, comoIIS,apache,nginxootros. (Sorprendentemente, estos tres son gratuitos).
Pero eso era sólo un mínimo para operaciones pequeñas.Cuando su operación crece (es decir, obtiene más tráfico y ofrece aplicaciones web complejas en lugar de páginas estáticas), sus necesidades aumentan. Eventualmente necesitarás:
- Hardware de clase servidor, como servidores montados en bastidor con varias CPU Xeon y cientos de gigabytes de RAM
- Redes de fibra óptica
Sirviendo al mundo exterior
Para explotar la infraestructura de Internet para servir a todo el mundo, necesitará:
- Una dirección IP pública
- Un servidor DNS público
- Certificados digitales emitidos porautoridades certificadoras acreditadaspara establecer una conexión segura
Sin estos, todo lo que tienes es unpotencialServidor web.
Respuesta4
Si tienes a mano cualquier tipo de ordenador (PC, portátil, smartphone, raspberryPI...) con Python instalado, simplemente escribe:
$ python -m SimpleHTTPServer
O si tienes Node.js instalado:
$ npm install http-server -g
$ http-server
¡Felicitaciones, tienes un servidor web!