nginx.conf配置文件详解

183 阅读3分钟

nginx.conf配置文件详解

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情

再看server块

实际上server块

image-20221002224958613.png

这是nginx中的默认的一个配置,正式因为有了这个配置,我们刚刚安装nginx访问服务器会出现welcome to nginx的页面。

其实,我们新增的server块的意义和这个相同

我们来看其中的指令意义

  1. listen 设定要监听的端口,访问这个端口就会访问这个块中配置的相关资源

  2. server_name给这个服务命名,最好就是用这个服务器的域名命名

  3. location指令块,配置外部访问资源实际资源的对应关系

    1. location后面的/:表示配置外部访问网站路径/时候的配置,表示要处理什么路径的请求
    2. root表示静态资源所在的目录
    3. index表示访问这个路径对应的默认静态资源文件或者网页文件,表示要处理什么路径的请求

并且index 后面可以跟多个静态资源

静态资源寻找规则

location后面的/ 比如说/api就是需要跟 root文件夹里面的路径进行一定的拼接

比如说,你把index.html放在/root/test/api,那么root 后面写/root/test ,location后面就写/api即可。

如果说你在test文件夹里面放一个a.png,

那么访问http://你的服务器地址:8848/a.png就可以访问到图片

可见,对于没有在index后面指定的资源,仍然可以用访问该路径下面的文件名的方式访问到对应资源。

root和alias

# 使用root的话,这里访问/web路径则会去/root/test/web目录下寻找index.html
location /web {
    root /root/test;
    index index.html;
}
​
# 使用alias的话,这里访问/web路径则会去/root/test目录下寻找index.html
location /web {
    alias /root/test;
    index index.html;
}

所以,我们如果后面非要加上/web,并且还不需要按照nginx的路径规则去匹配的话,就可以用alias

异常处理

如果访问一个没有配置或者不存在的路径的时候,就会提示找不到页面,也就是404页面,默认的404页面是这个

image-20221003113246442.png

可见这个页面不适合应用到生产环境中进行使用。因此需要自定义一个页面。

我们先把404页面放在/root/test文件夹下面,然后在server块中配置

# 配置404页面文件 404可以写多个 后面那个是名字
error_page 404 /404.html
# 配置404页面文件所在位置
location = /404.html{
    root /root/test
}

其它错误如502 503也可以这么配置

Nginx默认配置中也已经配置了 500 502 503 504 页面的对应错误页面

image-20221003114956322.png

这里为了演示方便起见,所有的网页资源都放在了/root/test下,实际情况下推荐是把网页放在Nginx安装目录下的html目录下并配置相对路径。

\