Может ли nginx запускать как для gitlab, так и taiga.io на той же VM?

У меня возникли проблемы с запуском GitLab и Taiga.io на той же виртуальной машине (т.е. с использованием одного и того же IP- адреса ). Оба используют nginx. Моя виртуальная машина запускает Debian 8.

Я следовал classической установке Omnibus GitLab для Debian 8, и когда я вводил IP-адрес моей виртуальной машины в browserе, gitlab обслуживается правильно, и все идет хорошо.

Затем я закрыл его ( sudo gitlab-ctl stop ), и я установил Taiga, следуя настройке производственной среды . Согласно документу, он использует Gunicorn и Circus для тайги-обратно (который обслуживает API REST) ​​и nginx для обслуживания interfaceа. Когда /etc/nginx/sites-available|enabled/taiga , ~/taiga-back/settings/local.py и ~/taiga-front-dist/dist/conf.json настроены с использованием одного и того же IP-адреса, а nginx ( sudo service nginx restart ), все идет хорошо.

Теперь можно изменить все вышеупомянутые IP-адреса Taiga с другим портом (скажем, 8080 ), перезапустить nginx, а Taiga теперь обслуживается с IP-адреса: 8080. Все в порядке!

Когда я перезапускаю GitLab ( sudo gitlab-ctl start ), он говорит, что все начинается гладко. Но когда я пытаюсь get к нему доступ (по умолчанию порт 80), я получаю 502 !

Если я переkeyу Taiga и перезапустите GitLab, hoho, GitLab доступен! В принципе, я могу иметь их только по отдельности, но не в одно и то же time.

Я также попытался save Taiga на порту 80 и переместить GitLab на порт 8080 (изменив порт в fileе /etc/gitlab/gitlab.rb и запустив sudo gitlab-ctlr reconfigure ), но мне так и не удалось запустить его успешно.

Я также попытался настроить GitLab на использование системы nginx (а не встроенной), то есть той, которая используется Тайгой. Для этого я отkeyил nginx на gitlab.rb после документа и использовал этот рецепт omnibus (non-ssl):

 ## GitLab 8.3+ ## ## Lines starting with two hashes (##) are comments with information. ## Lines starting with one hash (#) are configuration parameters that can be uncommented. ## ################################## ## CONTRIBUTING ## ################################## ## ## If you change this file in a Merge Request, please also create ## a Merge Request on https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests ## ################################### ## configuration ## ################################### ## ## See installation.md#using-https for additional HTTPS configuration details. upstream gitlab-workhorse { server unix:/var/opt/gitlab/gitlab-workhorse/socket; } ## Normal HTTP host server { ## Either remove "default_server" from the listen line below, ## or delete the /etc/nginx/sites-enabled/default file. This will cause gitlab ## to be served if you visit any address that your server responds to, eg. ## the ip address of the server (http://xxxx/)n 0.0.0.0:80 default_server; listen 80 default_server; #listen [::]:80 default_server; server_name gitlab.<replaced with company URL> <replace with VM IP address>; ## Replace server_tokens off; ## Don't show the nginx version number, a security best practice root /opt/gitlab/embedded/service/gitlab-rails/public; ## See app/controllers/application_controller.rb for headers set ## Individual nginx logs for this GitLab vhost access_log /var/log/nginx/gitlab_access.log; error_log /var/log/nginx/gitlab_error.log; location / { client_max_body_size 0; gzip off; ## https://github.com/gitlabhq/gitlabhq/issues/694 ## Some requests take more than 30 seconds. proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://gitlab-workhorse; } } 

