Notas Técnicas do zhaoJian

Curso de TI Sistemas Informáticos e Redes 008_Serviços Web e Desenvolvimento Remoto

Aprendizado / Sistemas Informáticos e Redes ~6637 palavras · 17 min de leitura - visualizações

Ambiente do Servidor Web

O ambiente web refere-se à combinação de hardware e software que opera em um servidor web para hospedar e processar aplicações web. Normalmente inclui o sistema operacional, software do servidor web, sistemas de banco de dados, linguagens de programação e outras ferramentas relacionadas.

Sistema Operacional:

  • Linux: Muitos ambientes de servidor web escolhem Linux como sistema operacional porque é estável, confiável e de código aberto. As distribuições Linux comuns incluem Ubuntu, CentOS, Debian, etc.
  • Windows Server: Para alguns ambientes corporativos específicos, Windows Server também é uma escolha comum.

Software do Servidor Web:

  • Apache: Código aberto, amplamente utilizado, suporte multiplataforma, adequado para várias aplicações web.

  • Nginx: Leve, alto desempenho, especialmente adequado para manipular conteúdo estático e alta concorrência.

  • IIS (Serviços de Informações da Internet da Microsoft): O servidor web oficial em ambientes Windows, suporta ASP.NET e outras tecnologias Microsoft.

  • LiteSpeed: Alto desempenho, baixo consumo de recursos, compatível com Apache, pode servir como substituição.

  • OpenResty: Uma plataforma web de alto desempenho baseada em Nginx e Lua, que combina as funcionalidades principais do Nginx com a capacidade de programação dinâmica do Lua para construir aplicações web e sites mais poderosos e flexíveis.

  • Tomcat: Software de servidor web de código aberto que fornece suporte para Servlets e JSP Java. Não é um servidor web completo, mas deve ser usado com outros servidores web como Apache ou Nginx.

Sistemas de Banco de Dados:

  • MySQL: Código aberto, leve, adequado para a maioria das aplicações web.
  • PostgreSQL: Poderoso, suporta recursos avançados, adequado para requisitos de dados complexos.
  • MongoDB: Banco de dados não relacional, adequado para processar grandes quantidades de dados semelhantes a documentos.
  • Microsoft SQL Server: Sistema de banco de dados relacional da Microsoft.

Linguagens de Programação e Frameworks:

  • PHP: Comumente usado para construir aplicações web dinâmicas, usado com Apache e Nginx, Laravel, thinkphp.
  • Python: Com frameworks como Django e Flask, adequado para desenvolvimento web e ciência de dados.
  • Ruby: Com o framework Ruby on Rails, adequado para desenvolvimento rápido.
  • JavaScript: Desenvolvimento frontend e backend, React.js, Angular, Vue.js, Node.js.
  • C#: Linguagem orientada a objetos, fortemente tipada, compilada, adequada para construir aplicações web de nível corporativo, ASP.NET.
  • Java: Linguagem de propósito geral, adequada para vários tipos de aplicações, incluindo aplicações web, Spring.
  • Go: Linguagem estática fortemente tipada, compilada, concorrente, adequada para construir aplicações web de alto desempenho e escaláveis, Echo.

Containerização e Virtualização:

  • Docker: Fornece soluções de containerização, simplifica implantação e gerenciamento.
  • Kubernetes: Sistema de orquestração de contêineres altamente escalável, adequado para implantação de contêineres em larga escala.

HelloGitHub | Classificação de Servidores

LAMP/LNMP/WAMP/WNMP

StackSistema OperacionalServidor WebBanco de DadosLinguagem de Programação do Servidor
LAMPLinuxApacheMySQLPHP/Perl/Python
LNMPLinuxNginxMySQL/MariaDBPHP/Perl/Python
WAMPWindowsApacheMySQL/MariaDBPHP/Perl/Python
WNMPWindowsNginxMySQL/MariaDBPHP/Perl/Python

Desenvolvimento Remoto

Desenvolvimento remoto significa que os desenvolvedores escrevem e fazem depuração de código em seu computador local, mas a execução e o teste real do código são feitos em um servidor remoto ou ambiente de nuvem. Este método de desenvolvimento oferece vantagens como gerenciamento centralizado de código, recursos computacionais mais potentes e um ambiente de trabalho mais flexível.

  • Controle de Versão Remoto (Remote Version Control): Git, SVN. Permite que os desenvolvedores escrevam código localmente, mas o controle de versão e a colaboração do código são feitos em um repositório remoto. Isso facilita a colaboração em equipe e o gerenciamento seguro do código.

  • Ambiente de Desenvolvimento Remoto (Remote Development Environment): Remote - SSH, Plugin Remote Development do VS Code, etc., Desenvolvimento Remoto do WebStorm. Permite que os desenvolvedores usem um ambiente de desenvolvimento integrado (IDE) localmente, mas a execução e depuração real do código são feitas em um servidor remoto. Isso ajuda a garantir a consistência entre o ambiente local e remoto, reduzindo problemas causados por ambientes diferentes.

  • Servidores Remotos (Remote Servers): SSH, FTP, SCP, etc. Os desenvolvedores podem se conectar remotamente aos servidores, executar comandos diretamente no servidor, editar arquivos, etc. Isso é especialmente útil para projetos que precisam ser desenvolvidos e testados em ambientes específicos.

  • Depuração Remota (Remote Debugging): Visual Studio Code, WebStorm e outros fornecem funcionalidade de depuração remota. Permite que os desenvolvedores façam a depuração de código em seu IDE local, mas as operações de depuração reais são executadas em um servidor remoto. Isso ajuda a resolver problemas que ocorrem em ambientes diferentes.

  • Desenvolvimento em Nuvem (Cloud Development): AWS Cloud9, Microsoft Azure Dev Spaces, Google Cloud Shell, etc. Fornece ambientes de desenvolvimento baseados em nuvem que permitem aos desenvolvedores desenvolver, construir e testar na nuvem. Isso reduz a pressão sobre recursos computacionais locais e melhora a flexibilidade.

  • Desenvolvimento Containerizado (Containerized Development): Docker, Kubernetes, VM. Encapsula aplicações e todas as suas dependências em contêineres que podem ser facilmente portados entre o ambiente de desenvolvimento local e o servidor remoto.


Links:

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

Visual Studio Code

Plugins do VS Code: Remote - SSH Remote Development

Navegador Web Google Chrome Navegador Web Google Chrome (China)

Microsoft Edge

Compartilhar:

Comentários