এনগিনেক্স সাবডোমিনে চলাকালীন গিটল্যাব ধীর


10

আমি সাবডোমেনে গিটল্যাব চালানোর চেষ্টা করছি। আমি আমার ভেসারটিতে ওমনিবাস ইনস্টলার ব্যবহার করে সর্বশেষতম গিটল্যাব সংস্করণটি ইনস্টল করেছি (উবুন্টু ১৪.০৪.১ চলছে) এবং বান্ডেলযুক্ত এনগিনেক্স অক্ষম করে এবং এখানে পোস্ট করা কনফিগারেশনটি দিয়ে আনবান্ডেলড এনগিনেক্সকে কনফিগার করেছি কীভাবে এনগিনেক্সে সাবডোমেন সেটআপ করবেন?

জন্য / etc / nginx / সাইট-উপলদ্ধ / gitlab

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

server {
listen 80 default_server;         # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea
server_name git.domain.com;     # e.g., server_name source.example.com;
server_tokens off;     # don't show the version number, a security best practice
root /home/git/gitlab/public;
client_max_body_size 500m;

# 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_read_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
  proxy_connect_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
  proxy_redirect     off;

  proxy_set_header   X-Forwarded-Proto $scheme;
  proxy_set_header   Host              $http_host;
  proxy_set_header   X-Real-IP         $remote_addr;

  proxy_pass http://gitlab;
}

আমি পৃষ্ঠাটি দেখতে সক্ষম হয়েছি, তবে পৃষ্ঠাটি লোড করার জন্য 30s এবং আরও বেশি প্রয়োজন needs আমি যখন freeবান্ডিলড এনগিনেক্স সার্ভারটি ব্যবহার করছি তখন এত বেশি সময় নিচ্ছে না তাই আমি এটি কোনও মেমরির সমস্যা বলে মনে করি না (এবং আমাকে বলছে যে এটিতে 1,4 গিগাবাইট উপলব্ধ রয়েছে)

ত্রুটি লগ আমাকে এই জাতীয় কিছু বলে:

/var/log/nginx/gitlab_error.log

server: git.mydomain.de, request: "GET /assets/application-c4186ca579dd09b3e48eaf1b5a3e4434.js HTTP/1.1", upstream: "http://unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket:/assets/application-c4186ca579dd09b3e48eaf1b5a3e4434.js"

সাহায্য করার জন্য অনেক ধন্যবাদ!


আপনি কি কখনও এটি খুঁজে বের করতে পারেন? আমি এখনই ঠিক এই একই সমস্যা নিয়ে কাজ করছি।
বিদুর

উত্তর:


1

আপডেট : গিটল্যাব 8.x এ আপগ্রেড করা আমার জন্য এই সমস্যাটি স্থির করেছে


আসল উত্তর :

আমার এই একই সমস্যাটি ছিল এবং গিটল্যাব ইনস্টল থেকে উত্পন্ন এনগিনেক্স কনফিগারেশনটি সরাসরি আমার এনগিনেক্স কনফিগারেশন ডিরেক্টরিতে অনুলিপি করে সমাধান করেছি।

আমি আমার গিটল্যাব এনগিনেক্স কনফিগারেশনটি এখানে পেয়েছি: /var/opt/gitlab/nginx/conf/gitlab-http.conf

উত্তরোত্তর জন্য এখানে এটি আটকানো:

# This file is managed by gitlab-ctl. Manual changes will be
# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`.

