Contactos

Cómo funciona el servidor web en la computadora. Qué es un servidor Web. Prohibido - no puedes aquí

¿Por qué necesita un servidor y cuándo vale la pena comprarlo para su negocio?

Para empezar, aclaramos que el servidor es el hardware que utiliza el software del servidor.. Está optimizado para trabajar con otras computadoras (clientes). Los clientes del servidor pueden ser computadoras, teléfonos, faxes, impresoras y todos los demás dispositivos conectados a Internet. Cuanta más información planea almacenar en el hardware del servidor, la alimentación debe ser el servidor. ¿Para qué propósitos se alquila el servidor? Más en el material del blog. Hiperchost.

Las empresas utilizan servidores para el acceso general de todos los empleados a información específica y para uso compartido de recursos disponibles. Para que el servidor funcione bien, contrate a un administrador del sistema. Establece el equipo para trabajar, hace copia de seguridad, elimina los problemas que han surgido. El funcionamiento correcto del servidor depende directamente del trabajo de alta calidad y profesional del SIS.ADMIN. Tenga en cuenta que todos los usuarios de los servicios de la compañía reciben asistencia técnica gratuita, independientemente de la tarifa.

Pero aún así, muchos creen que no es necesario tener nuestro propio servidor, puede usar la computadora habitual. Pero queremos advertirle que esta es una solución muy vital. La computadora no podrá realizar muchas tareas que ejecutan el servidor. En primer lugar, el servidor no es solo el almacenamiento de la información, sino también la ejecución de una gran cantidad de solicitudes simultáneas con las que la PC habitual no lo haré y en un momento crítico simplemente perderá toda la información necesaria.

Si su empresa trabaja para un futuro prometedor, debe pensar en elegir un servidor.

Para empezar, entenderemos qué tipo de servidores están, dependiendo de las funciones realizadas.

Servidor de correo Toma la participación directa en la fabricación y envío de correo electrónico. Envía una carta a una dirección de correo electrónico, pero primero cae en el servidor de correo donde está procesando. La dirección del destinatario se indexa y se envía la letra. Este proceso involucra varios servidores de correo que se intercambian por la información necesaria. Acerca de los populares servidores de correo de Exim, Postfix, Sendmail se puede encontrar en el artículo.

Servidor de archivos Almacena todos los archivos de red a los que se accede desde otras computadoras. Para intercambiar archivos, se utiliza el protocolo FTP, con el que el usuario puede descargar todos los archivos en la red (imágenes, video, audio). Un servidor de archivos se puede considerar cualquier computadora que tenga mucho espacio en disco para almacenar información.

Servidor web. - Servidor conectado a Internet y recibiendo solicitudes de usuario a través de HTTP. Todos los sitios que están en línea están ubicados en servidores web. Este tipo de servidor es un conductor directo entre el sitio y los clientes. El servidor web recibe una solicitud, luego lo procesa y da el resultado (archivo o hipertexto). En esencia, el alojamiento web y el servidor web son idénticos. Servidor web Nginx y Apache: ¿qué es y cómo funciona este grupo? La respuesta a esta pregunta.

Servidores de bases de datos. En la mayoría, todos los programas utilizan bases de datos. Este tipo de servidores proporcionan acceso a datos utilizando el sistema cliente-servidor. Los servidores de bases de datos más populares son SQL Server (Microsoft), SQL Base Server, Oracle Server (Oracle Corporation), IBM DB2, Informix. Trabajan en la plataforma de varios sistemas operativos, como MSDOS, OS / 2, Xenix, UNIX.

Servidor proxy. - Podemos decir que este es el mismo servidor web, pero hace solicitudes en la red en lugar de un visitante. Esto es esencialmente un conjunto de programas. Estás conectado al servidor proxy, le da una solicitud, y está buscando información en lugar de usted, en algunos casos cambiándolos. Trabajar con un servidor proxy le permite proteger la computadora del cliente de los programas maliciosos, para ser anónimos en la red, restringir el acceso a ciertos recursos o prohibiciones de bypass viceversa. Sencillo instalación de un proxy del servidor a su VPS por 1 minuto, más.

Servidor de juegos Proporciona comunicación entre clientes en la red. Los clientes interactúan en el juego y se comunican entre sí. Este servidor recibe información, las solicitudes de procesos, actualiza el sistema y envía los resultados a todos los participantes del juego. Básicamente, los servidores de juegos colocan a las compañías de alojamiento.

Hoy en día, es muy difícil imaginar el trabajo de la empresa sin usar servidores. Este proceso que consume mucho tiempo participa en todo tipo de servidores.

¿Las razones por las que puede determinar si necesita para su empresa?

  • Desea sistematizar y centralizar toda la información que está en su empresa.
  • Muchos empleados deben estar conectados a la red, independientemente de su ubicación.
  • Necesitas un montón de espacio de almacenamiento.
  • Planea ejecutar software que ayudará al desarrollo de su negocio.
  • Su compañía desarrolla y crece, el número de empleados está aumentando constantemente.
  • Tu negocio no es muy grande, pero quieres parecerte a un profesional real.

El trabajo exitoso de la Compañía depende de la selección correcta del servidor, porque el servidor ayuda a organizar el funcionamiento ininterrumpido de la empresa, y asociar las unidades individuales, por ejemplo, aquellas que están en diferentes ciudades.

Especialistas de la empresa. Hiperhost. Con el placer, seleccionará el físico más óptimo o, en todos los parámetros, el servidor y garantizará la estabilidad de sus proyectos. Una comparación también le ayudará a asegurarse de que elija y seleccione correctamente el servicio dependiendo de la meta.

¿Necesita seleccionar el sistema operativo para la operación del servidor? Esto le ayudará a tomar la decisión correcta y evaluar todas las posibilidades de cada sistema operativo. Acerca de los paneles de control para servidores con Linux.

42788 veces 18 hoy vistos una vez (a)

El servidor es un tipo de programa, un dispositivo o complejo de software y hardware que implementa algunos servicios. A su vez, el servicio es un servicio que realiza ciertas acciones solicitadas por el cliente. Echemos un vistazo más de cerca al servidor.

Componentes del servidor de clientes

