Установить
- Я установил
gitlab
пакет через пакет omnibus наdebian 7
(версия7.8.1-omnibus-1_amd64.deb
); - измените настройки, как описано вИспользование невстроенного веб-сервера
- выполните команду перенастройки:
sudo gitlab-ctl reconfigure
(выполните ее без ошибок).
Nginx
У меня нет nginx
конфигурации для этого gitlab, за исключением той, которую пакет мог создать с помощью следующего /etc/gitlab/gitlab.rb
файла:
external_url 'http://git.mydomain.fr'
web_server['external_users'] = ['www-data']
nginx['enable'] = false
ci_nginx['enable'] = false
Журналы
/var/log/nginx/gitlab_error.log
2015/02/28 14:29:16 [alert] 4137#0: *14738 768 worker_connections are not enough while connecting to upstream, client: x.x.128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream
: "http://x.x.128.194:80/", host: "git.mydomain.fr"
/var/log/nginx/gitlab_access.log
В acces.log я получил сотни запросов на /
.
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
Вопрос
При попытке связаться с сервером локально links2
или извне я получил ошибку 502 Bad Gateway
.
- нужно ли мне создавать пользовательскую конфигурацию nginx?
решение1
Продолжая исследования, я нахожу /var/opt/gitlab/
каталог и решаю эту проблему следующим образом:
sudo ln -s /var/opt/gitlab/nginx/conf/gitlab-http.conf /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-{available,enabled}/gitlab-http.conf
sudo service nginx reload
решение2
Что касается gitlab 8, мы больше не можем создавать символические ссылки на gitlab-http.conf по умолчанию, поскольку веб-сервер пакета не будет установлен, когда мы установим nginx['enable'] = false
.
Просто загрузите нужные конфигурации веб-сервера с сайтаРепозиторий рецептов GitLabи измените YOUR_SERVER_FQDN
на предпочитаемое вами доменное имя.
Видетьздесь для получения подробных инструкцийо том, как установить gitlab с помощью невстроенного веб-сервера.
решение3
Чтобы обеспечить доступ пользователей, необходимо добавить пользователя Nginx (обычно www-data или nginx) в группу gitlab-www:
sudo usermod -aG gitlab-www nginx
или
sudo usermod -aG gitlab-www www-data
решение4
Если вы создали символическую ссылку на gitlab-http.conf и получили:
неизвестный формат журнала "gitlab_access" в /etc/nginx/sites-enabled/gitlab-http.conf
Просто добавьте log_format
директивы /var/opt/gitlab/nginx/conf/nginx.conf
в вашу глобальную конфигурацию nginx:
http {
...
log_format gitlab_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
log_format gitlab_ci_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
log_format gitlab_mattermost_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
...
}