Я просмотрел ответы, представленные в похожих сообщениях, но все еще получаю Connection refused
ошибка при попытке подключиться к git.example.com
.
Точное сообщение об ошибке nginx выглядит следующим образом
2019/11/05 17:16:09 [error] 12175#12175: *1 connect() to unix:/tmp/fcgiwrap.sock failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: git.example.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/fcgiwrap.sock:", host: "git.example.com", referrer: "https://example.com/"
ls -l /tmp/fcgiwrap.sock
дает
srwxrwxr-x 1 www-data www-data 0 Jul 3 00:56 /tmp/fcgiwrap.sock
Я дал разрешение на запись в файл сокета на всякий случай через chmod g+w /tmp/fcgiwrap.sock
.
ps aux | grep nginx
дает следующие
root 11203 0.0 0.1 47572 1412 ? Ss 07:17 0:00 nginx: master process /usr/sbin/nginx
www-data 11204 0.0 0.6 47788 6116 ? S 07:17 0:01 nginx: worker process
www-data 11205 0.0 0.3 47572 2856 ? S 07:17 0:02 nginx: worker process
www-data 11206 0.0 0.4 47572 5632 ? S 07:17 0:02 nginx: worker process
www-data 11207 0.0 0.0 47572 2856 ? S 07:17 0:02 nginx: worker process
pi 11996 0.0 0.0 4733 576 ? S 07:17 0:01 grep nginx
Пользователь Nginx www-data
. Я подозреваю, что это мой файл конфигурации nginx. Обратите внимание, что у меня есть оба git.example.com
и example.com
прослушивание порта 443, но у меня есть A
запись для git
префикс в моих настройках DNS.
server {
listen 443 ssl;
server_name git.example.com;
location ~ ^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ {
root /usr/share/nginx/example/git;
auth_basic "Restricted";
auth_basic_user_file /usr/share/nginx/example/.gitpasswd;
fastcgi_pass unix:/tmp/fcgiwrap.sock;
fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
fastcgi_param PATH_INFO $uri;
fastcgi_param GIT_PROJECT_ROOT /usr/share/nginx/example/git;
fastcgi_param GIT_HTTP_EXPORT_ALL "";
fastcgi_param REMOTE_USER $remote_user;
include fastcgi_params;
}
location /index.cgi {
root /usr/share/gitweb;
include fastcgi_params;
gzip off;
fastcgi_param SCRIPT_NAME $uri;
fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
fastcgi_pass unix:/tmp/fcgiwrap.sock;
}
location / {
root /usr/share/gitweb;
index index.cgi;
}
ssl_certificate /.../fullchain.pem;
ssl_certificate /.../privkey.pem;
}
Обратите внимание, что у меня есть fcgiwrap
и spawn-fcgi
установлен и запущен, хотя и дает мне ошибку «Ошибка установки локали» - она автоматически возвращается к локали ("en_GB.UTF-8").
ОБНОВИТЬ
Вот в нем говорится, что ошибка означает fcgiwrap
не работает в этом файле сокета.
Я следил это руководство по nginx включать /usr/share/doc/fcgiwrap/examples/nginx.conf
в моем conf
серверный блок, где fastcgi_pass unix:/tmp/fcgiwrap.sock
в nginx.conf
файл ... но все еще нет кубика.
Что я пробовал до сих пор
gitweb.cgi
был создан root
но я дал ему разрешение на чтение с chmod +x
.fcgiwrap
, nginx
php-fpm
проблема ... поэтому я убедился, что его conf в /etc/php/7.0/fpm/pool.d/www.conf
listen
параметр был назначен правильному носку /tmp/php7.0-fpm.sock
что позволило читать / писать для www-data