nignx 基本模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nignx 基本模块相关的知识,希望对你有一定的参考价值。
1.nginx 常用命令nginx -v #查看版本
nginx -V #查看编译选项
nginx -t #检查配置文件语法,加-c 可指定配置文件
nginx -s reload #重新载入配置文件,不重启
2.开启目录列表
在http{}段添加以下代码
autoindex on;? # 开启显示目录
autoindex_exact_size off;
#默认为on,显示出文件的确切大小,单位全是bytes,改为off后,显示出文件的大概大小,单位可能换算成kB或者MB或者GB,建议关闭
autoindex_localtime on;
#默认为off,显示的文件时间为GMT(世界世界)时间,改为on后,显示的文件时间为文件的服务器时间,建议开启
3.监控nginx
监控nginx 需要 "--with-http_stub_status_module" 这个模块
nginx -V &>123.txt;cat 123.txt|grep status #使用这个命令能查看 这个模块是否被装载
开启,在server 段在添加一个" location"
location /status {
stub_status; #
access_log off;
}
参数说明
active connections – 活跃的连接数量
server accepts handled requests — 总共处理了107520387个连接 , 成功创建107497834次握手, 总共处理了639121056个请求
每个连接有三种状态waiting、reading、writing
reading —读取客户端的Header信息数.这个操作只是读取头部信息,读取完后马上进入writing状态,因此时间很短。
writing — 响应数据到客户端的Header信息数.这个操作不仅读取头部,还要等待服务响应,因此时间比较长。
waiting — 开启keep-alive后等候下一次请求指令的驻留连接.
正常情况下waiting数量是比较多的,并不能说明性能差。反而如果reading+writing数量比较多说明服务并发有问题。
测试长短连接
将"keepalive_timeout" 配置成0(改为短连接) 重启,刷新status 页面
#从上图可以看见,每次请求都建立一次tcp连接
在将"keepalive_timeout"配置改为10 重启,刷新status 页面
#不断的刷新可以发现,请求数不断的增加,但是tcp连接数只有等过了10秒后再刷新才会增加
为什么要用长连接,长连接比短连接好在哪里
长连接实际上就是复用TCP连接,一个网页里一般有几十个资源,如果使用短连接,请求一个网页短连接要进行几十次的tcp 请求断开,极大的消耗了资源。
但是用长连接就不一样了,几十个请求都用同一个tcp连接,但是也不能让它永久的连接,这样会把服务器的端口端口撑满的,所以还有个超时时间,在超过这个时间没有新的请求就断开。
4.访问控制
应用范围,可在http server location 段生效
ip控制
location /status {
allow 192.168.0.0/24;
deny all;
}
#上面表示,"/status"这个资源只有192.168.0.0/24 的网段有权限访问,匹配规则和acl一样 自上到下匹配,匹配到第一条后面的不在匹配
密码控制
location /status {
auth_basic 请输入你的帐号密码;
#提示信息,有的浏览器可能不显示
auth_basic_user_file /etc/nginx/passwd;
#账号密码存放的的路径
}
#表示"/status" 访问这个url需要,输入密码
密码文件生成
yum install httpd-tools.x86_64 -y #安装http工具,生成密码文件需要这个软件
htpasswd -bc /etc/nginx/passwd cs1 123456# -c是生成密码文件,添加两个账号,添加第二个不要加-c。
#在" /etc/nginx/"这个路径生成一个"passwd"的文件,存放到一个账号cs1 密码123456
以上是关于nignx 基本模块的主要内容,如果未能解决你的问题,请参考以下文章