Nginx обслуживает статические файлы и обратный прокси-сервер.
Привет, ребята. Я хочу создать конфигурацию nginx для моего сервера. Я хочу служить localhost для тестирования на данный момент. Поэтому я настроил файл myWebsite.conf, который я включаю в файл nginx.conf через include /path/to/myWebsite.conf
Я хочу, чтобы мой сервер блокировался таким образом, чтобы он мог обслуживать статические файлы index.html, css и js, когда URL-адрес localhost:8080 и когда url-адрес localhost:8080/services. Я хочу, чтобы nginx обращался к прокси-серверу gunicord. это работает и обслуживает мое приложение сокола (внутренняя структура 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. Можете ли вы помочь мне, пожалуйста, на какую роль я должен изменить, чтобы заставить его играть? Или у меня что-то не так в том, как я пытаюсь это сделать?
1 ответ
Добавьте несколько косых черт в нужное место и, возможно, избавьтесь от тильды ~
как это связано с регулярными выражениями совпадений.
Попробуйте вот так:
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)
}