Я пытаюсь настроить виртуальное место в nginx, чтобы обслуживать большие статические файлы из каталога. Главное приложение - программа symfony2.NGINX - обслуживание статических файлов на веб-сайте symfony2
Что бы я хотел сделать, так это указать URL-адрес, где вы можете указать путь к файлу в параметре GET, таким образом, nginx может обслуживать файл непосредственно клиенту.
В моем примере местоположение будет/GetFile
Вот мой конфиг до сих пор
server
{
listen 80;
server_name website_url;
set $path_web /myapp/webdir;
client_max_body_size 200m;
location /getfile {
root /path_to_dir;
if ($args ~ ^oid=(.*+)) {
set $key1 $1;
rewrite ^.*$ $key1;
}
}
location ~ \.php($|/)
{
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+\.php)(.*)") {
set $script $1;
set $path_info $2;
}
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $path_web$script;
fastcgi_param SCRIPT_NAME $script;
fastcgi_param PATH_INFO $path_info;
include /etc/nginx/conf.d/fastcgi.conf;
}
root $path_web;
index app.php app_dev.php;
location/
{
set $idx_file app.php;
if ($args ~ debug=true) {
set $idx_file app_dev.php;
}
if (!-f $request_filename) {
rewrite ^(.*)$ /$idx_file last;
}
}
location ~ /\.ht
{
deny all;
}
# logs path
access_log /path_to_logdir/access.log main;
error_log /path_to_logdir/error.log;
}
Являются ли эти файлы не под вашим веб-корнем? Если да, то почему бы не поместить их туда или символизировать каталог? – Gerry