nginx 上的 gitweb ...连接 unix:/tmp/fcgiwrap.sock 失败(111:连接被拒绝)

nginx 上的 gitweb ...连接 unix:/tmp/fcgiwrap.sock 失败(111:连接被拒绝)

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 conf 文件。请注意,我同时在端口 443 上监听git.example.com和,但我的 DNS 设置中example.com有前缀A的记录。git

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;


}

请注意,我已经安装fcgiwrapspawn-fcgi正在运行,尽管出现了“设置区域设置失败”错误——它会自动恢复到区域设置(“en_GB.UTF-8”)。

更新

这里它指出错误意味着fcgiwrap该套接字文件没有运行。

我已经关注这个 nginx 教程包含/usr/share/doc/fcgiwrap/examples/nginx.conf在我的conf服务器块fastcgi_pass unix:/tmp/fcgiwrap.sock中的nginx.conf文件中...但仍然没有骰子。

到目前为止我尝试过的

  1. gitweb.cgi由 创建,root但我已授予其读取权限chmod +x
  2. 重新启动fcgiwrapnginx
  3. 有人说这可能是一个php-fpm问题...所以我确保它的conf in参数被分配给允许读/写的/etc/php/7.0/fpm/pool.d/www.conf listen正确sock/tmp/php7.0-fpm.sockwww-data

相关内容