Veamos lo que el propio servidor consiste y sin ningún componente externo no puede hacerlo. Primero, el servidor pierde su significado en ausencia de clientes. El principio de operación del servidor es implementar las necesidades de los clientes. El cliente forma los requisitos para el servidor y toma alguna parte de su trabajo. Por lo tanto, no se trata solo del servidor más a menudo, sino sobre el sistema cliente-servidor del sistema. El cliente constituye solicitudes al servidor, a través del cual ve su voluntad. Por lo tanto, el siguiente, segundo componente del sistema será el lenguaje formal en el que se compilan estas solicitudes. Estos idiomas son un gran conjunto y la selección de esto o que depende directamente del servidor. Las solicitudes al servidor deben entregar de alguna manera. El tercer elemento es el canal de comunicación del cliente y el servidor a transmitir. Esto es más a menudo una red local, o Internet, o conexiones locales de una máquina. La solicitud del servidor ha llegado a aceptar y reconocer de alguna manera. El dispositivo receptor es la llamada interfaz externa, representa varios puertos que el servidor se escucha continuamente (o no continuamente). Las solicitudes recibidas se envían a la parte del programa del servidor, donde se procesan de acuerdo con la forma en que se programa el servidor. Y dependiendo de la solicitud recibida, se inicie uno u otro servicio con aquellos u otros datos iniciales. Los servicios serán el último componente del sistema. Después de que se complete el servicio, el resultado de la ejecución se envía al cliente en el mismo canal de comunicación. O, si el servicio es interactivo, entonces, en el proceso de su operación, habrá un intercambio intensivo de datos en el canal "Client-Server".

¿Qué es el servidor para qué?

Ahora, el propósito principal de los sistemas cliente-servidor es mover la carga de las máquinas cliente al servidor. Es por eso que el poder computacional de un servidor regular para un par de pedidos es más alto que la computadora doméstica ordinaria. Pero a veces, esta organización del trabajo del sistema da toda la carga en los clientes, y el servidor sirve para organizar su trabajo e interacción. O estrictamente por el contrario, el servidor realiza todos los cálculos, y los clientes solo sirven para emitir información al usuario. Como puede ver las formas de utilizar una masa modelo de cliente-servidor.

Pros y contras modelo

Los profesionales son obvios: el principio de operación del propio servidor proporciona la conveniencia de trabajar con el sistema, la facilidad de control de la misma, la distribución correcta de la carga en la máquina. Un minus es el lenguaje de las solicitudes y los componentes asociados. Si el usuario se refiere accidentalmente o deliberadamente al servidor una consulta formulada incorrectamente, entonces, si el programador no ha proporcionado un error, el sistema fallará. Las personas con conocimientos forman solicitudes a sabiendas incorrectas para que el sistema diseñado para emitir al cliente al cliente, trajo al atacante, por ejemplo, los datos de la tarjeta de crédito de todos los usuarios (si, por supuesto, el mismo servidor es responsable de los datos de la Mapas y el pronóstico del tiempo). Y el atacante feliz primero va y enumera todo el dinero de todos los usuarios del servicio, y luego se aleja mucho de la gestión de "K", que está investigando este crimen.

Seguridad

El modelo cliente-servidor de la organización de trabajo de la organización es muy conveniente en la programación, la gestión y la cosa de trabajo. Pero se puede usar un sistema de este tipo, cada componente del circuito de trabajo debe estar protegido de los intrusos y los usuarios que no saben cómo funciona el servidor, sino los botones a los que podrá alcanzar en una secuencia arbitraria. Para almacenar, transmitir y procesar datos importantes en el sistema, por ejemplo, información de la tarjeta de pago, el sistema de seguridad del servidor debe cumplir con cierta ley de requisitos.

Cualquier equipo, incluido el servidor, a veces comienza a trabajar de manera impredecible. No es absolutamente importante, ya sea que este equipo sea nuevo, o ha estado trabajando con plena carga durante varios años.

Los casos de falla y el trabajo incorrecto surgen muchos y los diagnósticos del problema a menudo se convierten en un emocionante rompecabezas.

A continuación, hablaremos sobre algunos casos interesantes y no triviales.

Solución de problemas

El registro de los problemas se produce con mayor frecuencia después de la circulación del cliente en el servicio de soporte técnico mediante un sistema de boletos.

En el caso de que la apelación de un cliente, que alquila los servidores de configuración fijos asignados, nos diagnostican para descubrir que el problema no está programado.

Sin embargo, los problemas de los problemas de software generalmente resuelven lo suyo, en cualquier caso, intentamos ofrecer la ayuda de los administradores de nuestros sistemas.

Si queda claro que el problema es el hardware (por ejemplo, el servidor no ve parte de la RAM), entonces en este caso siempre tenemos una plataforma de servidor similar en reserva.

Si detecta un problema de hardware, transfiramos discos de un servidor fallido a la copia de seguridad y, después de una pequeña configuración del equipo de red, el servidor comienza a funcionar. Por lo tanto, los datos no se pierden, y el tiempo de inactividad no excede los 20 minutos del momento de la circulación.

Ejemplos de solución de problemas y formas de eliminarlos.

Fallo de la red en el servidor

Existe la posibilidad de que después de transferir discos de un servidor de choque a la copia de seguridad dejará de funcionar en el servidor. Esto generalmente ocurre en el caso de utilizar los sistemas operativos de la familia Linux, como Debian o Ubuntu.

El hecho es que con la instalación inicial del sistema operativo, las direcciones MAC de las tarjetas de red se registran en un archivo especial ubicado en: /etc/udev/roles.d/70-persistent-net.rules.

Cuando se inicia el sistema operativo, este archivo compara los nombres de las interfaces de direcciones MAC. Al reemplazar el servidor para reservar, la interfaz de red Las direcciones MAC ya no coinciden, lo que conduce a la incapacidad de la red en el servidor.

Para resolver el problema, debe eliminar el archivo especificado y reiniciar el servicio de red, o reiniciar el servidor.

El sistema operativo sin encontrar este archivo generará automáticamente y comparará las interfaces ya con nuevas direcciones MAC de las tarjetas de red.

Reflejando direcciones IP después de eso no se requiere, la red comenzará a funcionar de inmediato.

Problema flotante con se congela.

Una vez, recibimos un servidor con el problema de los cuelgos aleatorios durante el trabajo. Revisó los registros de BIOS y IPMI, vacíos, sin errores. Ponen pruebas de estrés, cargando todos los núcleos del procesador en un 100%, con un control simultáneo de la temperatura, dependiendo de 30 minutos de trabajo.

