标签:lan ted mct 图形化 uri basic app 内部500错误 down
目录
准备两个客户端,做访问测试使用。
centos7 IP:192.168.39.7
centos6 IP:192.168.39.6
[root@ubuntu images1]#vim /apps/nginx/conf/conf.d/pc.conf
# nginx的访问控制是基于先后顺序来决定优先级的。
location ~* \.(gif|jpg|jpeg|bmp|png|tiff|tif|ico|wmf|js)$ {
root /data/nginx/images1;
index index.html;
deny 192.168.39.7; # 拒绝这个IP访问
allow 192.168.39.0/24; # 允许这个网段访问(结合含义允许这个网段访问但是因为deny在前已经明确过“7”IP不可以访问,所以是除了“7”IP以外的这个网段都可以访问)
allow 10.1.1.0/16; # 允许这个网段访问 (我没有设置这个网段,添加他的意义是可以添加多个网段)
allow 2001:0db8::/32; # 允许ipv6地址
deny all; # 拒绝所有IP访问(结合在一起另一层含义拒绝除这一行以上的所有IP)
}
# 检查语法
[root@ubuntu images]#/apps/nginx/sbin/nginx -t
nginx: [warn] low address bits of 10.1.1.0/16 are meaningless in /apps/nginx/conf/conf.d/pc.conf:50 # 这个错不用管,因为我没有这个网段的地址)
nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/nginx/conf/nginx.conf test is successful
# 重启服务或重新加载服务
[root@ubuntu images]#systemctl restart nginx.service
# 分别在centos6、7上做本地域名解析
[root@centos7 ~]$vim /etc/hosts
192.168.39.184 www.OpengSD.net
[root@magedu ~]$vim /etc/hosts
192.168.39.184 www.OpengSD.net
# centos7访问测试我拒绝了这个IP访问所以显示403
[root@centos7 ~]$curl http://www.opengsd.net/1.jpg
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.16.1</center>
</body>
</html>
# centos6访问测试
[root@magedu ~]$curl www.OpengSD.net/1.jpg # 因为是图片没有图形界面显示不了(但是没有报403拒绝),下面有新的测试访问。
???¥Wūk??|±¥S鴒k??-?# JCR??浞±???&??f?+?9?L?p;о7¥?`???"??PΦ?]??+??H?8錞@ j?[?.x?4?nM?·a$??}-@a3???
%U
n2???cpl?[znkW?l?@???l?f?_?u$ˉ g??°W?8?f
??ˉG?Z?2·lμp?]:a-3+????$l???<??!??§^M?ce·??¥j±R?b?Le*&?1?|S??^μz?
d?g??X?a??J°1?C-Ai咙1链?¤?5?C碔rm([^C
用于像ELK这样的日志收集服务使用,因为ELK没有账户认证功能,知道IP就可以访问所以不安全,可以配合Nginx+ELK实现账户认证访问,把ELK的web服务只监听在本机127.0.0.1外网就无法访问,之后使用nginx做反向代理监听80或其他端口,之后要访问ELK的时候通
过Nginx做验证才可以实现访问。
[root@ubuntu images]#apt install apache2-utils #ubuntu
[root@centos7 ~]$ yum install httpd-tools -y #Centos
apache htpasswd命令用法
htpasswd [-cmdpsD] passwordfile username
htpasswd -b[cmdpsD] passwordfile username password
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
apache htpasswd命令选项参数说明
-c 创建一个加密文件
-n 不更新加密文件,只将apache htpasswd命令加密后的用户名密码显示在屏幕上
-m 默认apache htpassswd命令采用MD5算法对密码进行加密
-d apache htpassswd命令采用CRYPT算法对密码进行加密
-p apache htpassswd命令不对密码进行进行加密,即明文密码
-s apache htpassswd命令采用SHA算法对密码进行加密
-b 在apache htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码
-D 删除指定的用户
在Windows, NetWare and TPF 系统中 ‘-m’选项是默认的,在使用apache htpasswd命令时可以忽略。在其他系统中,’-p’选项可能不能工作。
apache htpasswd命令用法实例
1、如何利用htpasswd命令添加用户?
htpasswd -bc .passwd 123 123
在bin目录下生成一个.passwd文件,用户名123,密码:123,默认采用MD5加密方式
2、如何在原有密码文件中增加下一个用户?
htpasswd -b .passwd abc abc
去掉c选项,即可在第一个用户之后添加第二个用户,依此类推
3、如何不更新密码文件,只显示加密后的用户名和密码?
htpasswd -nb abc abc
不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码
4、如何利用htpasswd命令删除用户名和密码?
htpasswd -D .passwd abc
5、如何利用htpasswd命令修改密码?
htpasswd -D .passwd abc
htpasswd -b .passwd abc abc
即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。
至此,apache htpasswd命令的具体介绍和使用方法就介绍完了。
ps aux|grep svnserve
cd /shiyu
vim passwd
vim authz
配置SVN密码加密:htpasswd -b ./http_passwd abc abc123
[root@ubuntu images]#htpasswd -bc /apps/nginx/conf/.htpasswd taotaobao 123456
Adding password for user taotaobao
# 查看文件是否生成
[root@ubuntu images]#cat /apps/nginx/conf/.htpasswd
taotaobao:$apr1$/k65Gf8X$xKuOS0WxQf5FY5GM/0uyT/
# 在创建一个账户但是不能在加-c因为会覆盖掉这个文件,或者你想删了之前的再创建一个可以覆盖。
[root@ubuntu images]#htpasswd -b /apps/nginx/conf/.htpasswd xiaobawang 123456
Adding password for user xiaobawang
[root@ubuntu images]#cat /apps/nginx/conf/.htpasswd
taotaobao:$apr1$/k65Gf8X$xKuOS0WxQf5FY5GM/0uyT/
xiaobawang:$apr1$k12PK6Xk$qgjhplHdZTD53FIDRx.0E0
[root@ubuntu images]#vim /apps/nginx/conf/conf.d/pc.conf
location /login {
root /data/nginx/html;
index index.html;
}
[root@ubuntu images]#mkdir /data/nginx/html/login
[root@ubuntu images]#echo "login page" > /data/nginx/html/login/index.html
[root@ubuntu images]#cat /data/nginx/html/login/index.html
login page
# 重启完测试不添加认证访问
[root@ubuntu images]#systemctl reload nginx.service
[root@ubuntu images]#vim /apps/nginx/conf/conf.d/pc.conf
location /login {
root /data/nginx/html;
index index.html;
auth_basic "login password";
auth_basic_user_file /apps/nginx/conf/.htpasswd;
}
[root@ubuntu images]#systemctl reload nginx.service
#要点:这个权限最好设为660,不设置也可以。
[root@ubuntu ~]#ll /apps/nginx/conf/.htpasswd
-rw-r--r-- 1 root root 97 Jan 9 17:05 /apps/nginx/conf/.htpasswd
#使用场景:公司内部使用,外部访问的话这个还是不够安全,主要用于ELK收集日志类web服务使用。
[root@ubuntu ~]#vim /apps/nginx/conf/conf.d/pc.conf
server {
listen 80;
server_name www.OpengSD.net;
charset utf-8;
error_page 500 502 503 504 404 /error.html; # 这些报错都返回error.html这个文件的内容,可以定义多个文件名不一样就可以。(可以自定义返回的状态码)
location = /error.html {
root html; # 这个相对路径是相对于你的安装路径,例如:我编译的时候安装路径是/apps/nginx 。(组成的路径就是/apps/nginx/html)
}
# 创建错误页面文件
[root@ubuntu ~]#vim /apps/nginx/images/error.html
sorroy server!
[root@ubuntu ~]#systemctl reload nginx.service
[root@ubuntu ~]#vim /apps/nginx/conf/conf.d/pc.conf
server {
listen 80;
server_name www.OpengSD.net;
charset utf-8;
error_page 500 502 503 504 404 /error.html;
access_log /data/nginx/logs/www-taotaobao-net_access.log;
error_log /data/nginx/logs/www-taotaobao-net_error.log;
location = /error.html {
root html;
}
# 这个配置参考之前的实验。
location /login {
root /data/nginx/html;
index index.html;
auth_basic "login password";
auth_basic_user_file /apps/nginx/conf/.htpasswd;
}
# 创建日志记录目录
[root@ubuntu ~]#mkdir /data/nginx/logs
# 重新加载配置
[root@ubuntu ~]#systemctl reload nginx.service
错误访问测试
[root@ubuntu ~]#cat /data/nginx/logs/www-taotaobao-net_error.log
2020/01/09 17:57:46 [error] 3347#0: *29 open() "/data/nginx/html/login/12dasdsa" failed (2: No such file or directory), client: 192.168.39.1, server: www.opengsd.net, request: "GET /login/12dasdsa HTTP/1.1", host: "www.opengsd.net"
2020/01/09 17:57:49 [error] 3347#0: *29 open() "/data/nginx/html/login/12dasdsa" failed (2: No such file or directory), client: 192.168.39.1, server: www.opengsd.net, request: "GET /login/12dasdsa HTTP/1.1", host: "www.opengsd.net"
2020/01/09 17:57:49 [error] 3347#0: *29 open() "/data/nginx/html/login/12dasdsa" failed (2: No such file or directory), client: 192.168.39.1, server: www.opengsd.net, request: "GET /login/12dasdsa HTTP/1.1", host: "www.opengsd.net"
2020/01/09 17:57:49 [error] 3347#0: *29 open() "/data/nginx/html/login/12dasdsa" failed (2: No such file or directory), client: 192.168.39.1, server: www.opengsd.net, request: "GET /login/12dasdsa HTTP/1.1", host: "www.opengsd.net"
2020/01/09 17:58:44 [error] 3347#0: *29 open() "/data/nginx/html/login/dsadas" failed (2: No such file or directory), client: 192.168.39.1, server: www.opengsd.net, request: "GET /login/dsadas HTTP/1.1", host: "www.opengsd.net"
2020/01/09 17:58:52 [error] 3347#0: *29 open() "/data/nginx/html/login/dsadas" failed (2: No such file or directory), client: 192.168.39.1, server: www.opengsd.net, request: "GET /login/dsadas HTTP/1.1", host: "www.opengsd.net"
2020/01/09 17:58:52 [error] 3347#0: *29 open() "/apps/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.39.1, server: www.opengsd.net, request: "GET /favicon.ico HTTP/1.1", host: "www.opengsd.net", referrer: "http://www.opengsd.net/login/dsadas"
[root@ubuntu ~]#cat /data/nginx/logs/www-taotaobao-net_access.log
192.168.39.1 - taotaobao [09/Jan/2020:17:57:46 +0800] "GET /login/12dasdsa HTTP/1.1" 404 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:17:57:49 +0800] "GET /login/12dasdsa HTTP/1.1" 404 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:17:57:49 +0800] "GET /login/12dasdsa HTTP/1.1" 404 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:17:57:49 +0800] "GET /login/12dasdsa HTTP/1.1" 404 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:17:58:20 +0800] "GET /login/ HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:17:58:44 +0800] "GET /login/dsadas HTTP/1.1" 404 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:17:58:52 +0800] "GET /login/dsadas HTTP/1.1" 404 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - - [09/Jan/2020:17:58:52 +0800] "GET /favicon.ico HTTP/1.1" 404 15 "http://www.opengsd.net/login/dsadas" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - - [09/Jan/2020:17:59:04 +0800] "GET /login HTTP/1.1" 401 581 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:17:59:04 +0800] "GET /login HTTP/1.1" 301 169 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:17:59:04 +0800] "GET /login/ HTTP/1.1" 200 11 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
192.168.39.1 - taotaobao [09/Jan/2020:18:01:29 +0800] "GET /login/dfasdsa HTTP/1.1" 404 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
try_files会按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。
只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。
location / {
root /data/nginx/html/pc;
index index.html index.htm;
try_files $uri $uri.html;
}
# 不实现重定向的话必须有用户访问的文件才可以
[root@ubuntu ~]#ehco "index1" /data/nginx/html/pc/index1.html
[root@ubuntu ~]#systemctl reload nginx.service
location / {
root /data/nginx/html/pc;
index index.html index.htm;
try_files $uri $uri/index.html $uri.html;
}
[root@ubuntu images]#systemctl reload nginx.service
# 如果想访问必须建立一个index1的目录,而且下面创建的文件名必须对应参数里的$uri/ 后面的文件名才可以。(nginx会把用户输入的uri认为是目录匹配要是目录没有接着匹配文件)
[root@ubuntu images]#mkdir /data/nginx/html/pc/index1
[root@ubuntu images]#echo "index1" > /data/nginx/html/pc/index1/index.html
[root@ubuntu ~]#vim /apps/nginx/conf/conf.d/pc.conf
location / {
root /data/nginx/html/pc;
index index.html index.htm;
try_files $uri $uri/index.html $uri.html /login/default.html;
}
# 创建重定向的文件
[root@ubuntu ~]#echo "default" >> /data/nginx/html/login/default.html # 一般这个文件都是重定向到主页面,如:公司主页面、网站主页面
[root@ubuntu ~]#systemctl reload nginx.service
[root@ubuntu images]#vim /apps/nginx/conf/conf.d/pc.conf
location / {
root /data/nginx/html/pc;
index index.html index.htm;
#try_files $uri $uri/index.html $uri.html /login/default.html;
#try_files $uri $uri.html;
try_files $uri $uri/index.html $uri.html =489;
}
[root@ubuntu images]#systemctl reload nginx.service
# 测试(最好用终端测试)
[root@magedu ~]$curl -i www.opengsd.net/index4
HTTP/1.1 489
Server: nginx/1.16.1
Date: Thu, 09 Jan 2020 11:16:09 GMT
Content-Length: 0
Connection: keep-alive
keepalive_timeout number; #设定保持连接超时时长,0表示禁止长连接,默认为75s(不同版本不一样),通常配置在http字段作为站点全局配置
keepalive_requests number; #在一次长连接上所允许请求的资源的最大数量,默认为100次。
keepalive_requests 3;
keepalive_timeout 65 65;
开启长连接后,返回客户端的会话保持时间为60s,单次长连接累计请求达到指定次数请求或65秒就会被断开,后面
的60为发送给客户端应答报文头部中显示的超时时间设置为60s:如不设置客户端将不显示超时时间。
Keep-Alive:timeout=60 #浏览器收到的服务器返回的报文
如果设置为0表示关闭会话保持功能,将如下显示:
Connection:close #浏览器收到的服务器返回的报文
[root@ubuntu images]#vim /apps/nginx/conf/nginx.conf
http {
keepalive_requests 3; # 添加这一行,设置为一次长连接最大请求数量为3次。
keepalive_timeout 65 60;
}
[root@centos7 ~]$telnet www.opengsd.net 80 # 使用这个命令访问
Trying 192.168.39.184...
Connected to www.opengsd.net.
Escape character is '^]'.
GET / HTTP/1.1 # 填写协议 (这个操作做三遍)
HOST: www.opengsd.net # 填写主机头信息(这个操作做三遍)
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Thu, 09 Jan 2020 12:27:24 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 176
Last-Modified: Sun, 05 Jan 2020 10:51:51 GMT
Connection: keep-alive
Keep-Alive: timeout=60
ETag: "5e11bfc7-b0"
Accept-Ranges: bytes
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>taotaobao 博客</title>
</head>
<body>
<h2>淘淘宝博客PC网址</h2>
</body>
</html>
GET / HTTP/1.1
HOST: www.opengsd.net
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Thu, 09 Jan 2020 12:27:35 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 176
Last-Modified: Sun, 05 Jan 2020 10:51:51 GMT
Connection: keep-alive
Keep-Alive: timeout=60
ETag: "5e11bfc7-b0"
Accept-Ranges: bytes
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>taotaobao 博客</title>
</head>
<body>
<h2>淘淘宝博客PC网址</h2>
</body>
</html>
GET / HTTP/1.1
HOST: www.opengsd.net
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Thu, 09 Jan 2020 12:27:47 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 176
Last-Modified: Sun, 05 Jan 2020 10:51:51 GMT
Connection: close
ETag: "5e11bfc7-b0"
Accept-Ranges: bytes
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>taotaobao 博客</title>
</head>
<body>
<h2>淘淘宝博客PC网址</h2>
</body>
</html>
Connection closed by foreign host. # 查看最后的报错信息,达到三次最后一遍输入完的时候会报这个错。
[root@ubuntu images]#vim /apps/nginx/conf/conf.d/pc.conf
location /download {
autoindex on; #自动索引功能
autoindex_exact_size on; #计算文件确切大小(单位bytes),off只显示大概大小(单位kb、mb、gb)
autoindex_localtime on; #显示本机时间而非GMT(格林威治)时间
root /data/nginx/html/pc;
}
[root@ubuntu images]#mkdir /data/nginx/html/pc/download # 创建下载目录
# 准备下载的文件
[root@ubuntu images]#cp /data/
lost+found/ nginx/ nginx-1.16.1.tar.gz
[root@ubuntu images]#cp /data/nginx-1.16.1.tar.gz /data/nginx/html/pc/download/
# 重新加载服务
[root@ubuntu images]#systemctl reload nginx.service
limit_rate rate; #限制响应给客户端的传输速率,单位是bytes/second,默认值0表示无限制限速与不限速的对比:
location /download {
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
limit_rate 10k; # 添加这行
root /data/nginx/html/pc;
}
[root@magedu ~]$wget www.opengsd.net/download/nginx-1.16.1.tar.gz
--2020-01-09 20:51:21-- http://www.opengsd.net/download/nginx-1.16.1.tar.gz
Resolving www.opengsd.net... 192.168.39.184
Connecting to www.opengsd.net|192.168.39.184|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1032630 (1008K) [application/octet-stream]
Saving to: “nginx-1.16.1.tar.gz”
15% [======> ] 163,840 10.5K/s eta 81s ^
[root@magedu ~]$wget www.opengsd.net/download/nginx-1.16.1.tar.gz
--2020-01-09 20:53:21-- http://www.opengsd.net/download/nginx-1.16.1.tar.gz
Resolving www.opengsd.net... 192.168.39.184
Connecting to www.opengsd.net|192.168.39.184|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1032630 (1008K) [application/octet-stream]
Saving to: “nginx-1.16.1.tar.gz.2”
100%[=================================================>] 1,032,630 --.-K/s in 0.005s
2020-01-09 20:53:21 (205 MB/s) - “nginx-1.16.1.tar.gz.2” saved [1032630/1032630]
client_max_body_size 1m; #设置允许客户端上传单个文件的最大值,默认值为1m
client_body_buffer_size size; #用于接收每个客户端请求报文的body部分的缓冲区大小;默认16k;超出
此大小时,其将被暂存到磁盘上的由下面client_body_temp_path指令所定义的位置
client_body_temp_path path [level1 [level2 [level3]]];
#设定存储客户端请求报文的body部分的临时存储路径及子目录结构和数量,目录名为16进制的数字,使用hash之
后的值从后往前截取1位、2位、2位作为文件名:
[root@s3 ~]# md5sum /data/nginx/html/pc/index.html
95f6f65f498c74938064851b1bb 96 3d 4 /data/nginx/html/pc/index.html
1级目录占1位16进制,即2^4=16个目录 0-f
2级目录占2位16进制,即2^8=256个目录 00-ff
3级目录占2位16进制,即2^8=256个目录 00-ff
client_max_body_size 10m;
client_body_buffer_size 16k;
client_body_temp_path /apps/nginx/temp 1 2 2; #reload Nginx会自动创建temp目录
keepalive_disable none | browser ...;
#对哪种浏览器禁用长连接
limit_except method ... { ... },仅用于location
限制客户端使用除了指定的请求方法之外的其它方法
method:GET, HEAD, POST, PUT, DELETE,MKCOL, COPY, MOVE, OPTIONS, PROPFIND,
PROPPATCH, LOCK, UNLOCK, PATCH
limit_except GET {
allow 192.168.0.0/24;
allow 192.168.7.101;
deny all;
}
#除了GET和HEAD 之外其它方法仅允许192.168.1.0/24网段主机使用
[root@s2 about]# mkdir /data/nginx/html/pc/upload
[root@s2 about]# echo "upload" > /data/nginx/html/pc/upload/index.html
[root@s2 about]# vim /apps/nginx/conf/conf.d/pc.conf
location /upload {
root /data/magedu/pc;
index index.html;
limit_except GET {
allow 172.18.200.101;
deny all;
}
}
#重启Nginx并进行测试上传文件
[root@s2 pc]# systemctl restart nginx
[root@s2 pc]#
[root@s2 pc]# curl -XPUT /etc/issue http://www.magedu.net/about
curl: (3) <url> malformed
<html>
<head><title>405 Not Allowed</title></head> #Nginx已经允许但是程序未支持上传功能
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx</center>
</body>
</html>
[root@s1 ~]# curl -XPUT /etc/issue http://www.magedu.net/upload
curl: (3) <url> malformed
<html>
<head><title>403 Forbidden</title></head> #Nginx拒绝上传
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
aio on | off #是否启用asynchronous file I/O(AIO)功能,需要编译开启
linux 2.6以上内核提供以下几个系统调用来支持aio:
1、SYS_io_setup:建立aio 的context
2、SYS_io_submit: 提交I/O操作请求
3、SYS_io_getevents:获取已完成的I/O事件
4、SYS_io_cancel:取消I/O操作请求
5、SYS_io_destroy:毁销aio的context
directio size | off; #directio是直接读写文件到磁盘,启用直接I/O,默认为关闭,当文件大于等于给定大
小时,例如directio 4m,可以和sebdfile结合使用,比如当大于此值使用AIO,当小于此值使用sendfile。
open_file_cache off; #是否缓存打开过的文件信息
open_file_cache max=N [inactive=time];
nginx可以缓存以下三种信息:
(1) 文件元数据:文件的描述符、文件大小和最近一次的修改时间
(2) 打开的目录结构
(3) 没有找到的或者没有权限访问的文件的相关信息
max=N:可缓存的缓存项上限数量;达到上限后会使用LRU(Least recently used,最近最少使用)算法实现
管理
inactive=time:缓存项的非活动时长,在此处指定的时长内未被命中的或命中的次数少于
open_file_cache_min_uses指令所指定的次数的缓存项即为非活动项,将被删除
open_file_cache_errors on | off;
是否缓存查找时发生错误的文件一类的信息
默认值为off
open_file_cache_min_uses number;
open_file_cache指令的inactive参数指定的时长内,至少被命中此处指定的次数方可被归类为活动项
默认值为1
open_file_cache_valid time;
缓存项有效性的检查验证频率,默认值为60s
open_file_cache max=10000 inactive=60s; #最大缓存10000个文件,非活动数据超时时长60s
open_file_cache_valid 60s; #每间隔60s检查一下缓存数据有效性
open_file_cache_min_uses 5; #60秒内至少被命中访问5次才被标记为活动数据
open_file_cache_errors on; #缓存错误信息
server_tokens off; #隐藏Nginx server版本。
Nginx官网 以上的参数配置不明白的话可以在官网查看。
标签:lan ted mct 图形化 uri basic app 内部500错误 down
原文地址:https://www.cnblogs.com/www233ii/p/12173548.html