Nginx使用教程-配置文件conf

本教程介绍了如何使用Nginx部署静态资源,通过修改hosts文件配置域名,以及设置location进行路径映射。同时,讲解了Nginx的反向代理功能,通过upstream实现负载均衡,可以根据服务器权重分配请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx使用教程

1 概述

nginx是俄罗斯人开发的一个开源的,支持高性能、高并发的 Web 服务和代理服务软件。
官网地址:https://nginx.org/

2 用法

2.1 部署静态资源(location)

Nginx作为高性能web容器可以用于部署静态资源

例如:此处我们使用域名的方式来感受最大程度模拟生产真实场景(并未购买真实域名,只是测试。域名在满足命名规范的前提下,随意命名即可)

  1. 修改本地hosts文件

web请求网页过程:先找本地hosts缓存,然后请求DNS服务器

windows:C:\Windows\System32\drivers\etc\hosts
linux:在/etc目录下

添加如下配置:

# 以下的含义是如果请求下面的域名则访问127.0.0.1
127.0.0.1 www.xuecheng-plus.com file.xuecheng-plus.com ucenter.xuecheng-plus.com teacher.xuecheng-plus.com
  1. 下载nginx
  2. 修改conf配置文件
server {
        listen       80;
        server_name  www.xuecheng-plus.com localhost;
        #rewrite ^(.*) https://$server_name$1 permanent;
        #charset koi8-r;
        ssi on;
        ssi_silent_errors on;
        #access_log  logs/host.access.log  main;

        location / {
            alias   D:/itcast2022/xc_edu3.0/code_1/xc-ui-pc-static-portal/;
            index  index.html index.htm;
        }
        #静态资源
        location /static/img/ {  
                alias  D:/itcast2022/xc_edu3.0/code_1/xc-ui-pc-static-portal/img/;
        } 
        location /static/css/ {  
                alias   D:/itcast2022/xc_edu3.0/code_1/xc-ui-pc-static-portal/css/;
        } 
        location /static/js/ {  
                alias   D:/itcast2022/xc_edu3.0/code_1/xc-ui-pc-static-portal/js/;
        } 
        location /static/plugins/ {  
                alias   D:/itcast2022/xc_edu3.0/code_1/xc-ui-pc-static-portal/plugins/;
                add_header Access-Control-Allow-Origin http://ucenter.xuecheng-plus.com;  
                add_header Access-Control-Allow-Credentials true;  
                add_header Access-Control-Allow-Methods GET;
        } 
        location /plugins/ {  
                alias   D:/itcast2022/xc_edu3.0/code_1/xc-ui-pc-static-portal/plugins/;
        } 



        #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   html;
        }
    }
  • server_name www.xuecheng-plus.com localhost;指的是如果请求www.xuecheng-plus.com 域名则访问localhost。

location /static/img/ {
alias D:/itcast2022/xc_edu3.0/code_1/xc-ui-pc-static-portal/img/;
}
指的是如果满足路径匹配/static/img/的话,则请求:/itcast2022/xc_edu3.0/code_1/xc-ui-pc-static-portal/img/下的文件

2.2 反向代理(server)

为了实现负载均衡,有时我们不会直接让浏览器去请求服务器,而是让中间商nginx去请求

例如,我们配置nginx代理访问文件服务器

#文件服务 upstream释义:上游
upstream fileserver{
 server 192.168.101.65:9000 weight=10;
} 
server {
     listen       80;
     server_name  file.xuecheng-plus.com;
     #charset koi8-r;
     ssi on;
     ssi_silent_errors on;
     #access_log  logs/host.access.log  main;
     location /video {
         proxy_pass   http://fileserver;
     }

     location /mediafiles {
         proxy_pass   http://fileserver;
     }
}

修改配置文件之后,记得重新加载nginx

nginx.exe -s reload

通过http://file.xuecheng-plus.com/video/视频文件地址 访问视频
通过http://file.xuecheng-plus.com/mediafiles/图片文件地址 访问图片

2.3 负载均衡(upstream weight)

假如我们的文件服务部署了多台,我们需要根据不同的服务器性能来修改服务器的处理请求占比

修改conf配置文件:

  upstream fileserver{
    server 192.168.101.65:9000 weight=10;
    server 192.168.101.66:9000 weight=20;
    server 192.168.101.67:9000 weight=20;
  } 
