Arhn - архитектура программирования

Передайте все в одно место nginx

Я хочу передать весь трафик в один .php файл, пробовал, но не работает. Я использую nginx 1.10.0

Вот результат nginx -V:

Версия nginx: nginx / 1.10.0 (Ubuntu), построенный с OpenSSL 1.0.2g-fips 1 марта 2016 г. Поддержка TLS SNI позволила настроить аргументы: --with-cc-opt = '- g -O2 -fPIE -fstack-protector-strong -Wformat -Werror = format-security -Wdate-time -D_FORTIFY_SOURCE = 2 '--with-ld-opt =' - Wl, -Bsymbolic-functions -fPIE -pie -Wl, -z, relro -Wl, -z, теперь '--prefix = / usr / share / nginx --conf-path = / etc / nginx / nginx.conf --http-log-path = / var / log / nginx / access.log --error-log- путь = / var / log / nginx / error.log --lock-path = / var / lock / nginx.lock --pid-path = / run / nginx.pid --http-client-body-temp-path = / var / lib / nginx / body --http-fastcgi-temp-path = / var / lib / nginx / fastcgi --http-proxy-temp-path = / var / lib / nginx / proxy --http-scgi- temp-path = / var / lib / nginx / scgi --http-uwsgi-temp-path = / var / lib / nginx / uwsgi --with-debug --with-pcre-jit --with-ipv6 --with -http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_geoip _module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_mp4_module --with-http_perl_module --with-http_random_index_module --with-http_secure_link_module --with-http_secure_link_module --with-http_secure_link_module --with-http_secure_link_module --with-http_secure_link_module --with-http_secure_link_module - http_xslt_module --with-mail --with-mail_ssl_module --with-stream --with-stream_ssl_module --with-threads --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / headers -more-nginx-module --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-auth-pam --add-module = / build / nginx-wAi2qr / nginx-1.10 .0 / debian / modules / nginx-cache-purge --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-dav-ext-module --add-module = / build /nginx-wAi2qr/nginx-1.10.0/debian/modules/nginx-development-kit --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-echo --add- модуль = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / ngx-fancyindex --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-http-push --а dd-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-lua --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-upload -progress --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-upstream-fair --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / модули / ngx_http_substitutions_filter_module

server {
    listen 80 default_server;

    server_name _;

    location / {

        include /etc/nginx/snippets/fastcgi-php.conf;

        fastcgi_param SCRIPT_FILENAME /location/to/php/cache.php;       
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;

    }


    # Set maximum expire to all static files

    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log off;
        log_not_found off;
        expires max;
    }

} # server

  • Чего именно вы ожидаете достичь? Вы хотите передавать поток выполнения в cache.php для каждого запроса (даже для статических файлов)? Что в вашем cache.php? Что в журналах nginx? Что за ошибка сейчас? 09.08.2016

Ответы:


1

Попробуйте следующую конфигурацию:

server {
    listen 80 default_server;

    server_name _;

    root /location/to/php;
    index cache.php;

    location / {
        rewrite ^/(.*)$ /cache.php?requestedPath=$1 break;
        include /etc/nginx/snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }


    # Set maximum expire to all static files

    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|t    gz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log off;
        log_not_found off;
        expires max;
    }

} # server

Затем вы можете использовать requestedPath из параметров GET в своем cache.php.

Но эта конфигурация не будет перенаправлять поток выполнения на PHP для статических файлов. Если вы хотите обрабатывать изображения и другие статические файлы в вашем cache.php, вы должны добавить во второй location блок те же строки, что и в первом.

09.08.2016
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..