nginx.conf配置文件详解
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情
再看server块
实际上server块
这是nginx中的默认的一个配置,正式因为有了这个配置,我们刚刚安装nginx访问服务器会出现welcome to nginx的页面。
其实,我们新增的server块的意义和这个相同
我们来看其中的指令意义
-
listen 设定要监听的端口,访问这个端口就会访问这个块中配置的相关资源
-
server_name给这个服务命名,最好就是用这个服务器的域名命名
-
location指令块,配置外部访问资源和实际资源的对应关系
- location后面的/:表示配置外部访问网站路径/时候的配置,表示要处理什么路径的请求
- root表示静态资源所在的目录
- 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页面是这个
可见这个页面不适合应用到生产环境中进行使用。因此需要自定义一个页面。
我们先把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 页面的对应错误页面
这里为了演示方便起见,所有的网页资源都放在了
/root/test
下,实际情况下推荐是把网页放在Nginx安装目录下的html
目录下并配置相对路径。
\