# 重新加载配置文件
nginx.exe -s reload 
<think>好的,用户让我解释一下他执行的nginx命令以及输出的结果。首先,我需要确认用户的具体操作和命令的结构。 用户执行的命令是:C:\nginx\nginx-1.25.1>nginx -t -c C:\nginx\nginx-1.25.1/conf/nginx.conf。看起来这是在Windows系统下运行nginx的测试命令。这里有几个关键点需要注意。首先,用户使用-t参数,这应该是测试配置文件的语法是否正确。然后是-c参数,指定了配置文件的具体路径。路径中的斜杠混合使用了反斜杠和正斜杠,不过在Windows中,nginx通常能处理这种路径格式,但可能需要检查是否有转义问题。 接下来,用户的输出显示配置文件的语法是ok,测试是成功的。这说明nginx配置文件没有语法错误,并且配置测试通过了。不过,用户可能想知道这个命令的具体作用,或者想确认配置文件是否正确,可能在配置过程中遇到了问题,所以先测试一下。也可能用户是刚开始学习nginx,想了解这些参数的意义。 需要详细解释每个参数的作用。-t参数用于测试配置-c用于指定配置文件的位置。用户可能没有意识到默认情况下nginx使用安装目录下的conf/nginx.conf,但这里显式指定了路径,可能用户有多个配置文件或者自定义的位置。需要指出路径的正确写法,虽然Windows通常用反斜杠,但在这里使用正斜杠也是可以的,因为nginx内部处理路径时会进行适配。 另外,成功的信息只是说明语法正确,但实际运行时还可能存在其他问题,比如文件权限、路径错误、端口占用等。用户可能需要进一步了解即使测试成功,仍可能遇到运行时的错误,这时候需要检查日志文件。 用户可能的需求是验证配置文件是否正确,避免重启或重新加载时出现服务中断。因此,在回答中需要强调这个命令的重要性,以及后续的步骤建议,比如重载配置或重启服务。同时,提醒用户即使测试成功,也要注意实际环境中的其他潜在问题。 总结来说,用户的真实需求可能是确保nginx配置正确,避免服务出现问题。需要分步骤解释命令的作用、参数的含义、输出的含义以及后续操作的建议。同时,可能需要给出一些注意事项,帮助用户进一步排查可能出现的问题。</think>你执行的命令是 **Nginx配置测试指令**,用于验证配置文件语法和路径的正确性。以下为详细解读: --- ### 一、命令结构解析 ```bash nginx -t -c C:\nginx\nginx-1.25.1/conf/nginx.conf ``` - `-t`:表示测试(test)模式,仅检查配置文件语法而不启动服务。 - `-c`:指定要测试的配置文件路径,这里指向 `C:\nginx\nginx-1.25.1/conf/nginx.conf`。 --- ### 二、输出结果解读 1. **语法验证通过** ```log nginx: the configuration file C:\nginx\nginx-1.25.1/conf/nginx.conf syntax is ok ``` - 表示配置文件中的语法规则完全正确,无拼写错误或格式问题。 - 例如:括号闭合、指令名称正确、分号结尾等。 2. **配置文件测试成功** ```log nginx: configuration file C:\nginx\nginx-1.25.1/conf/nginx.conf test is successful ``` - 表示Nginx能够成功加载该配置文件,且所有路径和权限设置有效。 - 例如:`root`目录存在、日志文件可写入、端口未被占用等。 --- ### 三、操作建议 1. **重启Nginx生效配置** ```bash nginx -s reload ``` - 如果测试通过,可使用此命令热重载配置,无需停止服务。 2. **常见问题排查** - **路径问题**:Windows路径建议统一使用反斜杠 `\`,例如 `C:\nginx\conf\nginx.conf`。 - **权限问题**:确保Nginx进程有权限访问配置文件和相关资源。 - **端口冲突**:若配置中指定了端口(如80或443),需确认未被其他程序占用。 --- ### 四、注意事项 - **测试局限性**:`nginx -t` 仅验证语法和基本路径,实际运行时可能仍会遇到环境问题(如依赖缺失)。 - **日志查看**:若启动失败,检查错误日志 `error.log` 定位具体原因。 通过此操作,你已确保配置文件符合Nginx要求,可安全部署或修改服务配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值