En este caso, el procesador funcionó normalmente, los valores de temperatura no excedieron el estándar bajo carga, todos los refrigeradores estaban funcionando. Se quedó claro que no estaba sobrecalentado.

Esto debe eliminarse mediante las tasas probables de los módulos de RAM, por lo que configuran el servidor en la prueba de memoria utilizando un MEMTEST86 + lo suficientemente popular. Después de 20 minutos, se espera que el servidor cuelgue, dando un error de acuerdo con uno de los módulos de RAM.

Reemplazo del módulo a uno nuevo, ponemos nuevamente el servidor para la prueba, pero el fiasco nos está esperando: el servidor volvió a colgar, dando el error en otro módulo de RAM. Lo reemplazó. Otra prueba, una vez más, colgó, volvió a emitir errores en RAM. El examen atento de las ranuras de la RAM no reveló ningún defecto.

Hubo un posible perpetrador del problema, el procesador central. El hecho es que el controlador RAM está ubicado precisamente dentro del procesador y fue él quien podría fallar.

Después de haber eliminado el procesador, encontraron un desastre: un zócalo de un pin se rompió en la parte superior, la punta rota de Pina compró literalmente al sitio de contacto del procesador. Como resultado, cuando no hubo una carga en el servidor, todo funcionó adecuadamente, pero con un aumento en la temperatura del procesador, el contacto se rompió, terminando así el funcionamiento normal del controlador RAM, que causó el colgar.

Finalmente, el problema se resolvió reemplazando la placa base, ya que para restaurar el pasador roto del zócalo para nosotros, por desgracia, no en el poder, y esta ya es una tarea para el centro de servicio.

Ilustración imaginaria del servidor al instalar.

Los casos totalmente divertidos ocurren cuando los fabricantes de equipos comienzan a cambiar la arquitectura del hardware, negándose a apoyar las tecnologías antiguas a favor de lo nuevo.

Nos aplicamos con una queja sobre el servidor Cuelgue cuando intenta instalar el sistema operativo Windows Server 2008 R2. Después de iniciar con éxito el instalador, el servidor dejó de responder al mouse y al teclado en la consola KVM. Para localizar, el problema se conectó al servidor un mouse físico y un teclado, de todos modos, el instalador comienza y deja de responder a los dispositivos de entrada.

En ese momento, este servidor fue uno de los primeros sobre la base de la placa base SuperMicro, la placa base X11SSL-F. La configuración del BIOS fue un punto interesante de instalación de Windows 7, expuesta a deshabilitar. Dado que Windows 7, 2008 y 2008 R2 se implementan en el mismo instalador, configure este parámetro en habilitación y el mouse y el teclado milagrosamente ganados finalmente. Pero fue solo el comienzo de la EPIC con la instalación del sistema operativo.

En el momento de la elección del disco para instalar, no se mostró ningún disco, además, se estalló un error para instalar controladores adicionales. El sistema operativo se instaló con una unidad flash USB y una búsqueda rápida en Internet mostró que dicho efecto ocurre si el instalador no puede encontrar los controladores para el controlador USB 3.0.

Wikipedia informó que el problema se resuelve desconectando en BIOS de soporte USB 3.0 (controlador XHCI). Cuando abrimos la documentación de la placa base, se esperaba sorpresa: los desarrolladores decidieron abandonar completamente el controlador EHCI a favor de XHCI (interfaz de controlador de host extensible). En otras palabras, todos los puertos USB en esta placa base son puertos USB 3.0. Y si apaga el controlador XHCI, desactivaremos los dispositivos de entrada, lo que hace que sea imposible trabajar con el servidor y, en consecuencia, instalar el sistema operativo.

Dado que las plataformas de servidor no estaban equipadas con unidades para leer discos CD / DVD, la única solución al problema fue la integración de los controladores directamente en la distribución del sistema operativo. Solo integrando el controlador del controlador USB 3.0 y la traducción de la imagen de instalación, pudimos instalar Windows Server 2008 R2 a este servidor, y este caso ingresó nuestra base de conocimientos para que los ingenieros no pasen con el tiempo para los intentos infructuosos.

Hay aún más divertidos más casos cuando los clientes nos traen equipo para alojamiento, y no se comporta como se espera. Así es como sucedió con el estante de disco Dell PowerVault.

El dispositivo es un sistema de almacenamiento de datos con dos controladores de disco y interfaces de red para el protocolo ISCSI. Además de estas interfaces, hay un puerto MGMT para el control remoto.

Entre nuestros servicios para el equipo colocado, hay un servicio especial "Puerto adicional 10 Mbps", que se requiere si necesita conectar las herramientas de control remoto para el servidor. Estos fondos son nombres diferentes:

  • "OIT" en Hewlett-Packard;
  • IDRAC para Dell;
  • IPMI de Supermicro.
Son aproximadamente el mismo estado del servidor de monitoreo y acceso a la consola remota. En consecuencia, no se requiere el canal de alta velocidad: 10 Mbps es suficiente para un trabajo cómodo. Fue este servicio que fue ordenado por un cliente. Pavimentamos el correspondiente cruce de cobre, y personalizamos el puerto de nuestro equipo de red.

Para limitar la velocidad, el puerto se configura simplemente como 10BASE-T y se incluye en el trabajo, teniendo una velocidad máxima de 10 Mbps. Después de que todo estuvo listo, conectamos el puerto MGMT del estante del disco, pero el cliente casi informó de inmediato que no funcionó.

Después de revisar el estado del puerto del conmutador, encontramos una inscripción desagradable "El enlace físico está abajo". Dicha inscripción dice que hay problemas con la conexión física entre el interruptor y el equipo del cliente conectado a ella.

Un conector mal comprimido, un conector roto, las venas interrumpidas en el cable, aquí hay una pequeña lista de problemas que conducen a la ausencia de un enlace. Por supuesto, nuestros ingenieros inmediatamente tomaron un probador de par trenzado y revisaron la conexión. Todas las venas fueron perfectamente apodadas, ambos extremos del cable estaban comprimidos perfectamente. Además, incluida una computadora portátil de prueba en este cable, obtenimos, ya que debe conectarse a una velocidad de 10 MB / s. Se quedó claro que el problema en el lado del equipo del cliente.

