Архив заметок

Дружим MaxSite CMS и Nginx

Просмотров: 5452Комментарии: 13
Nginx
Всем привет. Наверняка многие люди переползают потихоньку на nginx с апача. В большинстве случаев это связано с недостаточными ресурсами сервера для обработки большого количества запросов.

Это как-бы небольшая преамбула. Я не буду описывать все + и - переезда с одного веб сервера на другой.

Сегодня я познакомлю с маленьким правилом для конфига нгинкса, чтобы корректно работали редиректы. Естессно у вас должен быть установлен модуль http_rewrite_module.

Итак, в в location добавляем следующее:

location / {
             root        /путь/к вашему/сайту;
             index       index.php index.html index.htm;
             try_files $uri $uri/ /index.php?q=$uri&$args;
             }

Краткое описание директивы:

Директива проверяет существование файлов в заданном порядке и использует для обработки запроса первый найденный файл, причём обработка делается в контексте этого же location'а. С помощью слэша в конце имени можно задать проверку существования каталога, например, так — "$uri/". В случае, если ни один файл не найден, то делается внутренний редирект
на последний параметр.

Комментариев: 13 RSS

1@olannmk30-11-2011 17:59

Клссно. Спасибо.

Сейчас матерю немного и этого мне не хватало

2Jimmy07-11-2013 19:15

очень прошу полную историю, с подробностями, перехода на nginx!

3Vladimir02-12-2013 00:02

очень прошу полную историю, с подробностями, перехода на nginx!

Получилось?

4armjer22-02-2015 13:44

я сделал как описано, но сайт не открывается, а качается файл index.php

6armjer24-02-2015 21:33

server {
        listen          80;
        server_name     hyip-1.am   www.hyip-1.am;

        access_log /var/log/nginx/hyip-1-access.ru.log;
        error_log /var/log/nginx/hyip-1-error.log;
   
        root   /var/www/hyip-1.am;
        index index.php;
location / {
#            root /var/www/virtualhosts/mysite1.com;
#            index index.php;
            if (!-f $request_filename) {
            rewrite ^/(.+)$ /index.php?q=$1 last;
            break;
            }
            include fastcgi_params;
 }
        location ~ \.(php|phtml)$ {
            fastcgi_pass   unix:/run/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_read_timeout 345600;
            include fastcgi_params;
        }
}

8Vladimir25-02-2015 12:56

У меня работал макс сайт с таким конфигом:

location / {
root /path/maxsite;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ /\.ht {
deny all;
}
error_page 500 502 503 504 /50x.html; locati {
root /usr/local/www/nginx-dist;
}
location ~* \.php$ {
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /path/maxsite$fastcgi_script_name;
include fastcgi_params;

}

9armjer25-02-2015 21:36

Поробовал. Главная страница(индекс) открывается нормально, но все ссылки не рабочие

10Vladimir26-02-2015 10:14

А в логах nginx что пишет? Я так полагаю, что при переходе по ссылкам ошибка 404?

11armjer26-02-2015 20:33

127.0.0.1 - - [26/Feb/2015:20:29:51 +0400] "GET /application/maxsite/templates/hyip/ico/favicon4.ico HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36" 127.0.0.1 - - [26/Feb/2015:20:29:54 +0400] "GET /?acti HTTP/1.1" 200 7836 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36"
127.0.0.1 - - [26/Feb/2015:20:29:54 +0400] "GET /application/maxsite/templates/hyip/ico/favicon4.ico HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36" 127.0.0.1 - - [26/Feb/2015:20:29:56 +0400] "GET /filter_new HTTP/1.1" 200 31 "http://hyip-1.am/?acti" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36"
127.0.0.1 - - [26/Feb/2015:20:29:56 +0400] "GET /favicon.ico HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36"

как ни странно, но в error файле ничего нет.

Остается загадкой, почему не открываются страницы. Похоже не в nginx дело.

Но тогда почему в apache все нормально

12Vladimir28-02-2015 12:45

Главная страница(индекс) открывается нормально, но все ссылки не рабочие

Не рабочие в каком виде? Неактивные или страница по ссылке открывается пустая?

Вы можете войти под своим логином или зарегистрироваться на сайте.