NGINX не запускает git-http-сервер
Я работаю на Git-сервере за Nginx, используя скрипт git git-http-backend.
В настоящее время у меня есть пассажирский сервер, который работает с приложением rails в порту 2222. Однако за папкой /git/ я хочу обслуживать git-репозитории. Дело в том, что Nginx, похоже, не запускает скрипт. Использую ли я файл сокета или другой пост localhost, я получаю ошибку 502. Это отображается в журнале ошибок Nginx:
2017/06/07 18:43:03 [error] 2147#0: *3 no live upstreams while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /git/me/repo HTTP/1.1", upstream: "fastcgi://localhost", host: "localhost:2222"
Кажется, nginx не запускает процесс для обработки файлов git.
Это часть моего местоположения в настройке nginx:
location ~ /git(/.*) {
include fastcgi.conf;
include fastcgi_params;
#fastcgi_pass 127.0.0.1:8888;
fastcgi_param SCRIPT_FILENAME /Library/Developer/CommandLineTools/usr/libexec/git-core/git-http-backend;
# export all repositories under GIT_PROJECT_ROOT
fastcgi_param GIT_HTTP_EXPORT_ALL "";
fastcgi_param GIT_PROJECT_ROOT /Users/userx/Documents/Projecten/repositories;
fastcgi_param PATH_INFO $1;
fastcgi_keep_conn on;
fastcgi_connect_timeout 20s;
fastcgi_send_timeout 60s;
fastcgi_read_timeout 60s;
#fastcgi_pass 127.0.0.1:9001;
fastcgi_param REMOTE_USER $remote_user;
#fastcgi_pass unix:/var/run/fcgi/fcgiwrap.socket;
fastcgi_pass localhost:9001;
}
Я не могу понять это в одиночку, кто-нибудь может поделиться своими мыслями по этому поводу?
1 ответ
Проверьте, может ли nginx записывать файлы в папку, содержащую репозиторий git. Nginx работает как пользователь
www-data:www-data
, поэтому у этих файлов могут быть разрешения, как у файлов ниже:
permission owner group file
drwxr-xr-x www-data www-data ./repoA
dr-xrwxr-x some-owner www-data ./repoB
drwxr-xr-x some-owner www-data ./repoError502