Dado que siempre intentamos ayudar a nuestros clientes a resolver problemas, decidimos averiguar qué causa exactamente la falta de un enlace. Estudió cuidadosamente el conector de puerto MGMT, todo está en orden.

Se encuentra en el sitio web del fabricante el manual de instrucciones originales para aclarar si este puerto es posible desde el lado del software. Sin embargo, no se proporcionó tal posibilidad: el puerto en ningún caso se levantó automáticamente. A pesar del hecho de que dicho equipo siempre debe admitir Auto-MDI (X): en otras palabras, se determina correctamente qué cable se incluye: un regular o cruce, experimentamos por el bien del cruce y encendimos el mismo interruptor en el mismo puerto. Intenté configurar por la fuerza el parámetro DUPLEX en el puerto de conmutación. El efecto fue cero, el enlace no fue y las ideas ya han terminado.

Aquí, alguien de los ingenieros expresó absolutamente contrario al sentido común, el supuesto de que el equipo no admite 10BASE-T y solo funcionará en 100BASE-TX o incluso en 1000 Base-X. Por lo general, cualquier puerto, incluso en el dispositivo más barato, compatible con 10BASE-T y primero, el supuesto del ingeniero compartido como "ficción", pero de la desesperanza decidió intentar cambiar el puerto en 100BASE-TX.

Nuestra sorpresa no había límite, enlace se levantó instantáneamente. Lo que se debe exactamente a la falta de apoyo 10BASE-T en el puerto MGMT sigue siendo un misterio. Tal caso es muy raro, pero hay un lugar para ser.

El cliente se sorprendió al menos nuestro y muchas gracias al problema. En consecuencia, dejó el puerto en 100BASE-TX, lo que limita la velocidad en el puerto directamente utilizando el mecanismo de límite de velocidad incorporado.

Negativa de turbinas de enfriamiento

Una vez que el cliente vino a nosotros, pidió que eliminara el servidor y llevarlo a la zona de servicio. Los ingenieros lo hicieron todo y lo dejaron solo con el equipo. Pasó una hora, el segundo, el tercer cliente lanzó todo el tiempo / paró el servidor y le preguntamos cuál era el problema.

Resulta que el servidor de producción de Hewlett-Packard ha rechazado dos turbinas de enfriamiento de seis. El servidor está encendido, le da un error de enfriamiento e inmediatamente se apaga. Al mismo tiempo, en el servidor hay un hipervisor con servicios críticos. Para restaurar el personal de los servicios, fue necesario realizar una migración urgente de máquinas virtuales a otra fuente física.

Decidimos ayudar al cliente de la siguiente manera. Por lo general, el servidor entiende que todo está bien con el ventilador de refrigeración, solo leyendo el número de revoluciones. Al mismo tiempo, por supuesto, los ingenieros de Hewlett-Packard hicieron todo, de modo que era imposible reemplazar el análogo original de la turbina: un conector no estándar, pinout no estándar.

El original Dichos datos cuesta alrededor de $ 100 y es imposible simplemente ir y comprar, es necesario ordenar desde el extranjero. Afortunadamente, Internet encontró un esquema con el pinout original y descubrió que uno de los pasadores es responsable de leer el número de velocidades del motor por segundo.

Además, fue el caso de la tecnología, tomaron un par de cables para prototipar (la voluntad del caso estaba a la mano, algunos de nuestros ingenieros son aficionados a Arduino) y simplemente conectan los pasadores de los trabajadores vecinos de la turbina con los conferencistas de los conferencistas. El servidor comenzó y el cliente finalmente logró migrar máquinas virtuales y lanzar servicios para trabajar.

Por supuesto, todo esto se cumplió exclusivamente para la responsabilidad del cliente, sin embargo, como resultado, tal movimiento no estándar hizo posible reducir un mínimo al mínimo.

¿Y dónde están los discos?

En algunos casos, la causa del problema a veces es tan no trivial que toma una cantidad de tiempo muy grande. Así que resultó cuando uno de nuestros clientes se quejó de un vertedero aleatorio de discos y un servidor. La plataforma de hardware es SuperMicro en el alojamiento 847 (factor de forma 4U) con cestas para conectar 36 discos. El servidor se instaló tres del mismo controlador RAID de Adaptec, cada uno conectado a 12 discos. En el momento del problema, el servidor dejó de ver un número aleatorio de discos y dependía. El servidor se derivó de la producción y se inició diagnósticos.

Lo primero que logró averiguar: los discos se cubrieron con un solo controlador. Al mismo tiempo, los "discos caídos" desaparecieron de la lista en la utilidad de control Adaptec nativa y re-aparecieron allí solo con el apagado completo de la potencia del servidor y la conexión posterior. Lo primero que vino a la mente es el software del controlador de software. En los tres controladores se pararon un pequeño firmware diferente, por lo que se decidió a todos los controladores instalar una versión del firmware. Realizado, conducido al servidor en los modos de carga máximos: todo funciona como debería ser. Posee el problema como resuelto, el servidor se le entregó al cliente a la producción.

Dos semanas, vuelve a llamar al mismo problema. Se decidió reemplazar el controlador a uno similar. Completado, cosido, conectado, puesto en pruebas. El problema permanece: después de un par de días, todos los discos se han caído en el nuevo controlador y el servidor se ha colgado de manera segura.

Reinstaló el controlador en otra ranura, reemplazó los cables de backplane y SATA desde el controlador hasta el plano posterior. Las pruebas de semana y nuevamente los discos se cayeron: el servidor volvió a colgar. La apelación para el apoyo a los resultados de Adaptec no traía: revisaron los tres controladores y no encontraron problemas. Reemplazó la placa base, la plataforma de recuperación casi desde cero. Todo lo que causó las más mínimas dudas fue reemplazado por uno nuevo. Y el problema se manifestó de nuevo. Mystica y solamente.

El problema fue capaz de resolver accidentalmente cuando cada disco comenzó a verificar por separado. Con una cierta carga, uno de los discos comenzó a derribar y dio un corto cierre al puerto SATA, y no hubo ninguna indicación de emergencia. El controlador ha dejado de ver parte de los discos y nuevamente comenzó a identificarlos solo cuando se vuelve a conectar por nutrición. Así es como un solo disco de falla dedujo toda la plataforma del servidor.

Conclusión

