Omnibusパッケージを使用して、専用のUbuntu 14.04サーバーエディションにGitlab CEをインストールしました。
ここで、gitlabの隣に3つの他の仮想ホストをインストールします。
2つは2つの異なるnon-root user
で実行されるports > 1024
によって起動されるnode.js Webアプリケーションです。3つ目はPHPから起動するWebサーバーを必要とするWebアプリケーションです。
がある:
8081
(node.js
)で実行されているプライベートバウワーレジストリ8082
(node.js
)で実行されているプライベートnpmレジストリ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
)
私は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