Сегодня понадобилось развернуть сайт, построенный на MODx Evolution, на сервере под управлением Nginx. Ниже — конфиг для этого движка. Строки в угловых скобках < и > нужно заменить на свои значения.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {
    server_name <домен>;
    root <абсолютный путь к директории с движком>;
    index index.php;
    location / {
        root <абсолютный путь к директории с движком>;
        if (!-e $request_filename){
            rewrite ^/(.*)$ /index.php?q=$1 last;
        }
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass 127.0.0.1:9000;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_ignore_client_abort on;
        fastcgi_param SERVER_NAME $http_host;
    }
    access_log <Абсолютный путь к логу доступа>;
    error_log <Абсолютный путь к логу ошибок>;
}

Напоследок замечу, что данная конфигурация работает на Debian-системах, для Nginx версии 0.8.54 и MODx ветки Evolution версии 1.0.5. Стоит иметь в виду, что со временем что-то может измениться.