Como Alexey Ten disse, a raiz dentro da localização é ruim porque você deve definir o parâmetro root
dentro de cada diretiva de localização. E se esquecer de adicionar o root
em um dos seus locais, o nginx definirá root
como padrão /etc/nginx/html
Em vez disso, você deve definir raiz fora de sua localização , por exemplo na diretiva do servidor. Você sempre pode adicionar root
em sua localização sempre que seu diretório raiz for alterado. Por exemplo, na sua configuração, você pode substituir o parâmetro root
dentro de location ~* \.php$
Veja também esta discussão sobre raiz dentro da localização
Sua configuração deve ser root /data/file/static/blogourl;
location / {
index index.html index.htm index.php;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}
location ~* \.php$ {
ssi on;
root /data/file/static;
fastcgi_param HTTP_USER_AGENT $http_user_agent;
fastcgi_index index.php;
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_pass unix:/var/run/php-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /data/file/static/blogourl$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}