How to setup a subdomain on nginx? [closed]
I have setup GitLab
on my unbuntu ubuntu 12.04 lts server in following path /home/git/gitlab/
.
I am using nginx
server.
This is my gitlab status
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.
I am having trouble to setup sub domain on for gitlab. I want a domain like gitlab.domain.com
.
This is my gitlab file on /etc/nginx/sites-avaliable
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.
This is my etc/hosts
file
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
Please suggest me how can i fix this.
Thanks, Krishna
Solution 1:
Here is my working nginx configuration for gitlab. Subdomain should work fine if specified as server_name
.
And as @eric-dannielou mentioned check so that /etc/nginx/sites-available/gitlab
is symlinked in /etc/nginx/sites-enabled
with:
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;
}
}