2012-09-02 26 views
7

Tôi đã sử dụng Apache2 trước khi cài đặt GitLab trên VPS của mình. Tôi chỉ muốn biến GitLab thành miền phụ của trang web của tôi (git.example.com) và có trang web chính của tôi (www.example.com) xem /var/www/html/index.htmlCách cấu hình GitLab làm miền phụ trong nginix.conf

Đây là nginx của tôi .conf tệp tại thời điểm hiện tại:

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

đã câu hỏi này được cố định từ? Vui lòng cho biết câu trả lời là gì để chúng tôi có thể dựa vào câu trả lời ... Cảm ơn bạn! – menssana

Trả lời

6

Đây là thiết lập của tôi hoạt động trên tên miền phụ.

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

Phiên bản gitlab này hoạt động như thế nào? – spuder

+0

Nó hoạt động với gitlab 8.4.4 – Ankirama

2

Đây là những gì tôi đã làm, tôi không biết nếu đó là tối ưu nhưng nó đã có tác dụng.

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

trong gitlab.rb, bỏ ghi chú/chỉnh sửa dòng này:

nginx['listen_port'] = 8000 
Các vấn đề liên quan