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

Дружим MaxSite CMS и Nginx

Просмотров: 3692Комментарии: 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

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

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

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена.

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

(обязательно)