Nginx扩展应用
一、网站web服务扩展应用
1、nginx服务监控状态页部署
vim conf.d/state.conf
server {
listen 80;
server_name state.oldboy.com;
location / {
stub_status;
}
}
2、部署完成后打开浏览器显示内容及分析
Active connections: 2
(激活连接数,并发数)
server accepts handled requests
6 6 79
(server accepts:客户端访问服务端接收的总链接数量,handled:客户端访问服务端处理的总链接数量, requests:接收请求报文总数量)
Reading: 0 Writing: 1 Waiting: 1
(Reading:读取请求头的数量,Writing:响应请求头的数量, Waiting:内存中未处理的请求数量)
二、网站页面跳转
1、什么是页面跳转
1、将url信息改变。
2、将uri信息改变。
3、完成伪静态配置。
2、如何实现页面跳转
1、rewrite实现跳转。
Syntax: rewrite regex replacement [flag];
匹配跳转信息
Default: —
Context: server, location, if
last
stops processing the current set of ngx_http_rewrite_module directives and starts a search for a new location matching the changed URI;
break
stops processing the current set of ngx_http_rewrite_module directives as with the break directive;
redirect
returns a temporary redirect with the 302 code; used if a replacement string does not start with “http://”, “https://”, or “$scheme”;
permanent
returns a permanent redirect with the 301 code.
2、return实现跳转
配置简单方便,直接跳转。
Syntax: return code [text];
return code URL;
return URL;
Default: —
Context: server, location, if
3、页面实践操作
跳转配置中last与break区别对比示例
server {
listen 80;
server_name rewrite.oldboy.com;
root /html;
location ~ ^/break/ {
rewrite ^/break/ /test/ break;
}
location ~ ^/last/ {
rewrite ^/last/ /test/ last;
}
location /test/ {
default_type application/json;
return 200 'ok';
}
}
break:一旦跳转完毕,就会停止后续操作过程
last: 一旦跳转完毕,会继续访问页面配置信息
三、网站日志信息
1、访问日志access.log
/var/log/nginx
nginx访问日志格式定义
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
$remote_addr:用户访问源地址信息
$remote_user:用户访问网站认证信息
[$time_local] :访问网站时间信息
$request:http请求行信息
$status:显示状态码
$body_bytes_sent :响应报文主体大小
$http_referer:
$http_user_agent:用户使用的浏览器
$http_x_forwarded_for:
2、错误日志error.log
/var/log/nginx
nginx错误日志格式定义
error_log /var/log/nginx/error.log warn;
小提示:有的时候网站没有自己的log也会产生错误日志,解决方法,将自己的log文件命名为favicon.ico并上传到/html/favicon.ico此目录。
3、日志操作
ll -rt #检查最新的日志文件
四、网站服务location配置
location:局部配置
server:全局配置
= :精确匹配,最优先,访问目录 bd.com/images
~ :模糊匹配,区分大小写,访问目录bd.com/images/a.jpg
~* :模糊匹配,不区分大小写
^~ :优先匹配,
/目录:路径匹配
/ :默认匹配
location = / {
return 301;
}
location = /documents {
return 302;
}
location = /images {
return 303;
}