Nginx功能介绍
自定义错误页面
server {
listen 80;
server_name www.stangj.org;
error_page 502 503 504 404 /error.html;
location /error.html {
root html;
}
}
検测文件是否存在:
# try_files
#以下配置是当访问一个不存在的页面会跳转到首页面
server {
listen 80;
server_name www.stangj.org;
location / {
#alias /data/html;
root /data/html/;
index index.html index.htm;
try_files $uri /index.html;
}
}
长连接配置:
keepalive_timeout 65;
keepalive_requests 100;
网站服务实现数据共享功能
'作为下载服务器'
# autoindex on; --在没有首页文件存在时,将站点目录下数据信息全部展现在页面上
# autoindex_exact_size on; -- 计算文件确切大小(单位 bytes) , off 只显示大概大小(单位 kb 、 mb 、 gb)
# autoindex_localtime on -- #显示本机时间而非 GMT (格林威治)时间 root /data/nginx/html/pc;
server {
listen 80;
server_name www.stangj.org;
location / {
#alias /data/html;
root /data/html/bbs;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8; #设置字符集
limit_rate 100k #限制下载速度
}
}
'作为上传服务器'
# client_max_body_size 1m #设置允许客户端上传单个文件的最大值,默认值为 1m
# client_body_buffer_size size #用于接收每个客户端请求报文的 body 部分的缓冲区大小;默认 16k; 超出此大小时,其将被暂存到磁盘上的由下面client_body_temp_path 指令所定义的位置
网站服务安全访问控制功能
`实现网站页面访问控制功能`
[ root@web01 ~]# cat /etc/nginx/conf.d/data.conf
server {
listen 80;
server_name data.oldboy. com;
error_log /var/log/nginx/error_data.log warn;
access_log /var/log/nginx/access_data.log main;
location / {
root/html/data;
autoindex on;
charset utf-8;
}
location /经典AV视频/ {
root/html/ data;
autoindex on;
charset utf-8;
allow 10.0.0.1; --允许指定主机地址或网段进行访问
allow 10.0.0.2;
deny all; --阻止指定主机地址或网段进行访问'这里的allow和deny就相当于白名单和黑名单'
}
}
网站服务认证功能
`第一个历程:下载生成密码服务`
[root@server01 ~]# yum -y install httpd-tools
'使用方法'
`免交互创建用户和密码`
[root@server01 nginx]# htpasswd -bc /etc/nginx/nginx_passwd.txt stangj root
`免交互增加用户和密码`
[root@server01 nginx]# htpasswd -b /etc/nginx/nginx_passwd.txt stangj1 root1
`免交互删除用户和密码`
[root@server01 nginx]# htpasswd -D /etc/nginx/nginx_passwd.txt stangj1 root1
`第二个历程:修改配置文件`
[root@server01 conf.d]# vim stangj.conf
server {
listen 80;
server_name www.stangj.com;
error_log /var/log/nginx/error_stangj.log notice;
access_log /var/log/nginx/access_stangj.log main;
location / {
root /html/data;
autoindex on;
charset utf-8;
}
location /文档资源/ {
root /html/data;
autoindex on;
charset utf-8;
auth_basic "closed site"; #---开启nginx服务认证的头信息
auth_basic_user_file /etc/nginx/nginx_passwd.txt; #---认证功能的用户密码地址
}
}
[root@server01 conf.d]# systemctl restart nginx
Nginx 压缩功能
Nginx 对文件的压缩功能是依赖于模块 ngx_http_gzip_module
gzip on | off; #启用或禁用 gzip 压缩,默认关闭
gzip_comp_level level; #压缩比由低到高从丄到 9, 默认为 1
gzip_disable "MSIE [1-6]\."; #禁用 TE6 gzip 功能
gzip_min_length 1k; #gzip 压缩的最小文件,小于设置值的文件将不会压缩
gzip_http_version 1.0 | 1.1; #启用压缩功能时,协议的最小版本,默认 HTTP/1.1
gzip_buffers number size; #指定 Nginx 服务需要向服务器申请的缓存空间的个数*大小,默认 32 4k|16 8k;
gzip_types mime-type ... #指明仅对哪些类型的资源执行压缩操作;默认为 gzip_types text/html, 不用显示指定,否则出错;一般压缩这些文件text/plain application/javascript application/x-javascript text/cssapplication/xml text/javascript application/x-httpd-php image/jpeg
gzip_vary on | off; #如果启用压缩,是否在响应报文首部插入 "Vary: Accept-Encoding”
'配置案例'
gzip on
gzip_comp_level 5
gzip_min_length 1k
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg
gzip_vary on
curl --head --compressed http://www.stangj.net