Se você deseja ter o Apache por trás do Nginx como proxy e servidor de conteúdo estático, vejo duas soluções:
1. Você pode criar um novo subdomínio apenas para conteúdo estático, por exemplo, static.yoursite.asd. Obviamente, é necessário que você modifique seu registro de DNS (aqui está como fazer este link ). No arquivo de configuração do Nginx, você precisará ter dois blocos de servidor. Um para servir seu conteúdo estático e outro para redirecionar o tráfego para o Apache. Veja como seu bloco de servidores para conteúdo estático pode se parecer:
server {
listen 80;
server_name static.localhost;
location / {
root /path/to/static/content;
# 404 if file does not exist
try_files $uri $uri/ =404;
}
}
E aqui está um bloco de servidor de exemplo para redirecionar o tráfego para o Apache: (vamos supor que o seu Apache funciona na porta 8000)
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location / {
proxy_pass http://localhost:8000;
}
}
2. Você pode ter um bloco de servidor no Nginx, mas use dois locais diferentes. Custa menos esforço, porque você não precisa modificar os registros DNS. Digamos que você queira ter seus arquivos estáticos na localização yoursite.asd / static / e redirecionar para o Apache no local raiz (yoursite.asd /).
Aqui está um exemplo de localização para veiculação de conteúdo estático:
location /static/ {
root /path/to/content;
# we don't want to have static files only in folder "static" in
# root document, so let's rewrite it to our root document
rewrite ^/static/(.*)$ /$1 break;
}
E aqui está um exemplo de localização para redirecionar o tráfego para o Apache na porta 8000:
location / {
proxy_pass http://localhost:8000;
}