Por supuesto, esta es solo una pequeña parte de situaciones interesantes que han sido resueltas por nuestros ingenieros. Algunos problemas "captura" no son lo suficientemente fáciles, especialmente cuando no hay consejos en los registros. Pero cualquier situación similar estimule a los ingenieros para comprender en detalle el dispositivo del equipo del servidor y encontrar una amplia variedad de problemas.

Estos son casos tan divertidos en nuestra práctica.
¿Y qué te encontraste? Bienvenido a los comentarios.

Qué es un servidor Web? Desde el punto de vista del hombre promedio, esta es una caja negra que procesa las solicitudes del navegador y emite una página web en respuesta. Especialista técnico que le brinda en una masa de términos de bajo tacto. Como resultado, los administradores novatos de servidores web a veces son difíciles de descubrir la diversidad de términos y tecnologías. De hecho, el área de desarrollo web se está desarrollando dinámicamente, pero la base de muchas soluciones modernas son las tecnologías básicas y los principios de los que hablaremos hoy y hablar.

Si no sabe por dónde empezar, entonces necesita comenzar primero. Para no confundirse en toda la variedad de tecnologías web modernas, debe referirse a la historia para comprender dónde comenzó la moderna Internet y las tecnologías desarrolladas y mejoradas.

Servidor http.

Al amanecer del desarrollo de Internet, los sitios fueron un simple almacenamiento de documentos especialmente marcados y algunos datos relacionados: archivos, imágenes, etc. Para que los documentos se referen entre sí y los datos asociados se propusieron un idioma de marcado HTML HTML especial, y para acceder a dichos documentos a través de la red de Internet HTTP. Y el lenguaje, y el protocolo, desarrollando y mejorando, vivieron hasta este día sin cambios significativos. Y solo comenzó a venir a reemplazar el protocolo HTTP / 1.1 adoptado en 1999, el protocolo HTTP / 2 conlleva cambios fundamentales teniendo en cuenta los requisitos de la red moderna.

El protocolo HTTP se implementa mediante tecnología de cliente-servidor y funciona en el principio de solicitud de solicitud sin almacenar el estado. El propósito de la solicitud es un cierto recurso que se determina. identificador de recursos unificado - Uri (Identificador de recursos uniforme), HTTP utiliza una de las especies de URI - Url (Localizador Uniforme de Recursos) - puntero de recursos universalAdemás de la información sobre el recurso, también determina su ubicación física.

Tarea del servidor HTTP para manejar la solicitud del cliente y darle el recurso requerido, o para informar la imposibilidad de hacer esto. Considere el siguiente esquema:


El usuario a través de un cliente HTTP, con mayor frecuencia este navegador, solicita una conexión URL determinada del servidor HTTP, el servidor verifica y le da al archivo URL correspondiente a esto, suele ser una página HTML. El documento obtenido puede contener referencias a recursos relacionados, como imágenes. Si necesitan que se muestren en la página, el cliente los solicita de manera consistente desde el servidor, excepto que las imágenes también se pueden solicitar a las hojas de estilo, los scripts ejecutados en el lado del cliente, etc. Después de recibir todos los recursos necesarios, el navegador los procesará de acuerdo con el código de documento HTML y le dé al usuario una página lista.

Como muchas personas ya adivinaban, bajo el nombre del servidor HTTP en este esquema, hay una esencia que es más conocida hoy en día llamada Web Server. El objetivo principal y la tarea del servidor web es procesar las solicitudes de HTTP y volver al usuario de sus resultados. El servidor web no sabe cómo generar contenido independientemente y funciona solo con contenido estático. Esto es relevante para los servidores web modernos, a pesar de toda la riqueza de sus capacidades.

Durante mucho tiempo, un servidor web fue suficiente para implementar un sitio de pleno derecho. Pero con el crecimiento de la red de HTML estático, se volvió bruscamente. Un ejemplo simple: cada página estática es autosuficiente y debe contener enlaces a todos los recursos relacionados con él, al agregar nuevas páginas del enlace a ellos se requerirá para agregar a las páginas ya existentes, de lo contrario, el usuario nunca podrá Ponte en ellos.

Los sitios de ese tiempo en general les gustó un poco en lo moderno, por ejemplo, a continuación muestra la vista de uno de los pioneros del Internet de habla rusa, el sitio de Rambler:

Y la transición a cualquiera de los enlaces generalmente puede llevar a un usuario moderno en el desconcierto, para regresar de una página de este tipo que no es posible, excepto a través de presionar el botón del mismo nombre en el navegador.

Un intento de crear algo más o menos similar al sitio moderno muy pronto se convirtió en una cantidad creciente de trabajo para realizar cambios en las páginas existentes. Después de todo, si cambiamos algo en una parte común del sitio, por ejemplo, un logotipo en el encabezado, entonces necesitamos hacer este cambio a todas las páginas existentes. Y si cambiamos el camino a una de las páginas o lo eliminamos, entonces tendremos que encontrar todos los enlaces y cambiarlos o eliminarlos.

Por lo tanto, el siguiente paso en el desarrollo de servidores web se ha convertido en soporte para la tecnología. habilitar en el lado del servidor - SSI (El lado del servidor incluye.). Permitió el contenido de diferentes archivos en el código de la página en el código de la página, lo que hizo posible realizar elementos repetidos, como tapa, sótano, menús y similares. En los archivos individuales y simplemente conecte cuando se complete la página.

Ahora, para cambiar el logotipo o el elemento del menú, deberá hacer solo un archivo, en lugar de editar todas las páginas existentes. Además, SSI permitió algún contenido dinámico en las páginas, por ejemplo, una fecha actual y realizar condiciones simples y trabajar con variables. Fue un paso significativo hacia adelante, facilitando el trabajo de los webmasters y mejorando la comodidad de los usuarios. Sin embargo, para implementar un sitio verdaderamente dinámico, esta tecnología no ha permitido.

Vale la pena señalar que SSI se aplica activamente hoy en día, donde en el código de la página necesita para insertar un contenido estático, principalmente debido a la simplicidad y la indemnización a los recursos.

CGI

