FastCGI + nginx
Всем привет!
Недавно столкнулся с задачей отказаться от apache на сервере по причине нехватки оперативной памяти. Было решено использовать связку nginx + fcgi. Проблема, с которой я столкнулся при настройке сервера nginx для livestreet — отсутствие у движка единой точки входа. После курения мануала у меня получился вот такой конфиг:
Видно что тут есть проблемы с дублированием и, возможно, с безопасностью.
Кто нибудь сталкивался с подобной задачей? Как решали?
upd: try_files $uri = 404 (из первого комментария)
Недавно столкнулся с задачей отказаться от apache на сервере по причине нехватки оперативной памяти. Было решено использовать связку nginx + fcgi. Проблема, с которой я столкнулся при настройке сервера nginx для livestreet — отсутствие у движка единой точки входа. После курения мануала у меня получился вот такой конфиг:
<server {
set $path_to_project /var/www/girlstogether.ru;
server_name yourservername.ru;
listen 80;
access_log /$path_to_project/logs/access.log;
root $path_to_project/htdocs;
autoindex off;
location ~ \.php$ {
try_files $uri = 404
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $path_to_project/htdocs$fastcgi_script_name;
}
location @main {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $path_to_project/htdocs/index.php;
}
location / {
try_files $uri
@main;
allow all;
}
}
Видно что тут есть проблемы с дублированием и, возможно, с безопасностью.
Кто нибудь сталкивался с подобной задачей? Как решали?
upd: try_files $uri = 404 (из первого комментария)
11 комментариев
location ~ \.php$ можно улучшить.
Сделать обработку статики.
fcgi — какой именно? php-fpm?
И обработку php повесить на сокеты.
php-cgi
всмысле на юникс-сокеты?
Да, они самые.
Если я не прав, можете поделиться линкой на опровержение? Или доказать :)
www.linux.org.ru/forum/admin/6124625
i.amniels.com/nginx-fast-cgi-performance-unix-socket-vs-tcp-ip