2012-09-02 11 views
7

मैं Apache2 उपयोग कर रहा था इससे पहले कि मैं अपने VPS पर GitLab स्थापित के रूप में GitLab को कैसे कॉन्फ़िगर करें। मैं सिर्फ गिटलैब को अपनी साइट (git.example.com) का सबडोमेन बनाना चाहता हूं और मेरी मुख्य साइट (www.example.com) /var/www/html/index.htmlnginix.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

इस काम पर गिटलैब का कौन सा संस्करण काम करता है? – spuder

+0

यह गिटलैब 8.4.4 के लिए काम किया – Ankirama

2

यहाँ मैं क्या किया है, अगर यह इष्टतम है मैं नहीं जानता लेकिन यह काम करता है।

nginx.conf:

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; 
      } 
    } 
} 

gitlab.rb में, टिप्पणी हटाएं/संपादित इस लाइन:

nginx['listen_port'] = 8000 
संबंधित मुद्दे