El siguiente paso en el desarrollo de la tecnología web fue el surgimiento de programas especiales (scripts) que realizan el procesamiento de solicitudes de usuario en el lado del servidor. La mayoría de las veces están escritas en lenguas de scripting, originalmente fue PERL, hoy en día la palma de liderazgo tiene PHP. Gradualmente surgió toda una clase de programas: sistemas de gestión de contenido - Cms. (SISTEMA DE GESTIÓN DE CONTENIDOS.), que representan aplicaciones web de pleno derecho capaces de proporcionar un procesamiento dinámico de las solicitudes de usuario.

Ahora, un punto importante: los servidores web no pueden y no saben cómo realizar los scripts, su tarea es dar un contenido estático. Aquí, una nueva entidad está llegando a la escena: el servidor de aplicaciones que es un intérprete de los idiomas de scripting y con qué aplicaciones web escritas en ellas. Los DBMS se usan comúnmente para almacenar datos, lo que se debe a la necesidad de acceder a una gran cantidad de información interrelacionada.

Sin embargo, el servidor de aplicaciones no sabe cómo trabajar con el protocolo HTTP y procesar las solicitudes de usuario, ya que esta es una tarea del servidor web. Para asegurar que se desarrollara su interacción interfaz General Gateway - Cgi (INTERFAZ DE ENTRADA COMÚN.).

Debe entenderse claramente, CGI no es un programa y no es un protocolo, es la interfaz, es decir, Una combinación de formas de interactuar entre aplicaciones. Tampoco debe confundirse con el término CGI con el concepto de una aplicación CGI o un script CGI, que indique el programa (Script) que admite el trabajo a través de la interfaz CGI.

Para la transferencia de datos, se utilizan transmisiones de E / S estándar, desde un servidor web a los datos de la aplicación CGI se transmite a través de stdinson aceptados de nuevo a través de stdoutPara los mensajes de error utilizados. stderr..

Considere el proceso de funcionamiento de dicho sistema. Habiendo recibido una solicitud del navegador del usuario, el servidor web determina que el contenido dinámico se solicita y forma una solicitud especial, que a través de la interfaz CGI dirige una aplicación web. Cuando lo recibe, la aplicación comienza y ejecuta el resultado, cuyo resultado es el código HTML de una página formada dinámicamente que se transmite al servidor web, después de lo cual la aplicación completa su trabajo.

Otra diferencia importante entre el sitio dinámico: sus páginas no existen físicamente en el formulario dado al usuario. De hecho, hay una aplicación web, es decir. Un conjunto de scripts y plantillas, y una base de datos que almacena los materiales del sitio y la información del servicio, por separado, hay contenido estático: imágenes, scripts Java, archivos.

Después de recibir la solicitud, la aplicación web recupera los datos de la base de datos y los llena con la plantilla especificada en la consulta. El resultado se otorga al servidor web, que complementa el contenido estático formado de esta manera (imágenes, scripts, estilos) y la entrega al navegador de usuario. La página en sí no se guarda en ningún lugar, excepto en el caché, y al recibir una nueva consulta, la página se vuelve a generar.

Las ventajas de CGI incluyen lenguaje y independencia arquitectónica: la aplicación CGI se puede escribir en cualquier idioma y trabajar igualmente bien con cualquier servidor web. Dada la simplicidad y la apertura de la norma, esto condujo al rápido desarrollo de las aplicaciones web.

Sin embargo, además de las ventajas, CGI tiene desventajas sustanciales. El principal es alto en la parte superior del inicio y deteniendo el proceso, lo que implica un aumento de los requisitos de hardware y un bajo rendimiento. Y el uso de las transmisiones estándar de E / S limita la posibilidad de escalar y garantizar una alta disponibilidad, ya que requiere que el servidor web y el servidor de aplicaciones estén dentro del mismo sistema.

Actualmente, CGI prácticamente no se aplica, ya que las tecnologías más avanzadas vinieron a reemplazarlo.

Fastcgi.

Como sigue del nombre, el objetivo principal de desarrollar esta tecnología fue aumentar el rendimiento de CGI. Ser su desarrollo adicional de FastCGI es un protocolo de cliente-servidor para interactuar un servidor web y un servidor de aplicaciones que proporciona un alto rendimiento y seguridad.

FastCGI elimina el principal problema de CGI: reinicie el proceso de solicitud web a cada solicitud, los procesos FastCGI se están ejecutando constantemente, lo que le permite ahorrar tiempo y recursos significativamente. Para transferir datos en lugar de flujos estándar se utilizan. Tomas de unix o TCP / IP.Eso le permite organizar un servidor web y un servidor de aplicaciones en diferentes hosts, proporcionando así la escala y / o alta disponibilidad del sistema.

También podemos ejecutar varios procesos FASTCGI en una computadora, que pueden procesar solicitudes en paralelo, o tener diferentes configuraciones o versiones del idioma con guión. Por ejemplo, puede tener simultáneamente varias versiones PHP para diferentes sitios, enviándolos a diferentes procesos FastCGI.

Para controlar los procesos FASTCGI y la distribución de carga, administre los administradores de procesos, pueden ser parte de un servidor web y aplicaciones separadas. Los servidores web de Apache y LightTPD populares tienen procesos FASTCGI incorporados, mientras que NGINX requiere un administrador externo para su trabajo.

PHP-FPM y Spawn-FCGI

De los gerentes externos para procesos FASTCGI, aplican PHP-FPM y Spawn-FCGI. PHP-FPM originalmente fue un conjunto de parches para PHP de Andrei Nigmatulin, quien resolvió una serie de problemas de gestión de procesos FastCGI, comenzando con la versión 5.3, parte del proyecto y entra en el suministro de PHP. PHP-FPM puede controlar dinámicamente el número de procesos PHP según la carga, reinicie las piscinas sin pérdida de solicitudes, reinicio de emergencia de los procesos de falla y es un administrador bastante avanzado.

Spawn-FCGI es parte del proyecto LightTPD, pero el servidor web del mismo nombre no está incluido, el LightTPD predeterminado utiliza su propio administrador de procesos más simples. Los desarrolladores recomiendan usarlo en los casos en los que debe administrar los procesos FASTCGI ubicados en otro host, o se requieren configuraciones de seguridad avanzadas.

Los gerentes externos le permiten aislar cada proceso FASTCGI en su CHROOT (cambiando el directorio raíz de la aplicación sin la posibilidad de acceder a ella), excelente desde Chroot de otros procesos y de Chroot Web Server. Y, como ya hemos hablado, le permite trabajar con las aplicaciones FASTCGI ubicadas en otros servidores a través de TCP / IP, en el caso del acceso local, debe seleccionar el acceso a través de un zócalo UNIX como un tipo de conexión rápida.

