我最近在我的服务器上安装了GitLab&nginx。 一切顺利,但是,我在server_names_hash_bucket_size & server_names_hash_max_size有问题。 我需要增加它,但是我对nginx文档感到困惑。 我不知道把http {}包含在哪里。 我的configuration如下:
http { server_names_hash_bucket_size 64; server_names_hash_max_size 512; } server { listen *:80; # eg, listen 192.168.1.1:80; In most cases *:80 is a good idea server_name gitkeeper.adtaco.com; # eg, server_name source.example.com; server_tokens off; # don't show the version number, a security best practice root /home/git/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_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; } }
当我尝试重新启动nginx时,它不会输出任何内容。 我通过/var/log/nginx.error.log看到了这一点,并在/ etc / nginx / sites-enabled / gitlab中显示这个错误“http”指令是不允许的。
如果这是像Debian那样的设置,使用/etc/nginx/sites-enabled/从/etc/nginx/nginx.conf包含这样的内容:
http { ... include /etc/nginx/sites-enabled/*; }
你已经在一个http {}节,并可以这样写/etc/nginx/sites-enabled/gitlab :
server_names_hash_bucket_size 64; server_names_hash_max_size 512; server { listen *:80; # eg, listen 192.168.1.1:80; In most cases *:80 is a good idea server_name gitkeeper.adtaco.com; # eg, server_name source.example.com; ... }