如何在 nginx 上设置子域名?

如何在 nginx 上设置子域名?

我已经GitLab在以下路径中设置了我的 unbuntu ubuntu 12.04 lts 服务器/home/git/gitlab/。我正在使用nginx服务器。
这是我的 gitlab 状态

root@c27-76:/etc# sudo service gitlab status
The GitLab Unicorn web server with pid 3187 is running.
The GitLab Sidekiq job dispatcher with pid 3197 is running.
GitLab and all its components are up and running.

我在为 gitlab 设置子域名时遇到了麻烦。我想要一个像 这样的域名gitlab.domain.com

这是我的 /etc/nginx/sites-avaliable 上的 gitlab 文件

server {
    listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

    root /home/git/gitlab/;
    index index.html index.htm index.php;

    # Make site accessible from http://localhost/
    server_name gitlab.ecut.eu;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ /index.html;
        # Uncomment to enable naxsi on this location
        # include /etc/nginx/naxsi.rules
    }

    location /doc/ {
        alias /usr/share/doc/;
        autoindex on;
        allow 127.0.0.1;
        allow ::1;
        deny all;
    }

 Nothings happens when i restart nginx.

这是我的etc/hosts文件

127.0.0.1       localhost.localdomain ecut.eu
::1     localhost ip6-localhost ip6-loopback
fe00::0     ip6-localnet
ff00::0     ip6-mcastprefix
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

127.0.0.1 startup2014.eu
localhost startup2014.eu



127.0.0.1 gitlab.ecut.eu
localhost gitlab.ecu.eu

# Auto-generated hostname. Please do not remove this comment.
217.146.76.27 c27-76.uvn.zone.eu c27-76

请建议我如何修复此问题。

谢谢,克里希纳

答案1

这是我为 gitlab 工作的 nginx 配置。如果指定为,子域名应该可以正常工作server_name

正如 @eric-dannielou 提到的那样,检查是否与以下/etc/nginx/sites-available/gitlab符号链接/etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab

/etc/nginx/sites-available/gitlab

# GITLAB
# Maintainer: @randx
# App Version: 5.0

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

相关内容