## GitLab
## Contributors: randx, yin8086, sashkab, orkoden, axilleas, bbodenmiller
##
## Modified from https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/support/nginx/gitlab-ssl & https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/support/nginx/gitlab
##
## Lines starting with two hashes (##) are comments with information.
## Lines starting with one hash (#) are configuration parameters that can be uncommented.
##
##################################
##        CHUNKED TRANSFER      ##
##################################
##
## It is a known issue that Git-over-HTTP requires chunked transfer encoding [0]
## which is not supported by Nginx < 1.3.9 [1]. As a result, pushing a large object
## with Git (i.e. a single large file) can lead to a 411 error. In theory you can get
## around this by tweaking this configuration file and either:
## - installing an old version of Nginx with the chunkin module [2] compiled in, or
## - using a newer version of Nginx.
##
## At the time of writing we do not know if either of these theoretical solutions works.
## As a workaround users can use Git over SSH to push large files.
##
## [0] https://git.kernel.org/cgit/git/git.git/tree/Documentation/technical/http-protocol.txt#n99
## [1] https://github.com/agentzh/chunkin-nginx-module#status
## [2] https://github.com/agentzh/chunkin-nginx-module
##
###################################
##         configuration         ##
###################################

upstream gitlab {
  server unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket fail_timeout=0;
}


server {
  listen *:80;
  server_name git.mydomain.com;
  server_tokens off; ## Don't show the nginx version number, a security best practice
  root /opt/gitlab/embedded/service/gitlab-rails/public;

  ## Increase this if you want to upload large attachments
  ## Or if you want to accept large git objects over http
  client_max_body_size 250m;


  ## Individual nginx logs for this GitLab vhost
  access_log  /var/log/gitlab/nginx/gitlab_access.log;
  error_log   /var/log/gitlab/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;
  }

  location /uploads/ {
    ## If you use HTTPS make sure you disable gzip compression
    ## to be safe against BREACH attack.
    gzip off;

    ## https://github.com/gitlabhq/gitlabhq/issues/694
    ## Some requests take more than 30 seconds.
    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;

    proxy_set_header    Host                $http_host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-Ssl     on;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto   $scheme;
    proxy_set_header    X-Frame-Options     SAMEORIGIN;

    proxy_pass http://gitlab;
  }

  ## If a file, which is not found in the root folder is requested,
  ## then the proxy passes the request to the upsteam (gitlab unicorn).
  location @gitlab {
    ## If you use HTTPS make sure you disable gzip compression
    ## to be safe against BREACH attack.


    ## https://github.com/gitlabhq/gitlabhq/issues/694
    ## Some requests take more than 30 seconds.
    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;

    proxy_set_header    Host                $http_host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto   $scheme;
    proxy_set_header    X-Frame-Options     SAMEORIGIN;

    proxy_pass http://gitlab;
  }

  ## Enable gzip compression as per rails guide:
  ## http://guides.rubyonrails.org/asset_pipeline.html#gzip-compression
  ## WARNING: If you are using relative urls remove the block below
  ## See config/application.rb under "Relative url support" for the list of
  ## other files that need to be changed for relative url support
  location ~ ^/(assets)/ {
    root /opt/gitlab/embedded/service/gitlab-rails/public;
    gzip_static on; # to serve pre-gzipped version
    expires max;
    add_header Cache-Control public;
  }


  error_page 502 /502.html;


}

এটি আসলে ব্যাখ্যা করে না যে কনফিগারেশনের অংশটি কী পার্থক্য করে। এটি কনফিগার ফাইলগুলির নিজস্ব কমেন্টগুলির বিরুদ্ধেও: ম্যানুয়াল পরিবর্তনগুলি মুছে ফেলা হবে! আপনার মতে কোন বিকল্পটি কার্য সম্পাদনকে প্রভাবিত করবে এবং আপনার পোস্টটিকে এতে কমিয়ে দেবে তা আপনাকে উল্লেখ করা উচিত।
এসা জোকিনেন

হ্যাঁ, আমি জানি এটি একটি অলস উত্তর। সেই সময়ে সমস্যাটি কী ছিল তা জানার মতো সময় আমার হাতে ছিল না এবং এটি পরবর্তী সময়ের জন্য রেখেছি। এই টুকরো তথ্যের অঙ্কিত কিছু ভবিষ্যতের ব্যক্তি সমস্যাটিকে আরও ভালভাবে ডিবাগ করতে সহায়তা করবে। গিটলাবের নতুন সংস্করণে আপগ্রেড করা আমার জন্য এটি স্থায়ীভাবে সমাধান করেছে (এখনও অবধি)।
বিদুর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.