2012-09-02 8 views
7

Ich benutzte Apache2, bevor ich GitLab auf meinem VPS installierte. Ich möchte nur GitLab zu einer Subdomain meiner Website machen (git.example.com) und meine Hauptseite (www.example.com) unter /var/www/html/index.html ansehen.Wie konfiguriere ich GitLab als Subdomain in der nginix.conf?

Hier ist mein Nginx .conf Datei ab sofort:

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

hat diese Frage seit behoben? Bitte geben Sie an, welche Antwort ist, so können wir uns auf eine Antwort verlassen ... Vielen Dank! – menssana

Antwort

6

Hier ist mein Setup, das auf einer Subdomain funktioniert.

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

Welche Version von gitlab funktioniert das? – spuder

+0

Es funktionierte für Gitlab 8.4.4 – Ankirama

2

Hier ist, was ich getan habe, ich weiß nicht, ob es optimal ist Aber es funktioniert.

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

in gitlab.rb Kommentar-/bearbeiten diese Zeile:

nginx['listen_port'] = 8000 
Verwandte Themen