Я настроил свою конфигурацию так:

$HTTP["host"] =~ "(^|\.)domain1\.com$" {
  fastcgi.server = ( "/domain1.py" =>
    ((
      "socket" => "/tmp/fastcgi.socket",
      "bin-path" => "/home/domain1/serveV03.py",
      "max-procs" => 1,
      "bin-environment" => (
        "REAL_SCRIPT_NAME" => ""
      ),
      "check-local" => "disable"
    ))
  )
  server.document-root = "/home/domain1"
  url.rewrite-once = (
    "^/favicon.ico$" => "/static/favicon.ico",
    "^/static/(.*)$" => "/static/$1",
    "^/(.*)$" => "/domain1.py/$1"
  )
}


$HTTP["host"] =~ "(^|\.)domain2\.com$" {
  fastcgi.server = ( "/domain2.py" =>
    ((
      "socket" => "/tmp/fastcgi.socket",
      "bin-path" => "/home/domain2/serveV01.py",
      "max-procs" => 1,
      "bin-environment" => (
        "REAL_SCRIPT_NAME" => ""
      ),
      "check-local" => "disable"
    ))
  )
  server.document-root = "/home/domain2"
  url.rewrite-once = (
    "^/favicon.ico$" => "/static/favicon.ico",
    "^/static/(.*)$" => "/static/$1",
    "^/(.*)$" => "/domain2.py/$1"
  )
}

Но почему-то, когда я получаю доступ к домену domain2.com, запускается domain1.py - странно, что содержимое в / static / правильно извлекается из / home / domain2 / static.

Когда я вхожу в domain1.com, все работает как положено. Почему так не удается сопоставить домен?

answer

Вы настроили оба сервера fastCGI на использование одного и того же файла сокета. Вероятно, что только первый создается успешно, и все транзакции поступают в этот сокет и отправляются в один и тот же скрипт Python.