nginx高级应用
- 虚拟目录
- 监控模块
- 配置文件
- 创建用户名密码
- 客户端访问
- 限制传输速度(服务层)
- nginx虚拟主机
- 基于ip
- 基于域名
- 基于端口
nginx配置文件中的每个语句要以 ; 结尾
虚拟目录
配置文件中的server块中编辑:
location /test {
alias /usr/share/nginx/html; //映射的是/usr/share/nginx/html
index index.html;
}
location /test {
root /usr/share/nginx/html; //映射的是/usr/share/nginx/html/test
index index.html;
}
监控模块
配置文件
配置文件中的server块中编辑,监控模块,再给监控模块上锁:
location /nginx-status {
stub_status on;
access_log /var/log/nginx/nginxstatus.log; //设置日志文件的位置
auth_basic "nginx-status"; //指定认证机制(与location后面的内容相同即可)
auth_basic_user_file /etc/nginx/htpasswd; //指定认证的密码文件
}
创建用户名密码
yum install -y httpd-tools //htpasswd是开源http服务器apache、httpd的一个命令工具,用于生成http基本认证的密码文件
htpasswd -c -m /etc/nginx/htpasswd 用户名 // -c 创建解密文件,-m MD5加密
htpasswd -m /etc/nginx/htpasswd 用户名
客户端访问
http://ip/nginx-status //访问监控模块网址
Active connections: 2
server accepts handled requests
27 27 40
Reading: 0 Writing: 1 Waiting: 1
=========================================================
Active connections //活跃的连接数量
server accepts handled requests //服务器接受处理请求
27 //总连接数connection(Tcp),tcp三次握手四次挥手
27 //成功的连接数connection(Tcp)
失败的连接数=总连接数-成功连接数
40 //总共处理的请求数requests(Http)
Reading: 0 //读取客户端Header的信息数 请求头
Writing: 1 //返回给客户端的header的信息数量 响应头
Waiting: 1 //等待的请求数 开启了keepalive
限制传输速度(服务层)
配置文件中的server块中编辑:
location / {
root /usr/share/nginx/html;
index index.html index.htm;
limit_rate 2k; //对每个连接的限速为2k/s
}
nginx虚拟主机
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响。
基于ip
ip address add 临时添加的ip/子网掩码 dev 网卡名
ip a a 临时添加的ip/网关 dev 网卡名
配置文件中更改
server {
listen ip:80; //监听内容
server_name www.aaa.com; //域名解析
location / {
root /usr/share/nginx/html/aaa; //网站发布目录
index index.html index.htm;
}
}
server {
listen ip:80; //监听内容
server_name www.bbb.com; //域名解析
location / {
root /usr/share/nginx/html/bbb; //网站发布目录
index index.html index.htm;
}
}
重启服务之后浏览访问
基于域名
配置文件中更改
server {
listen 80; //监听内容
server_name www.aaa.com; //域名解析
location / {
root /usr/share/nginx/html/aaa; //网站发布目录
index index.html index.htm;
}
}
server {
listen 80; //监听内容
server_name www.bbb.com; //域名解析
location / {
root /usr/share/nginx/html/bbb; //网站发布目录
index index.html index.htm;
}
}
重启服务之后配置本地hosts文件,浏览器访问
基于端口
配置文件中更改
server {
listen 80; //监听地址
server_name www.aaa.com; //域名解析
location / {
root /usr/share/nginx/html/aaa; //网站发布目录
index index.html index.htm;
}
}
server {
listen 90; //监听地址
server_name www.bbb.com; //域名解析
location / {
root /usr/share/nginx/html/bbb; //网站发布目录
index index.html index.htm;
}
}
重启服务之后浏览访问