nginx:1.20默认配置文件default.conf

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

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

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

跨域后

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;
    location / {
        # 多了这四行跨域配置
        add_header 'Access-Control-Allow-Origin' *;
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' *;
        add_header 'Access-Control-Allow-Headers' *;

        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

<think>嗯,用户问的是“配置文件添加还是修改”,我需要先理解他们的具体需求是什么。可能他们在配置Nginx时遇到了问题,不确定应该直接修改现有配置文件还是添加新的配置文件。这涉及到Nginx配置的最佳实践。 首先,我应该回顾之前的对话,用户之前询问的是如何单独安装Nginx并配置反向代理。现在他们可能已经按照步骤操作了,但在配置过程中遇到了疑问,不确定如何正确调整配置。 接下来,我需要考虑Nginx配置的结构。通常,主配置文件nginx.conf,而最佳实践是在conf.d目录下添加自定义的配置文件,而不是直接修改默认default.conf或者主配置。这样有助于维护,避免因为更新或升级导致配置被覆盖。 用户可能担心直接修改现有配置会导致问题,比如默认配置可能有他们不需要的内容,或者个配置之间产生冲突。所以需要解释添加新配置的好处,比如模块化、易于管理、避免冲突等。 另外,用户可能对如何正确添加新配置文件有疑问,比如文件命名规则、如何确保Nginx正确加载新配置。需要给出具体的步骤,比如创建.conf文件,检查语法,重启服务等。 还需要注意用户可能对某些术语不熟悉,比如upstream、server块,需要尽量用简单的中文解释,避免技术术语过导致理解困难。 同时,用户可能关心修改和添加的风险,比如修改现有配置如果出错如何恢复,添加新配置是否会影响现有服务。需要强调备份的重要性,并提供示例说明如何安全地进行操作。 最后,需要总结在什么情况下应该选择添加还是修改,帮助用户根据具体情况做出决策。例如,默认配置可能需要保留,而自定义需求更适合新建文件。 可能还需要预见到用户后续的问题,比如如何测试配置是否正确,如何排查配置错误,或者如何管理配置文件,但当前问题主要集中在添加与修改的选择上,所以需要紧扣主题,不要偏离。</think>以下是关于 Nginx **配置文件是添加还是修改**的详细解答,分步骤说明两者的区别和适用场景: --- ### **1. 何时需要“修改”配置文件?** #### **适用场景**: - **默认配置调整**:修改 Nginx 自带的默认配置(如默认监听端口、根目录、日志路径等)。 - **全局配置变更**:调整 `http`、`server` 块中的全局参数(如 `gzip` 压缩、连接超时时间、负载均衡策略等)。 - **修复错误**:当现有配置存在语法错误或功能异常时,直接修改原文件。 #### **操作示例**: 修改默认的站点配置文件(如 `/etc/nginx/conf.d/default.conf`): ```nginx server { listen 80; server_name localhost; # 修改根目录路径 root /usr/share/nginx/new_html; ... } ``` #### **注意事项**: - **备份原文件**:修改前先备份,避免误操作导致服务不可用: ```bash sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak ``` - **语法检查**:修改后执行 `nginx -t` 验证语法: ```bash sudo nginx -t # 输出 "syntax is ok" 表示无错误 ``` --- ### **2. 何时需要“添加”新配置文件?** #### **适用场景**: - **站点托管**:为不同域名或子域名创建独立配置文件(如 `example.com.conf`、`blog.conf`)。 - **模块化配置**:将反向代理、负载均衡、SSL 证书等不同功能拆分成独立文件。 - **避免冲突**:不破坏默认配置,方便后续维护或回滚。 #### **操作示例**: 在 `/etc/nginx/conf.d/` 目录下新建文件(如 `reverse_proxy.conf`): ```nginx # 反向代理配置 server { listen 80; server_name proxy.example.com; location / { proxy_pass http://backend_servers; } } # 负载均衡配置 upstream backend_servers { server 192.168.1.20:8080; server 192.168.1.21:8080; } ``` #### **注意事项**: - **命名规范**:文件名以 `.conf` 结尾,避免与默认配置冲突(如不要覆盖 `default.conf`)。 - **权限设置**:确保文件权限为 `644`(用户可读,Nginx 进程有权访问): ```bash sudo chmod 644 /etc/nginx/conf.d/reverse_proxy.conf ``` --- ### **3. 核心原则总结** | **操作类型** | **推荐场景** | **优点** | **风险** | |--------------|----------------------------|------------------------------|------------------------------| | **修改** | 调整全局参数或修复已有配置 | 直接生效,无需管理个文件 | 可能因误操作导致服务中断 | | **添加** | 新增功能或托管站点 | 模块化、易维护、便于版本控制 | 需确保新文件被正确加载 | --- ### **4. 验证与生效** 无论添加还是修改,最后均需执行: 1. **检查语法**: ```bash sudo nginx -t ``` 2. **重载配置**(不中断服务): ```bash sudo nginx -s reload ``` --- ### **常见问题解答** #### **Q1:如何确认新配置文件已被加载?** - 查看 Nginx配置文件(`nginx.conf`),确认包含 `include /etc/nginx/conf.d/*.conf;` 指令。 - 执行 `nginx -T` 查看完整配置,确认新文件内容被合并。 #### **Q2:添加配置文件后出现冲突怎么办?** - 检查不同文件中是否存在重复的 `server_name` 或 `listen` 端口。 - 使用 `nginx -T | grep "server_name"` 快速定位冲突域名。 --- 通过合理选择“修改”或“添加”,可以高效管理 Nginx 配置,降低维护成本!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值