#nginx
#nginx
Вопрос:
Итак, добрый день.
Я не знаю, использовал ли я правильную терминологию в своем вопросе, но я попытаюсь объяснить, в чем моя проблема и чего я пытаюсь достичь.
У меня есть приложение, которое запускается на сервере NGINX с SSL (порт 443). в этом приложении сохраняется мое доменное имя / страница чата. я могу открыть это без проблем, но нет соединения. Для подключения комнаты чата существует другое (приложение?), которое находится в другой корневой папке и может запускаться сервером NPM с портом 3000. С этими настройками приложение работает, подключение и все остальное. Мой вопрос в том, как я могу создать приложение, вместо того, чтобы каждый раз запускаться на сервере NPM, для запуска на сервере NGINX.
вот мой конфигурационный файл NGINX:
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /path/to/cert/mydomain.pem;
ssl_certificate_key /path/to/key/mydomain-key.pem;
server_name mydomain;
root /path/to/project/mydomain;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app_dev.php$is_args$args;
}
location ~ ^/(app_dev|config).php(/|$) {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_split_path_info ^(. .php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
location ~ .php$ {
return 404;
}
error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
server {
listen 80;
listen [::]:80;
server_name mydomain;
return 301 https://$server_name$request_uri;
}
корневые папки:
/path/to/project/mydomain
/path/to/project/mydomain-chat
Я попытался создать новый серверный блок с тем же именем server_name с портом 3000, но не сработало.
Комментарии:
1. Если я правильно понял ваш вопрос. Вам необходимо создать новый файл конфигурации NGINX, см.: digitalocean.com/community/questions /…
2. Я попытался добавить proxy_pass в свою конфигурацию, но он возвращается
control process exited with error code
при перезапуске моего сервера nginx. Я добавил его в раздел server block, который прослушивает порт 443. это был прокси-проход, который я добавил:location / { proxy_pass http://127.0.0.1:3010/; try_files $uri $uri/ =404; }
3. опечатка .. я изменил 3010 на 3000, все то же сообщение об ошибке.
4. Не ставьте
proxy_pass
иtry_files
в одно и то жеlocation
место — вы либо отправляете запрос на другой сервер, либо ищете файлы на этом сервере, а не оба.5. Когда вы говорите о » сервере NPM » на порту 3000, звучит так, как будто у вас есть отдельный Node.js приложение. Итак, когда вы спрашиваете » как я могу создать приложение, вместо того, чтобы каждый раз запускаться на сервере NPM, для запуска на сервере NGINX «, вы имеете в виду, как вы сохраняете Node.js запущенное приложение (потому что оно продолжает останавливаться)? или вы имеете в виду, что хотите обслуживать то же самое, что и это приложение, но из nginx?