Notas técnicas de zhaoJian

Curso de TI Sistemas Informáticos y Redes 008_Servicios Web y Desarrollo Remoto

Aprendizaje / Sistemas Informáticos y Redes ~6678 palabras · 17 min de lectura - vistas

Entorno del Servidor Web

El entorno web se refiere a la combinación de hardware y software que se ejecuta en un servidor web para alojar y procesar aplicaciones web. Generalmente incluye el sistema operativo, software del servidor web, sistemas de bases de datos, lenguajes de programación y otras herramientas relacionadas.

Sistema Operativo:

  • Linux: Muchos entornos de servidores web eligen Linux como sistema operativo porque es estable, confiable y de código abierto. Las distribuciones comunes de Linux incluyen Ubuntu, CentOS, Debian, etc.
  • Windows Server: Para algunos entornos empresariales específicos, Windows Server también es una opción común.

Software del Servidor Web:

  • Apache: De código abierto, ampliamente utilizado, compatible con múltiples plataformas, adecuado para varias aplicaciones web.

  • Nginx: Ligero, de alto rendimiento, especialmente adecuado para manejar contenido estático y alta concurrencia.

  • IIS (Servicios de Información de Internet de Microsoft): El servidor web oficial en entornos Windows, compatible con ASP.NET y otras tecnologías de Microsoft.

  • LiteSpeed: Alto rendimiento, bajo consumo de recursos, compatible con Apache, puede servir como reemplazo.

  • OpenResty: Una plataforma web de alto rendimiento basada en Nginx y Lua, que combina las funcionalidades principales de Nginx con la capacidad de programación dinámica de Lua para construir aplicaciones web y sitios web más potentes y flexibles.

  • Tomcat: Software de servidor web de código abierto que proporciona soporte para servlets de Java y JSP. No es un servidor web completo, sino que necesita usarse junto con otros servidores web como Apache o Nginx.

Sistemas de Bases de Datos:

  • MySQL: De código abierto, ligero, adecuado para la mayoría de aplicaciones web.
  • PostgreSQL: Potente, compatible con características avanzadas, adecuado para requisitos de datos complejos.
  • MongoDB: Base de datos no relacional, adecuada para procesar grandes cantidades de datos similares a documentos.
  • Microsoft SQL Server: Sistema de base de datos relacional de Microsoft.

Lenguajes de Programación y Marcos:

  • PHP: Comúnmente utilizado para construir aplicaciones web dinámicas, se utiliza con Apache y Nginx, Laravel, thinkphp.
  • Python: Con marcos como Django y Flask, adecuado para desarrollo web y ciencia de datos.
  • Ruby: Con el marco Ruby on Rails, adecuado para desarrollo rápido.
  • JavaScript: Desarrollo frontend y backend, React.js, Angular, Vue.js, Node.js.
  • C#: Lenguaje orientado a objetos, fuertemente tipado, compilado, adecuado para construir aplicaciones web empresariales, ASP.NET.
  • Java: Lenguaje de propósito general, adecuado para varios tipos de aplicaciones, incluidas aplicaciones web, Spring.
  • Go: Lenguaje estáticamente fuertemente tipado, compilado, concurrente, adecuado para construir aplicaciones web de alto rendimiento y escalables, Echo.

Contenerización y Virtualización:

  • Docker: Proporciona soluciones de contenerización, simplifica el despliegue y la gestión.
  • Kubernetes: Sistema de orquestación de contenedores altamente escalable, adecuado para despliegue a gran escala de contenedores.

HelloGitHub | Clasificación de Servidores

LAMP/LNMP/WAMP/WNMP

StackSistema OperativoServidor WebBase de DatosLenguaje de Programación del Servidor
LAMPLinuxApacheMySQLPHP/Perl/Python
LNMPLinuxNginxMySQL/MariaDBPHP/Perl/Python
WAMPWindowsApacheMySQL/MariaDBPHP/Perl/Python
WNMPWindowsNginxMySQL/MariaDBPHP/Perl/Python

Desarrollo Remoto

El desarrollo remoto significa que los desarrolladores escriben y depuran código en su computadora local, pero la ejecución y prueba real del código se realiza en un servidor remoto o entorno en la nube. Este método de desarrollo proporciona ventajas como la gestión centralizada de código, recursos de cálculo más potentes y un entorno de trabajo más flexible.

  • Control de Versiones Remoto (Remote Version Control): Git, SVN. Permite a los desarrolladores escribir código localmente, pero el control de versiones y la colaboración del código se realizan en un repositorio remoto. Esto facilita la colaboración en equipo y la gestión segura del código.

  • Entorno de Desarrollo Remoto (Remote Development Environment): Remote - SSH, Plugin Remote Development de VS Code, etc., Desarrollo Remoto de WebStorm. Permite a los desarrolladores usar un entorno de desarrollo integrado (IDE) localmente, pero la ejecución real del código y la depuración se realizan en un servidor remoto. Esto ayuda a garantizar la coherencia entre el entorno local y remoto, reduciendo los problemas causados por diferentes entornos.

  • Servidores Remotos (Remote Servers): SSH, FTP, SCP, etc. Los desarrolladores pueden conectarse remotamente a servidores, ejecutar comandos directamente en el servidor, editar archivos, etc. Esto es especialmente útil para proyectos que necesitan desarrollarse y probarse en entornos específicos.

  • Depuración Remota (Remote Debugging): Visual Studio Code, WebStorm y otros proporcionan funcionalidades de depuración remota. Permite a los desarrolladores depurar código en su IDE local, pero las operaciones de depuración reales se realizan en un servidor remoto. Esto ayuda a resolver problemas que ocurren en diferentes entornos.

  • Desarrollo en la Nube (Cloud Development): AWS Cloud9, Microsoft Azure Dev Spaces, Google Cloud Shell, etc. Proporciona entornos de desarrollo basados en la nube que permiten a los desarrolladores desarrollar, construir y probar en la nube. Esto reduce la presión en los recursos de cálculo locales y mejora la flexibilidad.

  • Desarrollo Containerizado (Containerized Development): Docker, Kubernetes, VM. Encapsula aplicaciones y todas sus dependencias en contenedores que pueden portarse fácilmente entre entornos de desarrollo local y servidor remoto.


Enlaces:

1Panel 宝塔 WDCP PHPStudy XAMPP OneinStack (Linux) UPUPW (Windows) phpEnv、PHPTS、LNMP……

Visual Studio Code

Plugins de VS Code: Remote - SSH Remote Development

Navegador Web Google Chrome Navegador Web Google Chrome (China)

Microsoft Edge

Compartir:

Comentarios