It-e.RU
Цифровой двигатель вашего бизнеса.

nginx и популярные вебприложения

nginx и популярные вебприложения

Отказываемся от apache в пользу более быстрого nginx. Рассмотрим запуск популярных вебприложений. Пост будет обновляться.


Опишу работу некоторых популярных веб-приложений с nginx. Стоит подходить к настройке вебприложений с nginx очень внимательно, потому что некорректная настройки могут дать желаемый эффект, но при этом быть очень не безопасными. Например, статичный контент может интерпретироваться php и сервер выполнит код, размещенный в картинке.

dokuwiki:

   
root   /var/www/path;
  listen       80;
  server_name  name.domain.zone;

   location ~ \.php$ {
     include fastcgi_params;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     fastcgi_pass unix:/var/run/php.sock;
   }

  location / {
    root   /var/www/path;
    index  index.html doku.php index.php;

    rewrite  ^/_media/(.*)              /lib/exe/fetch.php?media=$1 last;
    rewrite  ^/_detail/(.*)             /lib/exe/detail.php?media=$1 last;
    rewrite  ^/_export/([^/]+)/(.*)     /doku.php?do=export_$1&id=$2 last;
    rewrite  ^/$                        /doku.php last;


    if (-f $request_filename) { break; }
    if (-d $request_filename) { break; }
    rewrite /(.*)  /doku.php?id=$1  last;

    rewrite ^index.php$ /doku.php;
  }
}

 

phpmyadmin:

 
location /phpmyadmin {
           root /usr/share/webapps/phpmyadmin/3.5.8/;
           index index.php index.html index.htm;
           location ~ ^/phpmyadmin/(.+\.php)$ {
                   try_files $uri =404;
                   root /usr/share/webapps/phpmyadmin/3.5.8/;
                   fastcgi_pass unix:/var/run/php.sock;
                   fastcgi_index index.php;
                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                   include fastcgi_params;
           }
           location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                   root /usr/share/webapps/phpmyadmin/3.5.8/;
           }
}

vanilla forum:

        
location /forum {root $baseRootDir/forum; 
try_files $uri $uri/ @forum; break;}
location @forum {root $baseRootDir/forum; rewrite ^/forum(.+)$ /forum/index.php?p=$1 last; break;}

location /forum {
root /var/www/path;

index index.php;
if (!-e $request_filename) {
rewrite ^/forum/(.+)$ /forum/index.php?p=/$1 last;   
}

if ($request_filename ~ "\.php$" ) {
fastcgi_pass $secondaryFastcgiSocket;
}

fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/path$fastcgi_script_name;
}

Пожалуйста, уважайте труд автора, при копировании материалов сохраняйте ссылку на источник!

Комментарии (0)



Добавление комментариев закрыто.