Я пытаюсь сделать прокси-сервер Nginx для нескольких веб-приложений (среди прочего, Tiny Tiny RSS и phpPgAdmin) в разных подкаталогах в одном домене.
Например, TT RSS находится в / home / ttrss / www /, обслуживается процессом PHP5 FPM, работающим под пользователем «ttrss», а другие веб-приложения следуют той же модели.
Вот соответствующая конфигурация Nginx:
# Tiny Tiny RSS
location /ttrss/ {
alias /home/ttrss/www/;
index index.php;
}
location ~ /ttrss/.*\.php$ {
if ($fastcgi_script_name ~ /ttrss(/.*\.php)$) {
set $valid_fastcgi_script_name $1;
}
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/ttrss/www/$valid_fastcgi_script_name;
}
Я никогда раньше не использовал Nginx и хотел бы знать, является ли то, как я это сделал, «правильным», или есть другой, более простой или просто лучший способ, о котором я не знал.
Вы должны решить эту проблему с помощью вложенных местоположений. Скорее всего, вам придется возиться с включениями, чтобы не дублировать слишком много.
location /tt-rss/ {
root /my/install/dir/for/ttrss;
index index.php;
# block these
location ~* (include/|lock/|utils/|locale/|classes/*) {
deny all;
}
# PHP ttrss
location ~ \.php$ {
...
}
}
Я никогда раньше не использовал Nginx и хотел бы знать, является ли то, как я это сделал, «правильным»,
доступно множество документации для начинающих @ wiki.nginx.org и я думаю, вам следует сначала прочитать эти руководства и вернуться, если у вас есть конкретные вопросы.
вы должны создать в / etc / nginx / sites-enabled /
ttrss такой файл, который будет вашим виртуальным хостом
server {
listen 80;
server_name localhost;
root /var/www/;
server_tokens off;
access_log /dev/null;
error_log /var/log/nginx/ttrss.error.log;
index index.php;
location ~ \.php${
{Your PHP Configuration}
}
}
Затем перезапустите nginx, чтобы принять изменения.
/etc/init.d/nginx restart
Я надеюсь это тебе поможет