nginx: [emerg] "location" directive is not allowed here in /etc/nginx/nginx.conf:16
我是 NGINX 的新手,我正在尝试设置最小的工作。所以我尝试用 nginx 和主管运行 https(通过这个例子)。但我无法正确配置 Nginx 并收到以下错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 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"中是什么意思 - 我假设您指的是
中包含的文件中的内容
无论如何,如果您尝试在其中一个包含的文件中增强
1 2 3 4 5 6 7 8 9 10 11 12 13 | http { #... server { #... location ~^/wp-json/ { #... rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last; #... } #... } #... } |
如果您刚刚开始,也许这是一个很好的资源:http://nginx.org/en/docs/beginners_guide.html?