我正在阅读nginx初学者的教程,在他们有的服务静态内容部分
http { server { } }
但是当我添加一个http块时,我得到了错误
[emerg]这里不允许"http"指令......
当我删除http块并将conf文件更改为此文件时,它可以正常工作:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/example.com/html; index index.html index.htm; # make site accessible from http://localhost/ server_name localhost location / { try_files $uri $uri/ /index.html; }
我怀疑我错过了一些简单的东西,但为什么他们使用http来提供静态文件呢?
你做得很好.我猜您正在编辑/ etc/nginx/sites-enabled/default(或/ etc/nginx/sites-available/default中的链接文件).
这是标准的nginx设置.它配置了/etc/nginx/nginx.conf,其中包含http {}语句.这反过来包含一个"include/etc/nginx/sites-enabled/*"行,包含上面的文件,其中包含server {}子句.
请注意,如果您使用的是创建备份文件的编辑器,则必须修改include语句以排除备份文件,否则您将收到一些"有趣"的错误!我的路线是
include /etc/nginx/sites-enabled/*[a-zA-Z]
它不会获取以代字号结尾的备份文件.因人而异.