gpt4 book ai didi

Nginx 上游失败配置文件

转载 作者:行者123 更新时间:2023-12-05 00:59:31 25 4
gpt4 key购买 nike

我正在尝试在我的 nginx 网络服务器上启动我的节点服务,但是当我尝试执行 nginx -t 时我不断收到此错误

nginx: [emerg] "upstream" directive is not allowed here in /etc/nginx/nginx.conf:3
nginx: configuration file /etc/nginx/nginx.conf test failed

我现在的 nginx.conf 是这样的:

upstream backend {
server 127.0.0.1:5555;
}

map $sent_http_content_type $charset {
~^text/ utf-8;
}

server {
listen 80;
listen [::]:80;

server_name mywebsite.com;
server_tokens off;

client_max_body_size 100M; # Change this to the max file size you want to allow

charset $charset;
charset_types *;

# Uncomment if you are running behind CloudFlare.
# This requires NGINX compiled from source with:
# --with-http_realip_module
#include /path/to/real-ip-from-cf;

location / {
add_header Access-Control-Allow-Origin *;
root /path/to/your/uploads/folder;
try_files $uri @proxy;
}

location @proxy {
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_set_header X-NginX-Proxy true;
proxy_pass http://backend;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

我试图查找一些解决方案,但似乎对我的情况没有任何帮助。

编辑:是的,我确实正确地编辑了路径和占位符。

最佳答案

tldr; upstream 指令必须嵌入到 http block 中。


nginx 配置文件通常在最顶层有 eventshttp block ,然后是 serverupstream,以及嵌套在 http 中的其他指令。像这样的:

events {
worker_connections 768;
}

http {
upstream foo {
server localhost:8000;
}

server {
listen 80;
...
}
}

有时,不是显式嵌套 server block ,而是将配置分布在多个文件中,并使用 include 指令将它们“合并”在一起:

http {
include /etc/nginx/sites-enabled/*;
}

您的配置没有向我们显示封闭的 http block ,因此您很可能针对部分配置运行 nginx -t。您应该 a) 将这些封闭 block 添加到您的配置中,或者 b) 重命名此文件并在您的主 nginx.conf 中为其发出 include 以将所有内容组合在一起。

关于Nginx 上游失败配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53454739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com