web-dev-qa-db-ja.com

Gitlab Omnibusサーバーの隣にある他の仮想ホストを提供する方法は? [完全な段階的ソリューション]

Omnibusパッケージを使用して、専用のUbuntu 14.04サーバーエディションにGitlab CEをインストールしました。

ここで、gitlabの隣に3つの他の仮想ホストをインストールします。

2つは2つの異なるnon-root userで実行されるports > 1024によって起動されるnode.js Webアプリケーションです。3つ目はPHPから起動するWebサーバーを必要とするWebアプリケーションです。

がある:

  • 8081node.js)で実行されているプラ​​イベートバウワーレジストリ
  • 8082node.js)で実行されているプラ​​イベートnpmレジストリ
  • プライベートcomposerレジストリ(PHP

しかし、オムニバスは80をリッスンで、Apache2もNginxも使用していないようですしたがって、PHPアプリと-他の2つのノードアプリのプロキシ

Gitlab Omnibusがlisten 80に使用するサービスメカニズムは何ですか?次のvHostを提供できるように、他の3つの仮想ホストを作成するにはどうすればよいですか?

  • gitlab.mycompany.com:80)-すでに使用されています
  • bower.mycompany.com:80
  • npm.mycompany.com:80
  • packagist.mycompany.com:80
26
Rémi Becheras

私はgitlabのnginxサーバーを変更したくないので(他のいくつかの統合を使用して)、最も安全な方法はソリューションの下にあります。

また、

Gitlab:Ningx =>カスタム設定をNGINX構成に挿入

gitlabの/etc/gitlab/gitlab.rbを編集します:

nano /etc/gitlab/gitlab.rb

nginx ['custom_nginx_config']にスクロールし、以下のように変更して、コメントを外してください

# Example: include a directory to scan for additional config files
nginx['custom_nginx_config'] = "include /etc/nginx/conf.d/*.conf;"

新しい構成ディレクトリを作成します。

mkdir -p /etc/nginx/conf.d/
nano /etc/nginx/conf.d/new_app.conf

新しい構成にコンテンツを追加します

# my new app config : /etc/nginx/conf.d/new_app.conf
# set location of new app 
upstream new_app {
  server localhost:1234; # wherever it might be
}
# set the new app server
server {
  listen *:80;
  server_name new_app.mycompany.com;
  server_tokens off;
  access_log  /var/log/new_app_access.log;
  error_log   /var/log/new_app_error.log;
  proxy_set_header Host      $Host;
  proxy_set_header X-Real-IP $remote_addr;
  location / { proxy_pass  http://new_app; }
}

gitlabを再構成して、新しい設定を挿入します

gitlab-ctl reconfigure

nginxを再起動するには

gitlab-ctl restart nginx

nginxエラーログを確認するには:

tail -f /var/log/gitlab/nginx/error.log
22
Danny