Como criar um ambiente de desenvolvimento web virtual e servidor

Windows e Mac OSX têm vindo a fazer progressos como SOs amigável ao desenvolvedor para os últimos anos, mas cada desenvolvedor web realmente precisa para trabalhar no ambiente nativo da web, Linux.

Este artigo irá mostrar-lhe como obter o melhor dos dois mundos: furar com um sistema operacional estável e amigável ao consumidor, como o Windows ou OSX para suas necessidades diárias, enquanto colhendo os benefícios de desenvolver no mesmo ecossistema como seu código de produção.

Introdução

Grande parte da web é executado em que os desenvolvedores chamam de “LAMP”. Esta sigla significa Linux, Apache, MySQL, PHP empacotados juntos e trabalhando como o que você costuma entender como um servidor web. (Uma pilha intimamente relacionados - ou conjunto de tecnologias - é “LEMP,” com o “E”, derivado da pronúncia de uma alternativa para o Apache, Nginx, o que é dito “motor de x.”)

Video: Como criar um servidor PHP no Windows? (Apache + PHP + MYSQL+ PhpMyAdmin)

Você pode notar que o Linux é explicitamente incluído aqui, mas não é só por esta razão que o Linux é recomendado por desenvolvedores. As outras tecnologias - Apache (ou Nginx), MySQL e PHP - todos têm diferentes ferramentas e implementações disponíveis para as diferentes plataformas, mas por razões históricas e técnicas, configurações baseadas em Linux dominar o espaço do servidor e tendem a ser mais previsível.

Video: Preparação de Ambiente de Desenvolvimento: Java Web com JPA + Eclipse + WildFly + MySQL

Previsibilidade e confiabilidade também são grandes razões que você gostaria de desenvolver em um sistema operacional que você usa exclusivamente para esse fim - um sistema operacional dedicado ao invés de um que suporta a miríade de tarefas que realizam diariamente como um desenvolvedor web. Dito de outra forma, você não deseja executar um servidor no mesmo sistema operacional que você precisa reiniciar quando seus novos drivers gráficos são instalados, ou uma máquina que você vai precisar fazer as malas e colocar em uma mochila para acertar o estrada com. Envolvendo os processos e software necessários para executar um servidor em sua máquina de uso misto é, em uma palavra, confuso.

Assim como você equilibrar a sua capacidade de multi-tarefa com a sua necessidade de desenvolver no contexto natural de seus aplicativos?

Entrar máquinas virtuais.O que é uma máquina virtual?O que é uma máquina virtual?As máquinas virtuais permitem que você executar outros sistemas operacionais dentro de seu sistema operacional atual, mas por que isso importa? Quais são os prós e contras?consulte Mais informação

Máquinas Virtuais e Vagrant

Máquinas virtuais são programas que são executados em seu sistema operacional principal. Eles efetivamente permitem que você execute um sistema operacional completamente separado dentro de uma janela, totalmente contido e para além de qualquer outra coisa que está acontecendo com a sua máquina física, mas à custa de alguma sobrecarga.

Video: Como instalar um servidor local e configurar um virtual host | Ferramentas Dev. Web. 02/03

No entanto, as vantagens são muitas:

  • Cometer um erro na instalação, configuração ou remoção de software? Não é grande coisa, você pode simplesmente começar de novo com uma imagem fresca.
  • A sua experiência catastroficamente falhou e congelado o sistema operacional em torno dele? Novamente, não é um problema, porque só a máquina virtual é realizada.
  • Você precisa interagir em condições ligeiramente diferentes? Cada conjunto de condições, como diferentes versões de software ou software diferente (por exemplo, usando Apache contra Nginx), pode se tornar uma máquina de software separado ou virtual “caixa”.

de máquina virtual-linux

Uma ferramenta chamada Vagrant irá ajudá-lo a implantar “caixas de base” que contenham pré-configurados sistemas operacionais Linux em uma variedade de sabores.

Este artigo assume que você tem algum conforto com a operação de uma máquina virtual sem uma GUI, e unicamente por uma interface de linha de comando (CLI).



Vamos obter um provedor de máquina virtual e Vagrant antes de configurar uma caixa de base.

