1. 虚拟主机简介
利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程,虚拟主机提供了在同一台服务器,同一组 Nginx进程上运行多个网站的功能。跟Apache一样,Nginx也可以配置多种类型的虚拟主机,分别是基于IP的虚拟主机、基于域名的虚拟主机、基于端口的虚拟主机。
使用Nginx搭建虚拟主机服务器时,每个虚拟Web站点拥有独立的“serverf”配置段,各自监听的IP地址、端口号可以单独指定,当然网站名称也是不同的。
2.Nginx的安装
全局块
user:用于配置运行Nginx服务器的worker进程的用户和用户组
worker_processes:配置Nginx生成工作进程的数量, 理论上来说,worker process的值越大,处理的并发量越高。但建议该值与系统cpu的个数保持一致。配置使用这个时,master_process应该设为off(数量也可设置为内核数)
include:用来引入其他配置文件,使nginxde 配置更加灵活,可以在nginx.conf文件中任何位置进行配置
events块
worker connections:用来配置单个worker进程最大的连接数
http块
gzip on:开启网页压缩
keepalive_timeout:跟时间表示,一段时间内保持打开状态
Nginx优化配置
1:隐藏版本号
2:修改用户与组
3:缓存时间
当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度,一般针对静态网页设置,对动态网页不设置缓存时间
4:更改进程数
location和rewrite
从功能看 rewrite 和 location 似乎有点像,都能实现跳转,主要区别在于 rewrite 是在同一域名内更改获取资源的路径,而 location 是对一类路径做控制访问或反向代理,还可以proxy_pass 到其他机器
rewrite 对访问的域名或者域名内的URL路径地址重写
location 对访问的路径做访问控制或者代理转发
常用的Nginx 正则表达式:
location 大致可以分为三类:
精准匹配:location = / {…}
一般匹配:location / {…}
正则匹配:location ~ / {…}
匹配规则
首先看 优先级:精确= > 前缀^~ > 正则~,~* > 一般 > 通用/ 优先级相同:正则看上下顺序,上面的优先;一般匹配看长度,最长匹配的优先 精确、前缀、正则、一般 都没有匹配到,最后再看通用匹配