Назад | Перейти на главную страницу

Nginx обслуживает статические файлы и обратный прокси-сервер Gunicorn

Привет, ребята, я хочу сделать конфигурацию nginx для своего сервера. Я хочу пока обслужить localhost для тестирования. Итак, я установил файл myWebsite.conf, который я включаю в файл nginx.conf через include /path/to/myWebsite.conf

Я хочу сделать свой серверный блок таким образом, чтобы он мог обслуживать статические файлы index.html, css и js, когда URL-адрес localhost: 8080 и когда URL-адрес localhost: 8080 / services Я хочу, чтобы nginx отменил прокси-сервер Gunicord который запущен и работает и обслуживает мое приложение Falcon (внутренняя структура Python)

Я построил свой серверный блок следующим образом

server {
  listen 8080;
  server_name localhost;
  index index.html

  location ~ / {
    root /path/to/var/www/mySite (where I have only my index.html page)
  }

  location ~ /services {
    proxy_pass http://127.0.0.1:8000; (gunicorn server running)
  }

  add_header Cache-Control no-cache; (no cache for testing reasons)
}

В результате я получаю то, что сервер обслуживает только index.html и ничего больше. Когда я набираю localhost: 8080 / services, у меня нет доступа к моим методам api в моей программе python. Не могли бы вы мне помочь, какую часть я должен изменить, чтобы она играла? Или у меня что-то совершенно не так, как я пытаюсь это сделать?

Добавьте косые черты в конце там, где это необходимо, и, возможно, избавьтесь от тильды ~ поскольку они связаны с регулярными совпадениями выражений.

Попробуйте вот так:

server {
  listen 8080;
  server_name localhost;
  index index.html

  location / {
    root /path/to/var/www/mySite; # (where I have only my index.html page)
  }

  location /services/ {
    proxy_pass http://127.0.0.1:8000/; #(gunicorn server running)

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }

  add_header Cache-Control no-cache; #(no cache for testing reasons)
}