Si vuelve a mirar el esquema, veremos que tenemos un nuevo elemento: el administrador de procesos, que es un intermediario entre los servidores web y los servidores de aplicaciones. Esto complica un poco el esquema, a medida que configura y acompañe más servicios, pero al mismo tiempo abre más oportunidades, lo que le permite configurar cada elemento del servidor claramente debajo de sus tareas.

En la práctica, elegir entre el administrador incorporado y los gastos externos para evaluar la situación y elegir exactamente la herramienta que sea más adecuada para sus solicitudes. Por ejemplo, creando un servidor simple para varios sitios en motores típicos. La aplicación de un administrador externo será explícitamente innecesario. Aunque nadie te impone en su punto de vista. Los temas de Linux y es bueno que todos puedan, ya que del diseñador, cobra exactamente lo que necesita.

SCGI, PCGI, PSGI, WSGI y otros

Sumergiendo el tema del desarrollo web, sin duda, se encontrará con la mención de varias tecnologías de CGI, la más popular de las que enumeramos en el título. De tal variedad, es posible confundirse, pero si lees cuidadosamente el comienzo de nuestro artículo, sabe cómo funciona CGI y FastCGI, y, por lo tanto, tratar con cualquiera de estas tecnologías no será difícil para usted.

A pesar de las diferencias en la implementación de una u otra solución, los principios básicos siguen siendo comunes. Todas estas tecnologías proporcionan una interfaz de puerta de enlace ( Interfaz de puerta de enlace.) Para interactuar con un servidor web con un servidor de aplicaciones. Las puertas de enlace le permiten desatar el servidor web y la aplicación web entre sí, lo que le permite usar cualquier combinación sin importar la incompatibilidad posible. En pocas palabras, no importa si su servidor web admite tecnología específica o lenguaje de scripting, lo principal es que puede trabajar con el tipo de puerta de enlace deseado.

Como hemos enumerado en el título, todo un paquete de abreviaturas, pasaremos más detalladamente.

Scgi (Interfaz de pasarela común simple) - interfaz de pasarela común simple - Desarrollado como una alternativa a CGI y es en gran medida similar a FASTCGI, pero más sencillo de implementar. Todo lo que contamos sobre el FastGCI es cierto para SCGI.

