Перейти к содержимому

Фото
- - - - -

Настройка nginx


  • Вы не можете создать новую тему
  • Please log in to reply
12 ответов в этой теме

#1 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 03 марта 2016 - 09:52

Есть site.ee работает

Есть site.ee/phpmyadmin работает

Добавляю site.ee/newname получаю 404

 

конфиг

server {
        listen   80;
        root /home/site-ee/www;

        access_log  /home/site-ee/logs/nginx.access.log;

        server_name site.ee www.site.ee;

        location / {
                index index.php index.html index.htm;
        }

        location ~ \.php$ {
                #fastcgi_pass   127.0.0.1:9000;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       #fastcgi_pass 127.0.0.1:9000;
                   fastcgi_pass unix:/var/run/php5-fpm.sock;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }

        location /newname {
                root /home/newname/www;
                index index.php index.html index.htm;
                location ~ ^/newname/(.+\.php)$ {
                        root /home/newname/www;
                        fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $request_filename;
                        include /etc/nginx/fastcgi_params;
                }
                location ~* ^/newname/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /home/newname/www/;
               }
        }

        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

}

/home/newname/www/ владелец и права у newname

внутри создал index.html и test.php 

 

А в чем трабл?

 


  • 0

Типичный, классический кузнец.


#2 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 03 марта 2016 - 10:34

Смотри логи.
[sudo] tail -f /var/log/nginx/access.log

Смотри куда прилетает и кто обрабатывает запрос. 
Так же смотри error.log. 
Конфигтест проходит? Релоадится правильно?


  • 0

Вначале делаю, потом думаю :)


#3 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 03 марта 2016 - 12:01

А вот и лог
 
2016/03/03 09:44:14 [error] 27209#0: *8 open() "/home/newname/www/newname/index.html" failed (2: No such file or directory), client: ****, server: site.ee, request: "GET /newname/index.html HTTP/1.0", host: "site.ee.$
 
2016/03/03 09:44:32 [error] 27209#0: *9 "/home/newname/www/newname/index.php" is not found (2: No such file or directory), client: ****, server: site.ee, request: "GET /newname/ HTTP/1.0", host: "site.ee"
 
2016/03/03 09:53:27 [error] 27209#0: *31 FastCGI sent in stderr: "Unable to open primary script: /home/newname/www/newname/test.php (No such file or directory)" while reading response header from upstream, client: ****, s$
 
Что дублирует путь хз

  • 0

Типичный, классический кузнец.


#4 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 03 марта 2016 - 12:39

Вроде все правильно: полный путь - url path + root; У тебя походу что-то с рутом не так - поэтому и ругается на несуществующий путь. Перепроверь пути.


  • 0

Вначале делаю, потом думаю :)


#5 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 03 марта 2016 - 12:42

Мне в конфиге надо что бы он шел /home/newname/www/index.html а не /home/newname/www/newname/index.html


  • 0

Типичный, классический кузнец.


#6 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 03 марта 2016 - 12:46

Насколько я помню такое можно решить только rewrite, чтоб удалить эту секцию из пути. 

rewrite ^/newname(/.*)$ $1 break; 

Возможно так. Но не 100%. Вечная проблема с этим. 

 

Это я взял из одного проекта - там был геморой такой, что надо было организовать '/demo' (что было вообще другой аппликухой на другом стеке и так далее) и оно генерило вот эту лапшу из неправильных путей.


Сообщение изменено: Akhenaton (03 марта 2016 - 12:59 )

  • 0

Вначале делаю, потом думаю :)


#7 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 03 марта 2016 - 13:08

Самое интересное, что phpmyadmin работает нормально при похожем конфиге, я для newname с него писал.

 
 


  • 0

Типичный, классический кузнец.


#8 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 03 марта 2016 - 13:56

Переписал секцию newname

location /newname/ {
                alias /home/newname/www/;
                index index.php index.html index.htm;

                location ~ \.php$ {
                        alias /home/newname/www/;
                        fastcgi_pass unix:/var/run/php5-fpm.sock;
                        fastcgi_index  index.php;
                        fastcgi_param  SCRIPT_FILENAME  $request_filename;
                        include        /etc/nginx/fastcgi_params;
                }
        }

site.ee/index.html работает

site.ee/test.php Access denied.

 

2016/03/03 13:52:12 [error] 28609#0: *1 FastCGI sent in stderr: "Access to the script '/home/newname/www/' has been denied (see security.limit_extensions)" while reading response header from upstream, client: ***, server: site.ee, request: "GET /newname/test.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "site.ee"


  • 1

Типичный, классический кузнец.


#9 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 03 марта 2016 - 15:27

За алиас спасибо, я про него забыл.

А вот за пхп не скажу - я настраивал фастцги только 1 раз, тоже такая проблема была, но не помню, как вылечил.


  • 0

Вначале делаю, потом думаю :)


#10 Demetrio

Demetrio
  • Пользователь
  • 18 649 сообщений
  • Откуда:Tallinn

Отправлено 03 марта 2016 - 15:44

see security.limit_extensions

https://www.digitalo...-denied-fastcgi


  • 0

#11 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 03 марта 2016 - 16:03

Раскомментировал security.limit_extensions =

Получил

2016/03/03 16:01:41 [error] 29027#0: *15 FastCGI sent in stderr: "PHP message: PHP Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0
Unable to open primary script: /home/newname/www/ (No such file or directory)"

/home/newname/www/ но она есть.


  • 0

Типичный, классический кузнец.


#12 Дык

Дык
  • Постоялец
  • 10 897 сообщений
  • Откуда:/dev/null

Отправлено 03 марта 2016 - 18:01

/etc/php-fpm.d/www.conf <- тут надо настроить юзера, вот это точно помню. 


Сообщение изменено: Akhenaton (03 марта 2016 - 18:01 )

  • 0

Вначале делаю, потом думаю :)


#13 kuznets

kuznets
  • Постоялец
  • 5 850 сообщений

Отправлено 03 марта 2016 - 18:38

Akhenaton

Так другие хосты работают.


  • 0

Типичный, классический кузнец.