Nginx是一款优秀的静态服务器,在做Javaweb开发时,经常将它用来存放静态资源,一般是图片资源,所以又将Nginx称为图片服务器,然后将图片地址存入关系型数据库(一般为Mysql)中。关于Nginx作为静态服务器的配置,且看下面。
配置Nginx——修改nginx安装目录/conf/nginx.conf(这里是/usr/local/nginx/conf/nginx.conf文件),如下:
server {
listen 81; # 监听的端口
server_name localhost; # 域名或ip
location / { # 访问路径配置
root /usr/local/nginx/index;# 根目录
index index.html index.htm; # 默认首页
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root /usr/local/nginx/html;
}
}
现在我们来对这段代码解释,实际上,对于Nginx做服务器,和其他服务器一样,只要搞清“ ip:port 页面 后台目录 ”三个东西就好了:
指定ip:port是 localhost:81,我们直接在linux计算机的浏览器上输入localhost:81,显示的是index.html/index.htm界面,对应后台目录是nginx安装目录/index目录(如usr/local/nginx/index);
我们直接在linux计算机的浏览器上输入localhost:81/50x.html,对应后台目录是nginx安装目录/html目录(如usr/local/nginx/html)。
关于匹配关系,上面的配置中 / 表示可以匹配所有,/50x.html 表示可以匹配50x.html,优先级关系是优先匹配长的,
如localhost:81/50x.html 同时满足 / 和 /50x.html,由于优先匹配长的,所以要导向到 html 目录。
如localhost:81/xxx.html 仅满足于 / ,所以导向到index目录。
关于页面优先关系, index index.html index.htm;优先关系是从左到右,有index.html就显示index.html,没有就显示index.htm。
三、Nginx三大功能——虚拟主机
3.1 虚拟主机
什么是虚拟主机?
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响的(看不懂,没关系,一点一点往下面看)。
通过nginx可以实现虚拟主机的配置,nginx支持三种类型的虚拟主机配置,分别是:1、基于ip的虚拟主机, 2、基于端口的虚拟主机,3、基于域名的虚拟主机
3.2 Nginx配置文件的结构
......
events {
.......
}
http{
.......
server{
.......
}
server{
.......
}
}
上述代码中,每个server就是一个虚拟主机。 实际上,就是同一机器,用不同的目录虚拟成不同的访问入口。其中,因ip不同形成的不同的访问入口称为“基于ip的虚拟主机”,因端口不同形成的不同的访问入口称为“基于端口的虚拟主机”,因域名不同形成的不同的访问入口称为“基于域名的虚拟主机”。