我们什么时候需要在nginx配置文件中使用http块?

 x08308926 发布于 2023-02-09 19:01

我正在阅读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来提供静态文件呢?

1 个回答
  • 你做得很好.我猜您正在编辑/ 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] 
    

    它不会获取以代字号结尾的备份文件.因人而异.

    2023-02-09 19:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有