nginx: instalação
Para iniciar, precisamos instalar e configurar o nginx para servir as páginas estáticas do seu site.
Comece instalando utilizando o
apt-get:
sudo apt-get install nginx
Após a instalação, você poderá seguir com a configuração do host virtual.
Será necessário realizar algumas configurações básicas.
nginx: configuração
Abra o arquivo de configuração do nginx:
sudo nano /etc/nginx/sites-available/example
A seguinte configuração pode ser usada no nginx para servir páginas estáticas. A configuração é bem parecida com a configuração padrão e os detalhes podem ser vistos na própria configuração, logo abaixo:
server {
listen 80;
root /var/www/;
index index.php index.html index.htm;
server_name example.com;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
location ~ /\.ht {
deny all;
}
}
As seguintes características foram definidas nesta configuração:
- Definição do diretório base (root) para a aplicação WEB;
- index.php foi definido como página de entrada;
- A configuração try_files define que todas as requisições serão tratadas pelo nginx, caso não seja possível, a requisição será redirecionada para o proxy (Apache);
- proxy_pass → Define o endereço do servidor proxy;
- location ~ /\.ht { → Bloqueia o acesso direto ao .htaccess.
Esta configuração garante que todo arquivo com a extensão
.php, será redirecionado para o Apache, que irá rodar na porta 8080.
Ativando o virtual host:
sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/example
Adicionalmente, remova a configuração padrão do nginx:
sudo rm /etc/nginx/sites-enabled/default
Apache: Instalação
Com os procedimentos já finalizados com nginx, é hora de instalar o Apache para processamento do conteúdo dinâmico:
sudo apt-get install apache2
Como ainda não iniciamos o nginx, o Apache estará rodando na porta 80.
Apache: configuração
Nós precisamos configurar o Apache para processar todas as páginas dinâmicas na porta 8080. Primeiro, abra os arquivos de configuração do Apache e altere a porta de escuta padrão:
sudo nano /etc/apache2/ports.conf
Procure e altere as linhas seguintes para manter o Apache rodando na porta 8080 e para restringir o acesso ao localhost (uma vez que todas as requisições serão feitas por meio do nginx localmente):
NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080
Salve o arquivo e saia.
Copie o arquivo de configuração do virtual host padrão do Apache, para realizar as configurações sobre um template:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example
$ sudo nano /etc/apache2/sites-available/example
A principal questão agora, é determinar que o virtual host do Apache irá rodar na porta 8080 (uma vez que o nginx já está rodando na porta 80). A linha seguinte cuida disso:
Tenha certeza que o
Document Root está correto. Salve e saia do arquivo para ativar o virtual host:
sudo a2ensite example
Antes de testar o seu ambiente, precisamos configurar o PHP em seu Apache.
Instale, utilizando o seguinte comando:
sudo apt-get install php5
Reinicie os serviços, para que as configurações façam efeito:
sudo service apache2 restart
$ sudo service nginx restart