nginx虚拟主机和nginx location规则、匹配测试实战

  • Nginx 安装配置
  • Nginx 虚拟主机实战
  • Nginx Location深入剖析
  • Location 测试过程
  • Nginx Location规则案例演示


Nginx 安装配置

1.下载软件并解压进入源码目录

[root@localhost ~]# wget -c http://nginx.org/download/nginx-1.14.0.tar.gz
 –2019-05-06 20:36:32-- http://nginx.org/download/nginx-1.14.0.tar.gz
 Resolving nginx.org (nginx.org)… 62.210.92.35, 2001:1af8:4060:a004:21::e3
 Connecting to nginx.org (nginx.org)|62.210.92.35|:80… connected.
 HTTP request sent, awaiting response… 200 OK
 Length: 1016272 (992K) [application/octet-stream]
 Saving to: ‘nginx-1.14.0.tar.gz’
 100%[========================================>] 1,016,272 26.8KB/s in 42s
 2019-05-06 20:37:14 (23.7 KB/s) - ‘nginx-1.14.0.tar.gz’ saved [1016272/1016272]
 anaconda-ks.cfg nginx-1.14.0.tar.gz py3
 [root@localhost ~]# tar xzf nginx-1.14.0.tar.gz
 [root@localhost ~]# ls
 anaconda-ks.cfg nginx-1.14.0 nginx-1.14.0.tar.gz py3
 [root@localhost ~]# cd nginx-1.14.0/
 [root@localhost nginx-1.14.0]# pwd
 /root/nginx-1.14.0
 [root@localhost nginx-1.14.0]# ls
 auto CHANGES.ru configure html man src
 CHANGES conf contrib LICENSE README


2.预编译&&编译&&安装

./configure --prefix=/usr/local/nginx && make && make install


3.进入安装主目录

[root@localhost nginx]# ll
 total 0
 drwxr-xr-x 2 root root 333 May 6 20:48 conf #配置文件目录
 drwxr-xr-x 2 root root 40 May 6 20:48 html #网页文件目录
 drwxr-xr-x 2 root root 6 May 6 20:48 logs #日志目录
 drwxr-xr-x 2 root root 19 May 6 20:48 sbin #nginx启动脚本目录

nginx管理命令
主要是通过nginx 二进制执行文件来配置和管理

#检查对nginx.conf文件的修改是否正确
 nginx -t -c /etc/nginx/nginx.conf 或者 nginx -t
 #更新配置文件
 nginx -s reload
 #停止nginx的命令
 nginx -s stop或者pkill nginx
 #查看nginx的版本信息
 nginx -v
 #查看完整的nginx
 nginx -V

Nginx 虚拟主机实战

单台Nginx WEB服务器同时会配置N个网站,也可称之为配置N个虚拟域名的主机,即多个域名对应同一个80端口。 每个虚拟主机可以是一个独立网站、可以具有独立域名,同一台物理机上面的虚拟主机相互之间是独立。
虚拟主机的类型
基于IP的虚拟主机
可以在一块物理网卡上绑定多个IP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。设置IP别名也非常容易,只须配置系统上的网络接口,让它监听额外的IP地址。
基于端口的虚拟主机
基于端口的虚拟主机配置,使用端口来区分,浏览器使用域名或ip地址:端口号访问。
基于域名的虚拟主机
基于域名的虚拟主机是最常见的一种虚拟主机。只需配置你的DNS服务器,将每个主机名映射到正确的IP地址,然后配置Nginx服务器,令其识别不同的主机名就可以了。这种虚拟主机技术,使很多虚拟主机可以共享同一个IP地址,有效解决了IP地址不足的问题。所以,如果没有特殊要求使你必须用一个基于IP的虚拟主机,最好还是使用基于域名的虚拟主机。

nginx.conf 配置文件默认配置块

nginx匹配url最长 nginx url匹配_nginx匹配url最长


1.配置nginx的主配置文件

nginx 虚拟主机配置文件

nginx匹配url最长 nginx url匹配_虚拟主机_02

nginx匹配url最长 nginx url匹配_nginx_03


2.配置jf1 和 jf2 网站的访问目录

nginx匹配url最长 nginx url匹配_虚拟主机_04


3.Linux环境测试访问虚拟主机默认测试需要使用域名,外网域名需要找服务商去购买,企业内部采购,内网域名可以直接做主机文件映射,帮助使用访问域名将请求转发IP地址。Linux中主机文件:/etc/hosts

nginx匹配url最长 nginx url匹配_nginx_05


Windows中主机文件:C:\Windows\System32\drivers\etc\hosts

nginx匹配url最长 nginx url匹配_nginx_06

nginx匹配url最长 nginx url匹配_虚拟主机_07

nginx匹配url最长 nginx url匹配_nginx_08

Nginx Location深入剖析

location是Nginx配置中的一个指令,用于访问的URL匹配,而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。

默认Nginx.conf配置文件中至少存在一个location /,即表示客户端浏览器请求的URL为:域名+/,如果location/newindex/,则表示客户端浏览器请求的URL为:域名+/newindex/。

nginx配置文件增加:

nginx匹配url最长 nginx url匹配_nginx匹配url最长_09

Location 测试过程

nginx匹配url最长 nginx url匹配_nginx_10


nginx匹配url最长 nginx url匹配_nginx_11

Nginx Location规则案例演示

nginx匹配url最长 nginx url匹配_Nginx_12

nginx匹配url最长 nginx url匹配_虚拟主机_13