大家好,我想为我的服务器创建一个 nginx 配置。我现在想为 localhost 提供测试服务。所以我在 myWebsite.conf 文件中进行了设置,然后通过以下方式将其包含在 nginx.conf 文件中include /path/to/myWebsite.conf
我想让我的服务器以这种方式进行块处理,以便当 url 为 localhost:8080 时以及当 url 为 localhost:8080/services 时它可以提供静态 index.html、css 文件和 js 文件。我希望 nginx 反向代理已启动并正在运行并为我的 falcon 应用程序(后端 python 框架)提供服务的 gunicord 服务器
我构建服务器块的方式如下
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 时,我无法访问我的 python 程序上的 api 方法。你能帮我看看我应该更改哪一部分才能让它播放吗?或者我尝试这样做的方式完全错了?
答案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)
}