ошибка при запуске nginx с тонким

Я пытаюсь установить redmine на свой компьютер с Ubuntu 14.04. У меня уже есть сервер nginx 1.8.1, поэтому мне нужно его использовать. Я следил за кучей руководств о том, как это сделать, поскольку у меня нет опыта работы в среде ruby. После того, как я установил и настроил все, я получаю сообщение об ошибке в nginx при попытке доступа к экземпляру redmine:

2016/03/22 21:52:54 [crit] 6640#0: *253 connect() to unix:/var/sockets/thin.2.sock failed (2: No such file or directory) while connecting to upstream, client: <EDIT>, server: <EDIT>, request: "GET / HTTP/1.1", upstream: "http://unix:/var/sockets/thin.2.sock:/", host: "<EDIT>"
2016/03/22 21:52:54 [crit] 6640#0: *253 connect() to unix:/var/sockets/thin.1.sock failed (2: No such file or directory) while connecting to upstream, client: <EDIT>, server: <EDIT>, request: "GET / HTTP/1.1", upstream: "http://unix:/var/sockets/thin.1.sock:/", host: "<EDIT>"
2016/03/22 21:52:54 [crit] 6640#0: *253 connect() to unix:/var/sockets/thin.0.sock failed (2: No such file or directory) while connecting to upstream, client: <EDIT>, server: <EDIT>, request: "GET / HTTP/1.1", upstream: "http://unix:/var/sockets/thin.0.sock:/", host: "<EDIT>"

Итак, что я делаю сейчас:
1. Начните с трех серверов, как показано на примере на этом веб-сайте :

$ sudo thin start -s3 --socket /var/sockets/thin.sock
Starting server on /var/sockets/thin.0.sock ...
Starting server on /var/sockets/thin.1.sock ...
Starting server on /var/sockets/thin.2.sock ...
  1. Перезапустите nginx

Каталог / var / sockets / существует, и на данный момент я дал ему chmod 777 разрешений. Несмотря на то, что thin не выдает ошибок, я не вижу там никаких файлов .sock (может быть, они частные?).

Кроме того, вот мой хост-файл nginx:

upstream thin_cluster {
    server unix:/var/sockets/thin.0.sock;
    server unix:/var/sockets/thin.1.sock;
    server unix:/var/sockets/thin.2.sock;
    #server unix:/tmp/thin.3.sock;
    #server unix:/tmp/thin.4.sock;
}
server {
    listen       80;
    server_name  <EDIT>;

    root /usr/share/redmine/public;

    location / {
      proxy_set_header  X-Real-IP  $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;

      if (-f $request_filename/index.html) {
        rewrite (.*) $1/index.html break;
      }
      if (-f $request_filename.html) {
        rewrite (.*) $1.html break;
      }
      if (!-f $request_filename) {
        proxy_pass http://thin_cluster;
        break;
      }
    }

    #error_page   500 502 503 504  /50x.html;
    #location = /50x.html {
    #  root   html;
    #}
  }
0
задан 23 March 2016 в 14:38
1 ответ

Он пытается подключиться к http: // unix: socket - вероятно, в этом проблема. Посмотрите параметры конфигурации для nginx, чтобы исправить вашу конфигурацию. Вероятно, это

proxy_pass http://thin_cluster;

. Я думаю, что proxy_pass может отправлять только на другой HTTP-сервер, но вы пытаетесь отправить его на сокет Unix. Это работает для PHP, но не для proxy_pass.Замените это на

proxy_pass http://your-server-url

. Я не могу исключить другие неправильные конфигурации. Попробуйте и сообщите, что происходит.

0
ответ дан 5 December 2019 в 10:39

Теги

Похожие вопросы