Nginx с использованием NodeJS и Apache

У меня два сервера: A, на котором работает веб-приложение Nodejs, и сервер B, на котором работает веб-приложение PHP.
Я хочу настроить Nginx таким образом, чтобы при вводе http://www.example.com он направляется в веб-приложение nodejs
тогда если я наберу http://www.example.com/otherinternalpage это маршрутизирует к веб-приложению PHP.

Сервер A и B находятся в одной интрасети, и я установил Nginx на сервере A.

Я ценю любую помощь.
Спасибо

3

Решение

Это возможно, но я бы предложил использовать разные субдомены и конфигурационный файл ngnix для каждого приложения, как я делал для своего собственного проекта:

  • www.leave-management-system.org
  • demo.leave-management-system.org
  • influxdb.leave-management-system.org
  • и т.п.

Преимущество состоит в том, что вы можете отключить одно приложение, не влияя на другие, и что конфигурацию легче поддерживать, когда она входит в разные файлы.

В любом случае вам необходимо (перейдите по ссылкам):

  • настроить nginx в качестве обратного прокси.
  • Бежать Nodejs навсегда.
  • Запустите PHP как процесс FastCGI, используя PHP FPM.

Однако, если вы не хотите использовать субдомены, а две разные папки в одном домене, комбинированная конфигурация может выглядеть так:

server {
listen 80 default;
server_name www.example.com;
...

location /otherinternalpage/  {
try_files $uri $uri/ /index.php?/$request_uri;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(.*)$;
#This is a Linux socket config
#fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
#Alternatively, you can configure nginx/PHP with a backend
fastcgi_pass 127.0.0.1:{YOUR_PORT};
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
}

location / {
proxy_pass http://localhost:{YOUR_PORT};
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector