Назад | Перейти на главную страницу

Настройка wordpress и gitlab, может активировать только один из них за раз

Я пытаюсь создать веб-сайт (website.com) на машине с Ubuntu 14.04.

Когда присутствует '/ etc / nginx / sites-available / wordpress', я могу запустить сервер gitlab на website.com/gitlab (как задумано)

Когда присутствует '/ etc / nginx / sites-available / gitlab', я могу запустить сервер wordpress на сайте website.com (как задумано)

когда и wordpress, и gitlab находятся в разделе sites-available, website.com/gitlab доступен, но website.com возвращает ошибку 403, запрещенную.

Как заставить работать WordPress и gitlab вместе?

Спасибо!

файлы конфигурации в / etc / nginx / sites-available

gitlab

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

## Normal HTTP host
server {
  listen 0.0.0.0:80;
  listen [::]:80;
  server_name localhost ztomer.ax.lt; ## Replace this with something like gitlab.example.com
  server_tokens off; ## Don't show the nginx version number, a security best practice
  root /home/git/gitlab/public;

  client_max_body_size 20m;

  ## See app/controllers/application_controller.rb for headers set

  ## Individual nginx logs for this GitLab vhost
  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;

  location ~* /gitlab {
    alias /home/git/gitlab/public;
    try_files $uri $uri/index.html $uri.html @gitlab;
  }

  location @gitlab {
    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;
  }

  location ~ ^/(assets)/ {
    root /home/git/gitlab/public;
    gzip_static on; # to serve pre-gzipped version
    expires max;
    add_header Cache-Control public;
  }

  error_page 502 /502.html;
}

Wordpress

server {
    listen 80;
    listen [::]:80 ipv6only=on;

    root /var/www/html;
    index index.php index.html index.htm;

    # Make site accessible from http://localhost/
    server_name localhost ztomer.ax.lt;

    location = / {
        try_files /nonexistent /index.php?q=$uri&$args;
    }

# magically link wordpress here
    location / {        
        try_files $uri $uri/ $uri/index.html /index.php?q=$uri&$args;
    }
    error_page 404 /404.html;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;

        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

}

}

Удачи !! Шаги по исправлению:

  1. Использовал один файл сайта
  2. Добавлена ​​явная корневая директива для каждого блока местоположения
  3. Порядок разбора важен, я поставил сначала блок location / {}
  4. добавлена ​​директива index в блок location / {}.

Спасибо за помощь ребята!

рабочий файл конфигурации:

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

## Normal HTTP host
server {
  listen 0.0.0.0:80;
  listen [::]:80;
  server_name localhost ztomer.ax.lt; ## Replace this with something like gitlab.example.com
  server_tokens off; ## Don't show the nginx version number, a security best practice
  # root /home/git/gitlab/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 1024m;

  ## See app/controllers/application_controller.rb for headers set

  ## Individual nginx logs for this GitLab vhost
  access_log  /var/log/nginx/gitlab_access.log;
  error_log   /var/log/nginx/gitlab_error.log;

 # magically link wordpress here
   location / {
       root /var/www/html;
       index index.php;
       try_files $uri $uri/ $uri/index.html /index.php?q=$uri&$args;
   }
   error_page 404 /404.html;

   error_page 500 502 503 504 /50x.html;
   location = /50x.html {
        root /usr/share/nginx/html;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
   location ~ \.php$ {
       root /var/www/html;
       try_files $uri =404;
       fastcgi_split_path_info ^(.+\.php)(/.+)$;

       fastcgi_pass unix:/var/run/php5-fpm.sock;
       fastcgi_index index.php;
       include fastcgi_params;
   }

  location ~* /gitlab {
    root /home/git/gitlab/public;
    ## Serve static files from defined root folder.
    ## @gitlab is a named location for the upstream fallback, see below.
    # alias /home/git/gitlab/public;
    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 passes the request to the upsteam (gitlab unicorn).
  location @gitlab {
    root /home/git/gitlab/public;
    ## 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-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 /home/git/gitlab/public;
    gzip_static on; # to serve pre-gzipped version
    expires max;
    add_header Cache-Control public;
  }

  # error_page 502 /502.html;

}

Вам необходимо обновить root в конфигурации, предполагая, что ваш WordPress находится под /var/www/html и нет /home/git/gitlab/public.