嘟嘟社区

[疑问] 我实在太难了,我找不到配置文件第一行哪里出错了


我实在太难了,我找不到配置文件第一行哪里出错了
[email protected]:~# nginx -t
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/nginx.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed
原帖 https://blog.csdn.net/lpwmm/article/details/116943643
  1. server {
  2.     listen 80;
  3.     server_name localhost;
  4.         # 设置使用utf-8编码,防止中文文件名乱码
  5.     charset utf-8;
  6.         # 默认存放文件的路径
  7.         root /home/dav;
  8.     auth_basic              realm_name;
  9.     # 用户密码文件存放位置
  10.     auth_basic_user_file    /etc/nginx/.passwords.list;
  11.     # dav 允许的操作
  12.     dav_methods     PUT DELETE MKCOL COPY MOVE;
  13.     dav_ext_methods PROPFIND OPTIONS;
  14.    
  15.     # 创建文件的默认权限
  16.     dav_access      user:rw group:rw all:r;
  17.     # 临时文件位置
  18.     client_body_temp_path   /tmp;
  19.    
  20.     # 最大上传文件限制, 0表示无限制
  21.     client_max_body_size    0;
  22.    
  23.     # 允许自动创建文件夹(如果有需要的话)
  24.     create_full_put_path    on;
  25. }

复制代码

检查include的配置文件吧
配置内容放错地方了吧?猜的。
只有 http { } 或者 stream {} 里面才能有server
给你举个最简单的例子
  1. worker_processes  1;
  2. events {
  3.     worker_connections  1024;
  4. }
  5. http {
  6.     include       mime.types;
  7.     default_type  application/octet-stream;
  8.     sendfile        on;
  9.     server {
  10.         listen [::]:80 default_server ipv6only=off;
  11.         server_name  xxx;
  12.         location / {
  13.             root   html;
  14.             index  index.html index.htm;
  15.         }
  16.     }
  17. }

复制代码

人家为了省事只写了server那一段。
楼上都是正解
我直接caddy