Video: Curso de Desenvolvimento Web - Node.js - Ambiente Local 02

  1. Verifique se você tem um provedor de máquina virtual para o seu SO. Windows e Mac OSX pode usar o Virtual Box. VMware também é executado em ambas as plataformas. (Windows 10 Pro e até pode usar o Hyper V, que é um passo para cima porque utiliza melhor hardware.)
  2. Visite Vagrantup.com e escolher um instalador apropriado.
  3. Em sua estrutura de árvore de diretório local, criar uma nova pasta para abrigar a caixa. (Locais de subordinar ao seu trabalho perfil de usuário bem, locais dentro diretórios do sistema geralmente não.)

A configuração do ambiente de desenvolvimento Web

Aqui é onde a magia da automaticidade acontece: uma ferramenta chamada PuPHPet condensa e GUI-fies o processo de seleção e configuração de software comumente usado em LAMP, e até mesmo vai além disso, adicionando suporte para idiomas do lado do servidor como Ruby e Node.js (Tecnicamente javascript não é puramente do lado do servidor, mas esta variedade é), e alternativas para os outros componentes da pilha LAMP.Qual é o Node.js e Why Should I Care? [Desenvolvimento web]Qual é o Node.js e Why Should I Care? [Desenvolvimento web]javascript é uma apenas uma linguagem de programação do lado do cliente que é executado no navegador, certo? Não mais. Node.js é uma forma de execução de javascript no server mas é muito mais também. E se...consulte Mais informação

PuPHPet faz arquivos de configuração base para Vagrant. O assistente inclui mais de vinte dimensões diferentes de configurar, então eu só vou passar por cima de alguns dos mais salientes.

  • alvo de implantação - Aqui você pode escolher se você gostaria de criar uma imagem apropriada para VirtualBox, VMware e similares, ou um que seja adequado para a infra-estrutura de computação em nuvem como AWS ou do oceano Digital, entre outros.
  • Sistema gt; pacotes - Você pode incluir qualquer software aqui que você gostaria de instalar como você faria em uma instalação normal. Em particular, você deve incluir qualquer pacotes que você usar para o desenvolvimento que estão incluídos na base da distribuição do OS.
  • Para incluir dependências de desenvolvimento para o Ubuntu, especifique construir-essenciais
  • Para incluir o mesmo para CentOS 7, especificar "Ferramentas de desenvolvimento"
  • Servidores web - Escolha Apache ou Nginx para formar a espinha dorsal de seu L (A | E) MP stack.
  • línguas - PHP, Ruby, Node.js, Python.
  • Bases de dados - Talvez uma das características mais atraentes desta abordagem é a capacidade de construir máquinas virtuais para jogar com as diferentes variedades de bancos de dados disponíveis. Enquanto MySQL é um padrão, você pode querer jogar com algo mais novo como MariaDB.
  • O restante das opções são um tanto exótico, e se você não sabe o que são, eles sempre podem ser instalados posteriormente. O que você tem, afinal, é um sistema operacional de pleno direito ao seu comando.
  • PuPHPet irá, no final desta jornada configuração, produzir um arquivo. Descompacte que para o diretório que você criou antes de configurar os parâmetros do seu novo servidor.

    Agora, execute o seguinte:

    $ Vagrant-se

    E observar os resultados:

    Desde que você não tem caixa de base em seu diretório local, vagabundo vai recuperar a imagem do Atlas, um repositório de caixas errantes pré-configurados.

    (Tecnicamente, qualquer um destes pode ser adicionado à sua máquina local, emitindo o comando: $ Caixa vagabundo adicionar USUÁRIO / BOX)

    Empacotando

    Neste ponto, a sua VM é inicializado e você está basicamente online. Só uma coisa permanece: emitir o comando $ Ssh vagabundo para soltar-se em uma sessão SSH adequada com o seu (sem cabeça) atuando VM como um servidor LAMP. Parabéns!

    Saber mais

    A partir daqui, não há mais a dizer sobre e fazer em Vagrant e, como você sabe, uma quantidade ilimitada de realizar com o seu próprio parque de desenvolvimento. Confira o guia oficial Introdução de pegar de onde parei.

    Você já usou uma máquina virtual para o seu próprio ambiente de desenvolvimento? Você usou esta configuração ou você ter uma abordagem diferente? Compartilhe suas idéias na seção de comentários abaixo!


    Artigos relacionados