Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Не могу составить конфиг nginx


Автор: lancelot555 4.9.2014, 08:40
Есть такой конфиг для nginx 
Код

server {
        listen   80;
        server_name domain.com;

        location / {
                root /home/one;
                index index.php;
                set $doc_path /home/one;
                try_files $uri $uri/ /main.php?$args;
                location ~* \.php$ {
                    fastcgi_pass phpfpm;
                    fastcgi_param SCRIPT_FILENAME $doc_path$fastcgi_script_name;
                    fastcgi_read_timeout 200s;
                    include        /etc/nginx/fastcgi_params;
                }
        }
        
       location /two/ {
           root /home;
            index index.php;
            try_files $uri $uri/ /index.php?$args;
            location ~ \.php$ {
                fastcgi_pass phpfpm;
                fastcgi_param SCRIPT_FILENAME /home$fastcgi_script_name;
                fastcgi_read_timeout 200s;
                include        /etc/nginx/fastcgi_params;
            }
       }



Что хочется получить:   Необходимо чтобы запросы на domain.com  шли в одну папку а запросы  domain.com/two  в другую и при этом чтобы верно отработал php-fpm еще. С таким конфигом для запросов вида  domain.com/two либо статика не отдается, либо php скрипты не исполняются..  В apache все решалось очень просто, в виртуалхосте добавлялась строчка Alias и все.. Помогите составить аналог на nginx плз..

Автор: Сумасшедший 7.9.2014, 18:41
Выглядит нормально. Попробуйте в конфиге сначала описать /two/, а потом / - такая же проблема с рэдмайном была,- помогло 

Автор: ИшТы 8.11.2014, 00:39
1. Поменяйте секции location местами.
2. Введите абсолютные пути к папкам в fastcgi_param:
Код

fastcgi_param SCRIPT_FILENAME /home/one/$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /home/two/$fastcgi_script_name;

3. В секции location /two/
Код

try_files $uri $uri/ /index.php?$args /two/index.php;



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)