наряду с тем для Тайги:

 server { listen 8080 default_server; server_name taiga.<replaced with company URL> <replace with VM IP address>; large_client_header_buffers 4 32k; client_max_body_size 50M; charset utf-8; access_log /opt/taiga/logs/nginx.access.log; error_log /opt/taiga/logs/nginx.error.log; # Frontend location / { root /opt/taiga/taiga-front-dist/dist/; try_files $uri $uri/ /index.html; } # Backend location /api { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8001/api; proxy_redirect off; } # Django admin access (/admin/) location /admin { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8001$request_uri; proxy_redirect off; } # Static files location /static { alias /opt/taiga/taiga-back/static; } # Media files location /media { alias /opt/taiga/taiga-back/media; } } 

С этими двумя configurationми в /etc/nginx/sites-enabled после перезагрузки ( sudo service nginx restart ) мой server Taiga доступен через порт 8080, но, как ни странно, server gitlab больше не доступен. Нет 502, но тайм-аут подkeyения!

Кто-нибудь знает nginx с идеей? Любая помощь будет принята с благодарностью!

Благодаря помощи моего ИТ-провайдера мы нашли решение, которое идет по исходной точке ответа @Alex_hha: было ошибкой связывать Taiga с портом 8080 ( LSNED …)

Итак, наконец, я использую установку nginx для Debian в моей виртуальной машине в качестве обратного proxy, отkeyил embedded nginx внутри GitLab (путем редактирования fileа /etc/gitlab/gitlab.rb ) и настроил как Taiga, так и Gitlab с fileами конфигурации внутри /etc/nginx/sites-available (и символические ссылки на /etc/nginx/sites-enabled ), а именно:

Taiga:

 server { listen 80 default_server; server_name taiga.<company URL> <VM IP address>; 

и оставшиеся без изменений. И для Гитлаба:

 server { listen 80; server_name gitlab.<company URL>; large_client_header_buffers 4 32k; client_max_body_size 50M; charset utf-8; access_log /opt/gitlab/logs/nginx.access.log; error_log /opt/gitlab/logs/nginx.error.log; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 

Таким образом, оба доступны через порт 80, но с учетом URL-адреса requestа вызывается правильный сервис. Обратите внимание на отсутствие default_server в конфигурации GitLab.

Эта комбинация конфигурации делает весь трафик GitLab в GitLab и все остальное (даже недопустимый URL), заканчивающийся в сервисе Taiga.

Не используйте порт 8080 для тайги или, по крайней мере, не привязывайте nginx к localhost: 8080. Для Taiga вы можете привязать nginx к определенному внешнему interfaceу, например, что-то вроде следующего

 server { listen 192.168.127.1:8080; ... } 

Я использую Gitlab и Jenkins на одной машине без проблем. Оба они на порту 8080

 # lsof -n -P -i tcp:8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 18983 jenkins 155u IPv6 639617 0t0 TCP 192.168.88.87:8080 (LISTEN) ruby 19098 git 9u IPv4 113752 0t0 TCP 127.0.0.1:8080 (LISTEN) ruby 19141 git 9u IPv4 113752 0t0 TCP 127.0.0.1:8080 (LISTEN) ruby 19144 git 9u IPv4 113752 0t0 TCP 127.0.0.1:8080 (LISTEN) ruby 19147 git 9u IPv4 113752 0t0 TCP 127.0.0.1:8080 (LISTEN) ruby 19150 git 9u IPv4 113752 0t0 TCP 127.0.0.1:8080 (LISTEN) 
  • Ошибка Gunicorn: «Ошибка открытия fileа для чтения: Permission denied»
  • Nginx + Pyodbc (UnixODBC) + Gunicorn + Django: Не удается открыть lib
  • Django хостинг на Linux - что является наиболее эффективным с точки зрения памяти методом?
  • служить статическими fileами веб-приложения, имеющего nginx в качестве proxy-serverа
  • Nginx и Gunicorn на разных serverах
  • Соединение было отклонено при подkeyении вверх по streamу от nginx к gunicorn_django
  • Служба запуска Systemd для останков пулеметов неактивна
  • Django + gunicorn + virtualenv + Вопрос супервизора
  • Развертывание приложений CherryPy: автономный server WSGI или NGinx?
  • Django + gunicorn + nginx одновременные пользователи при настройках по умолчанию
  • Nginx ошибается слишком много ошибок при перенаправлении после конфигурации ssl
  • Interesting Posts

    nginx proxy_pass с бэкэндом, запрашивающим клиентские certificateы

    Где находится раздел реестра, указывающий на расположение папок $ NTUninstall?

    Возможно ли, что Nginx блокирует себя от requestа другого URL-адреса в том же экземпляре?

    Лучшая опция для пейджера / резервного телеbackgroundа для 24/7 административного покрытия

    HTTPS -> вопрос установки SSL

    Как запустить server mongrel_cluster и Ferret DRb при загрузке CentOS 5.2?

    Медленная performance с помощью SQL Compact Server Tool 3.5 SP1

    Локальный IP-адрес, такой же, как внешний

    как я могу использовать ffmpeg для получения параметров кодирования одного fileа, а затем кодировать другой точно так же

    ASA 5510 – Маршрутизация между interfaceом

    windows 10 «запускать как администратор» не запускаются

    Мастер Redis-кластера потребляет больше памяти, чем ожидалось

    Эффект OpenVPN отменяется (CLR blacklist)? Сколько keyей можно отменить?

    migration электронной почты с помощью imapsync

    Использование накопительного устройства на веб-serverе

    Давайте будем гением компьютера.