Tenho uma pergunta sobre o uso de um computador como servidor da web. Por que um determinado computador pode ser um servidor da web? Quais recursos o tornam capaz de ser um servidor da web? Existe algum caso em que um computador não pode atuar como um servidor da web?
networking
webserver
VincentTheonardo
fonte
fonte
Respostas:
Praticamente qualquer computador pode ser usado como servidor [web], desde que possa se conectar a uma rede e executar software de servidor web. Como um servidor da web pode ser bastante simples e existem servidores da web gratuitos e de código aberto, na prática, qualquer dispositivo pode atuar como um servidor da web.
O maior problema é o lado da rede. Para que um sistema atue como servidor, outras máquinas precisam poder acessá-lo. Se for apenas para uso em uma LAN, não há preocupações; no entanto, se for para uso na Internet mais ampla, os dados precisam ser roteados para ele. Isso requer um endereço IP estático associado ao servidor (ou porta encaminhada por meio de um roteador) ou um serviço externo que pode mapear um nome de domínio / subdomínio para um endereço IP dinâmico em mudança.
(FWIW, você pode comprar computadores de US $ 10 que podem atuar como um servidor Web básico.)
Obviamente, enquanto qualquer dispositivo pode atuar como um servidor da Web, a funcionalidade dos sites pode variar bastante, e um dispositivo barato (ou conexão lenta) pode não ser capaz de acompanhar as demandas, dependendo do site específico.
Observo que tudo acima fala sobre servidores da Web - mas o mesmo pode ser dito para praticamente qualquer tipo de servidor.
fonte
Não é nada complicado. Depende apenas da sua definição de "servidor web".
É inteiramente possível executar um "servidor web" em dispositivos tão simples quanto um microcontrolador.
Vamos considerar o que o servidor Web mínimo necessário precisaria fazer. Seria necessário produzir algum texto - nem necessariamente em HTML para um cliente. Seria necessário saber que uma solicitação é uma solicitação e responder adequadamente. Você nem precisaria de conectividade de rede se o seu "cliente" fosse local. Seria um servidor web totalmente inútil.
Seria o servidor da Web equivalente a um desses .
Adicionar conectividade de rede para um cliente (Ethernet é bom, mas não há motivo técnico para você não se conectar a um servidor Web rodando em wifi) e ser capaz de rotear a partir de um cliente seria melhor.
Um ESP8266 de US $ 5 - um microcontrolador barato e mínimo com wifi pode lidar com muito disso, e talvez até com conteúdo dinâmico básico
Eu uso algo assim para o compartilhamento rápido de arquivos usando Python. Ainda é totalmente possível escrever algo assim em um microcontrolador ou até mesmo executá-lo em um telefone.
O conteúdo estático é chato. Adicione linguagens dinâmicas e você precisará começar a pensar em sistemas de pesos mais pesados. Coisas que rodam Linux ou Windows são boas.
Neste ponto, você está falando de roteadores de consumo, pequenos aplicativos usando páginas da Web na interface do usuário e tudo mais.
Um servidor da web nem é um problema complexo e pode ser escrito em cinco linhas de bash e executado no Linux. Agora desgraça ... Mas qualquer sistema que possa executar desgraça pode executar um servidor web.
Uma boa configuração de servidor da Web capaz de lidar com uma determinada carga é um pouco mais complicada.
fonte
Mínimo
Literalmente, qualquer computador pode se tornar um servidor da Web se tiver o seguinte:
Mas seria suficiente? Agora, essa é a pergunta complicada.
Servindo uma Intranet
Para que um computador se torne um servidor da web que serve páginas da web modernas ou aplicativos da web para toda a comunidade (por exemplo, escola, empresa, museu):
Mas isso era apenas o mínimo para pequenas operações. Quando sua operação aumenta (ou seja, você obtém um tráfego mais intenso e atende a aplicativos da Web complexos em vez de páginas estáticas), suas necessidades aumentam. Você precisará:
Servindo o mundo lá fora
Para explorar a infraestrutura da Internet para servir o mundo inteiro, você precisará de:
Sem eles, tudo o que você tem é um potencial servidor web.
fonte
Perspectiva de programação / software:
Um programa capaz de ouvir a porta 80 no adaptador de rede. Isso é executado no sistema operacional que você possui. E pode processar os pedidos de acordo com as definições HTTP.
Um programa que ouve qualquer porta é acessível a partir de qualquer computador na mesma rede. Idealmente, deve ser uma porta padrão conhecida (80 e 8080 para servidores HTML; escolha além de 1024 para aplicativos personalizados). É até prática comum executar o desenvolvimento de um programa alcançável em rede no mesmo computador em que você está desenvolvendo.
Se você puder acessá-lo via host local, poderá alcançá-lo de qualquer lugar na mesma rede e de qualquer outro lugar que exista um caminho para esta máquina e seu adaptador de rede.
Advertência: Muitos ambientes de desenvolvimento tudo-em-um em instalações padrão limitam o acesso ao Localhost. Você não deseja que suas ferramentas administrativas sejam acessíveis pela Internet, afinal.
Hardware:
O hardware começa em algum lugar no "computador de 10 anos que executa XP ou Linux" e termina em algum lugar em torno de "128 núcleos, com 2 TiB de RAM e 256 TiB de SSDs em um ataque", com o banco de dados executando também em um servidor diferente . Os aplicativos da Web tendem a ser agradáveis e paralelamente agradáveis, para que você possa ter que aumentar ainda mais os clusters desses servidores. E Geocast. E design distribuído. E muitas outras coisas. Depende inteiramente de qual escala estamos falando.
O servidor web mais simples que você provavelmente encontrará no roteador que você está usando, btw. Todos eles executam um servidor Web para fins de configuração, hospedado em um Linux (que está executando todo o trabalho DHCP e NAT).
Rede:
Ter um caminho de outras redes - incluindo qualquer lugar na Internet - agora que é uma história totalmente diferente e uma parte ainda mais difícil do que a programação da aplicação. Entre o NAT do seu roteador e o NAT da classe de operadora, essas coisas se tornaram muito difíceis.
fonte
Se você tiver em mãos qualquer tipo de computador (PC, laptop, smartphone, raspberryPI ...) com o Python instalado, digite:
Ou se você possui o Node.js instalado:
Parabéns, você tem um servidor web!
fonte