gpt4 book ai didi

nginx: [emerg] "location"指令在/etc/nginx/nginx.conf:16 中是不允许的

转载 作者:行者123 更新时间:2023-12-04 19:31:22 27 4
gpt4 key购买 nike

我是 NGINX 的新手,我正在尝试设置最小的工作。所以我尝试用 nginx 和主管运行 https(通过这个例子)。但我无法正确配置 Nginx 并收到以下错误:

Error Code: nginx: [emerg] "location" directive is not allowed here in /etc/nginx/nginx.conf:16 nginx: configuration file /etc/nginx/nginx.conf test failed . 



GNU nano 2.0.9 File: /etc/nginx/nginx.conf

#user nginx;
worker_processes 1;

#error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;

#pid /var/run/nginx.pid;

include /etc/nginx/modules.conf.d/*.conf;

events {
worker_connections 1024;
}
location ~^/wp-json/ {
rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last;
}
http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log /var/log/nginx/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;
#tcp_nodelay on;

#gzip on;

#gzip_disable "MSIE [1-6]\.(?!.*SV1)";

server_tokens off;

include /etc/nginx/conf.d/*.conf;
}

# override global parameters e.g. worker_rlimit_nofile
include /etc/nginx/*global_params;

它看起来是正确的。 server 指令应该在 http 中。 http 是父指令。我做错了什么?

最佳答案

不太清楚“服务器指令在 http 中”是什么意思 - 我假设您指的是 /etc/nginx/conf.d/*.conf 中包含的文件中的内容。 .

无论如何,如果你想增强 server包含文件之一中的指令,您必须在那里执行此操作。如果你想定义一个新的服务器,你需要 http 中的一个 block 。 .在该 block 中,您将添加您的 location堵塞。

http {
#...
server {
#...
location ~^/wp-json/ {
#...
rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last;
#...
}
#...
}
#...
}

如果您刚刚开始,也许这是一个很好的资源: http://nginx.org/en/docs/beginners_guide.html ?

关于nginx: [emerg] "location"指令在/etc/nginx/nginx.conf:16 中是不允许的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58348449/

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