Nginx для адресации приложения Nodejs [закрыто]

Я использую веб-сервер Ubuntu с Plesk 11.5.x. Я добавил Nodejs, и теперь я хочу адресовать приложение Nodejs с поддоменом.

Веб-сайт: domain.tld

Приложение Nodejs: app.domain.tld

В настоящее время работает: domain.tld: 2368 , но я хочу скрыть порт с помощью поддомена.


Я должен уметь делать следующее:

upstream app_myApp {
    server 127.0.0.1:2368;
}

server {
    listen 0.0.0.0:80;
    server_name app.domain.tld;

    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_set_header X-NginX-Proxy true;

      proxy_pass http://app_myApp/;
      proxy_redirect off;
    }
 }

Моя проблема в том, где это разместить, потому что я использую Plesk. В Plesk 11.5 ... / system / domain.tld / conf / vhost_nginx.conf находятся в восходящем направлении, и команды сервера не разрешены. И location / тоже невозможно.


Думаю, мне понадобится что-то вроде /etc/nginx/sites-available/domain.tld . Я понятия не имею, где это добавить, не нарушая plesk или не перезаписывая мою конфигурацию при автоматической перенастройке plesk.

Есть идеи?

1
задан 26 February 2015 в 09:56
1 ответ

Вы можете редактировать файл шаблона nginx

mkdir /usr/local/psa/admin/conf/templates/custom/domain
cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain 

в новом файле /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php найдите следующие строки:

    location / {
<?php echo $VAR->includeTemplate('domain/service/proxy.php', $OPT); ?>
    }

и настройте его под свои нужды:

    location / {
<?php if ('mydomain.tld' == $VAR->domain->asciiName ) {
         echo $VAR->includeTemplate('PATHTONODECONFIG.php', $OPT); ?>
       } else {
         echo $VAR->includeTemplate('domain/service/proxy.php', $OPT); ?>
     }

Я предлагаю параметризовать это условие, чтобы оно было более гибким

1
ответ дан 4 December 2019 в 00:35

Теги

Похожие вопросы