PCGI (Perl Common Gateway Interface- La biblioteca Perl para trabajar con la interfaz CGI, durante mucho tiempo fue la opción principal de trabajar con las aplicaciones PERL a través de CGI, tiene un buen rendimiento (en la medida de lo aplicable a CGI) con necesidades modestas de recursos y una buena protección de sobrecarga.

PSGI (Perl Web Server Gateway Interface) - Tecnología del servidor web de interacción y servidor de aplicaciones para PERL. Si PCGI es una herramienta para trabajar con una interfaz CGI clásica, entonces PSGI recuerda FASTCGI. El servidor PSGI representa un entorno para realizar aplicaciones PERL que se ejecuta constantemente como un servicio y puede interactuar con un servidor web a través de sockets TCP / IP o UNIX y proporciona aplicaciones PERL como FastCGI.

WSGI. (Interfaz de la puerta de enlace del servidor web) - Otra interfaz de pasarela específica diseñada para interactuar un servidor web con un servidor de aplicaciones de aplicación para programas escritos en Phyton.

Es fácil de hacer, todas las tecnologías enumeradas por nosotros están en un grado u otro análogos de CGI / FASTCGI, pero para aplicaciones específicas. Los datos que hemos dado será suficiente para la comprensión general del principio y los mecanismos de su trabajo, y su estudio más profundo tiene sentido solo con un trabajo serio con las tecnologías e idiomas especificados.

Servidor de aplicaciones como módulo Apache

Si antes hablamos de un cierto servidor web abstracto, ahora estamos hablando de una solución específica y el punto aquí no está en nuestras preferencias. Entre los servidores web, Apache ocupa un lugar especial, en la mayoría de los casos, cuando hablan de un servidor web en la plataforma Linux, y sobre el servidor web en absoluto, se aplicará a Apache.

Podemos decir que este es un tipo de servidor web predeterminado. Tome cualquier alojamiento en masa: habrá Apache, tomará cualquier aplicación web: la configuración predeterminada se realiza en Apache.

Sí, desde el punto de vista tecnológico, Apache no es una corona de tecnología, pero es el que representa al medio dorado, es simple, claro, flexible en la configuración, universal. Si realiza los primeros pasos en el edificio del sitio, entonces Apache es su elección.

Aquí podemos reprochar que Apache durante mucho tiempo ha sido irrelevante, todos los "niños reales" ya han establecido NGINX, etc. etc., por lo que explicarás este momento con más detalle. Todos los CMS Populares están configurados para usar con Apache, le permite enfocar toda la atención para trabajar con una aplicación web, eliminando la posible fuente de problemas del servidor web.

Todos los foros populares también están implícitos como un servidor web Apache y la mayoría de los consejos y recomendaciones se relacionan con él. Al mismo tiempo, los servidores web alternativos generalmente requieren configuraciones más delgadas y completas, tanto desde el lado del servidor web como de la aplicación web. Al mismo tiempo, los usuarios de estos productos generalmente son mucho más experimentados y los recién llegados típicos en su entorno no se discuten. Como resultado, la situación puede formarse cuando nada funciona y pregunte a nadie. Con Apache, se garantiza que esto no debe suceder.

En realidad, ¿qué hicieron esto los desarrolladores de Apache, lo que permitió que su cerranes tuviera un lugar especial? La respuesta es lo suficientemente simple: fueron a su manera. Si bien CGI se ofreció a abstractar de soluciones específicas, centrándose en una puerta de enlace universal, Apache se aceptó de manera diferente: el servidor web y el servidor de aplicaciones fueron más integrados posible.

De hecho, si ejecuta el servidor de la aplicación como un módulo de servidor web en el espacio de direcciones en general, obtendremos un esquema mucho más simple:

¿Qué ventajas da? El esquema más simple y menos elementos en él, más fácil será más barato acompañarlo y mantenerlo, más pequeño los puntos de falla. Si puede que no sea tan importante para un solo servidor, entonces dentro del alojamiento, este es un factor muy importante.

La segunda ventaja es el rendimiento. Nuevamente, los fanáticos de Nginx nuevamente, gracias al trabajo en un solo espacio de direcciones, el rendimiento del servidor de aplicaciones Apache + Mod_PHP siempre será de 10-20% más rápido que cualquier otro servidor web + FastCGI (u otra solución CGI). Pero también debe recordarse que la velocidad del sitio se debe, no solo al rendimiento del servidor de aplicaciones, sino también una serie de otras afecciones en las que los servidores web alternativos pueden mostrar un resultado significativamente mejor.

Pero hay otra ventaja, es una ventaja, esta es la capacidad de configurar el servidor de aplicaciones al nivel de un sitio o usuario separado. Volvamos un poco atrás: en los esquemas FastCGI / CGI, el servidor de aplicaciones es un servicio separado, con su propio configuración, que incluso puede trabajar en otro usuario o en otro host. Desde el punto de vista del administrador de un solo servidor o algún proyecto importante, es excelente, pero para los usuarios y los administradores de alojamiento no son muy.

El desarrollo de Internet condujo al hecho de que el número de posibles aplicaciones web (CMS, scripts, marcos, etc.) se hizo muy grande, y el umbral bajo de entrada atrajo a una gran cantidad de personas sin conocimientos técnicos especiales. Al mismo tiempo, las diferentes aplicaciones web podrían requerir diferentes configuraciones de servidor de aplicaciones. ¿Cómo ser? ¿Cada vez que se puede contactar con el apoyo?

La decisión fue bastante simple. Dado que el servidor de aplicaciones es ahora parte del servidor web, puede instruir a este último que administre su configuración. Tradicionalmente, los archivos HTTAccess utilizados para administrar la configuración de Apache, además de los archivos de configuración, que permitieron a los usuarios escribir sus directivas allí y aplicarlas al directorio donde se encuentra este archivo y a continuación, si la configuración no se superpone por su archivo HTTAccess. En el modo MOD_PHP, estos archivos también le permiten cambiar muchas opciones de PHP para un sitio o directorio separado.

Para realizar cambios, no necesita reiniciar el servidor web y, en caso de error, solo este sitio dejará de funcionar (o parte de él). Además, realice cambios en un archivo de texto simple y colóquelo en una carpeta en el sitio para que incluso los usuarios no preparados y de manera segura para el servidor en su conjunto.

La combinación de todas estas ventajas y proporcionó a Apache tan amplia aplicación y estado de un servidor web universal. Otras decisiones pueden ser más rápidas, más económicas, mejores, pero siempre requieren entornos para una tarea, por lo tanto, apliquen principalmente en proyectos objetivo, Apache está completamente dominada en el segmento de masas.

Hablando de los méritos, nos dirigimos a las desventajas. Algunos de ellos son simplemente el lado opuesto de la medalla. El hecho de que el servidor de aplicaciones sea parte del servidor web proporciona ventajas en el rendimiento y la facilidad de configuración, pero al mismo tiempo nos limita a partir del punto de vista de seguridad: el servidor de aplicaciones siempre se ejecuta en nombre del servidor web y en La flexibilidad del sistema, no podemos diseccionar el servidor web y el servidor de aplicaciones a diferentes hosts, no podemos usar servidores con diferentes versiones del idioma de scripting o diferentes configuraciones.

El segundo menos es un mayor consumo de recursos. En el esquema CGI, el servidor de aplicaciones genera una página y le da un servidor web, liberando los recursos, el paquete Apache + MOD_PHP mantiene los recursos del servidor de aplicaciones hasta que el servidor web devuelve el contenido de la página del cliente. Si el cliente es lento, los recursos estarán ocupados por todo el tiempo de su servicio. Por eso, antes de que Apache a menudo ponen a NGINX, lo que desempeña el papel de un cliente rápido, esto permite a Apache entregar rápidamente la página y liberar recursos al cambiar la interacción con el cliente a un Nginx más económico.

Conclusión

En un artículo, todo el espectro de tecnologías modernas es imposible, por lo que nos enfocamos solo en los principales, algunas cosas se van deliberadamente para la escena, así como también recurridos a simplificaciones sustanciales. Sin lugar a dudas, comenzando a trabajar en esta área, necesitará un estudio más profundo del tema, pero para percibir nuevos conocimientos, se necesita una cierta fundación teórica, que intentamos sentar este material.

Si la computadora se usa diariamente, que está conectada a la red, si Internet también está conectado en el gadget móvil, cada usuario está configurado de vez en cuando con la palabra - "servidor". Y esta palabra puede ocurrir en diferentes combinaciones, y no todos los usuarios entienden de qué se trata. ¿Qué está ocultando antes de la palabra "servidor", y por qué es necesario para los usuarios?

Bajo la noción de "Servidor", un dispositivo de hardware y un software para ella se pueden ocultar (hardware y virtual). El servidor de hardware es una computadora separada. Se necesita para garantizar el trabajo de otros PC y equipos de oficina. El servidor virtual es el software. Al mismo tiempo, el servidor específico une estos dos tipos.

Anteriormente, se debe recordar que su tarea incluye redes y usuarios, y no la gestión de la red. Los usuarios en sí mismos ponen las tareas al servidor, y él se decide rápidamente. Cuanto mejor sea el servidor, por ejemplo, como los servidores HP, mejor cumple sus deberes.

El trabajo de grandes empresas en las que se instala muchos equipos electrónicos ya es difícil imaginar todos estos dispositivos en una red sin combinar. El servidor en la empresa le permite administrar de forma remota los equipos de oficina y le permite interactuar con una PC.

El desglose del servidor o el fracaso en su trabajo puede finalizar el desastre.

En las empresas, los servidores le permiten optimizar el trabajo de todos los departamentos. Pero en la vida cotidiana, a menudo nos enfrentamos a la operación de los servidores. En particular, los operadores en los bancos de efectivo y bancos que utilizan los documentos impresos del servidor y realizan el registro. El servidor admite todos los administradores de correo, redes sociales y comunicaciones.

El servidor proporciona una red. Todos los sitios se almacenan en servidores. Proporciona alojamiento virtual. Tal servicio es proporcionado por las empresas de alojamiento.



¿Te gustó el artículo? Compártelo