2012-09-02 20 views
7

私はGitLabをVPSにインストールする前にApache2を使用していました。私はGitLabを自分のサイト(git.example.com)のサブドメインにし、私のメインサイト(www.example.com)に/var/www/html/index.htmlを見せたいだけですGitLabをnginix.confのサブドメインとして設定する方法

ここは私のnginxです.confファイル現在のとおり:

user www-data; 
worker_processes 1; 

error_log /var/log/nginx/error.log; 
pid  /var/run/nginx.pid; 

events { 
    worker_connections 1024; 
    # multi_accept on; 
} 

http { 
    include  /etc/nginx/mime.types; 

    access_log /var/log/nginx/access.log; 

    sendfile  on; 
    #tcp_nopush  on; 

    #keepalive_timeout 0; 
    keepalive_timeout 65; 
    tcp_nodelay  on; 

    gzip on; 
    gzip_disable "MSIE [1-6]\.(?!.*SV1)"; 

    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 

upstream gitlab { 

    server unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket; } 

    server { 

     listen 80; 
     server_name www.example.com; 
     root /home/gitlab/gitlab/public; 

     # individual nginx logs for this gitlab vhost 
     access_log /var/log/nginx/gitlab_access.log; 
     error_log /var/log/nginx/gitlab_error.log; 

     location/{ 
      # serve static files from defined root folder;. 
      # @gitlab is a named location for the upstream fallback, see below 
      try_files $uri $uri/index.html $uri.html @gitlab; 
     } 

     # if a file, which is not found in the root folder is requested, 
     # then the proxy pass the request to the upsteam (gitlab unicorn) 
     location @gitlab { 
      proxy_redirect  off; 

      # you need to change this to "https", if you set "ssl" directive to "on" 
      proxy_set_header X-FORWARDED_PROTO http; 
      proxy_set_header Host    $http_host; 
      proxy_set_header X-Real-IP   $remote_addr; 

      proxy_pass http://gitlab; 
     } 
    } 

} 
+0

この質問は以降に修正されていますか? 私たちは答えに頼ることができるので、どんな答えであるかを示してください... ありがとう! – menssana

答えて

6

ここはサブドメインで動作する私の設定です。

server { 
    listen 80; 
    server_name gitlab.example.com; 
    root /home/gitlab/gitlab/public; 

    # individual nginx logs for this gitlab vhost 
    access_log /var/log/nginx/gitlab_access.log; 
    error_log /var/log/nginx/gitlab_error.log; 

    location/{ 
    # serve static files from defined root folder;. 
    # @gitlab is a named location for the upstream fallback, see below 
    try_files $uri $uri/index.html $uri.html @gitlab; 
    } 

    # if a file, which is not found in the root folder is requested, 
    # then the proxy pass the request to the upsteam (gitlab unicorn) 
    location @gitlab { 
    proxy_redirect  off; 
    # you need to change this to "https", if you set "ssl" directive to "on" 
    proxy_set_header X-FORWARDED_PROTO http; 
    proxy_set_header Host    gitlab.example.com:80; 
    proxy_set_header X-Real-IP   $remote_addr; 
    proxy_pass http://gitlab; 
    } 
} 
+0

gitlabのどのバージョンがこれで動作しますか? – spuder

+0

gitlab 8.4.4で動作しました – Ankirama

2

はそれが最適かどうかは分かりませんが、私がやったことですそれは動作します。

nginx.conf

gitlab.rb
events { 
    worker_connections 1024; 
} 
http { 
    include /etc/nginx/mime.types; 
    root .; 
    server { 
      listen 80; 
      server_name www.whatever.com whatever.com; 
    } 
    server { 
      listen 80; 
      server_name gitlab.whatever.com; 
      location/{ 
       proxy_pass http://127.0.0.1:8000; 
      } 
    } 
} 

、コメント解除/編集このライン:

nginx['listen_port'] = 8000 
関連する問題