c 抓取网页数据( Nginx网页优化与安全隐藏版本号具体操作修改用户与组日志分割)

优采云 发布时间: 2022-01-12 06:18

  c 抓取网页数据(

Nginx网页优化与安全隐藏版本号具体操作修改用户与组日志分割)

  

  Nginx网页优化与安全隐藏版本号具体操作修改用户和组日志拆分连接超时更改进程数

  curl -I http://192.168.80.11

  隐藏版本号的具体操作方法1:修改配置文件方法

  1.vim /usr/local/nginx/conf/nginx.confhttp {include mime.types;default_typeapplication/octet-stream;server_tokens off;#添加,关闭版本号}2.systemctl restart nginx3.curl -I http://192.168.80.11

  方法二:修改源文件,重新编译安装

  1.vim /opt/nginx-1.12.0/src/core/nginx.h\#define NGINX_VERSION "1.1.1" #修改版本号\#define NGINX_VER "apache" NGINX_VERSION #修改服务器类型2.cd /opt/nginx-1.12.0/./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module3.make && make install4.vim /usr/local/nginx/conf/nginx.confhttp {include mime.types;default_typeapplication/octet-stream;server_tokens on;......}5.systemctl restart nginx6.curl -I http://192.168.80.11

  修改用户和组

  1.vim /usr/local/nginx/conf/nginx.confuser nginx nginx; #取消注释,修改用户为 nginx ,组为 nginx2.systemctl restart nginx3.ps aux | grep nginx #主进程由root创建,子进程由nginx创建

  网页缓存

  vim /usr/local/nginx/conf/nginx.confhttp {......server {...... location ~ \.(gif|jpg|jepg|png)$ { #加入新的 location,以图片作为缓存对象root html;expires 1d; #指定缓存时间,1天}......}}

  日志拆分

  vim /root/rizhi.sh\#!/bin/bash1.#显示前一天的时间day=$(date -d "-1 day" "+%Y%m%d")\#day=$(date -d "-1 day" "+%F")2.logs_path="/var/log/nginx"3.pid_path=`cat /usr/local/nginx/logs/nginx.pid`4.#创建日志文件目录[ -d $logs_path ] || mkdir -p $logs_path 5.#移动并重命名日志文件mv /usr/local/nginx/logs/access.log ${logs_path}/gxd.com-access.log-{$day}6.#重建日志文件kill -USR1 $pid_path7.#删除30天前的日志文件 find $logs_path -mtime +30 -exec rm -rf {} \;#find $logs_path -mtime +30 | xargs rm -rf

  注意:在Linux操作系统中,每个文件都有很多时间参数,其中三个主要是ctime、atime、mtime

  1.ctime(状态时间):

  当文件的权限或属性被修改时,这个时间会被更新。 ctime 不是创建时间,更像是更改时间。这个时间只会在文件的属性或者权限更新的时候更新,但是如果内容改变了,就不会更新了。这次会更新2.atime(accesstime):

  这个时间会在文件使用时更新

  3.mtime(修改时间):

  当文件的内容数据被修改时,时间会被更新,如果权限或属性发生变化,mtime不会改变。这就是与 ctime 的区别。

  连接超时

  vim /usr/local/nginx/conf/nginx.confhttp {...... keepalive_timeout 65 180;client_header_timeout 80;client_body_timeout 80;...... }

  注意:1. HTTP 有一个 KeepAlive 模式,它告诉 Web 服务器在处理请求后保持 TCP 连接打开。如果收到来自客户端的其他请求,服务器将使用未关闭的连接而不建立另一个连接

  KeepAlives保持开启一段时间,这段时间会占用资源,占用过多会影响性能

  1)keepalive_timeout

  指定 KeepAlive 的超时时间。指定每个 TCP 连接可以保持的最长时间,之后服务器将关闭连接。Nginx的默认值是65秒,有的浏览器最多只能保持60秒,所以可以设置为60秒。将其设置为 0 将禁用保活连接

  第二个参数(可选)指定 Keep-Alive:timeout=time 响应头中的时间值。此标头使某些浏览器能够主动关闭连接,以便服务器不必关闭连接。没有这个参数,Nginx 不会发送 Keep-Alive 响应头

  2)client_header_timeout

  客户端向服务器发送完整请求标头的超时时间。如果客户端在指定时间内没有发送完整的请求头,Nginx 会返回 HTTP 408 (Request Timed Out)

  3)client_body_timeout

  指定客户端与服务器建立连接后发送请求体的超时时间。如果客户端在指定时间内没有发送任何东西,Nginx 会返回 HTTP 408 (Request Timed Out)

  更改进程数

  1.cat /proc/cpuinfo | grep -c "physical id" #查看cpu核数2.ps aux | grep nginx#查看nginx主进程中包含几个子进程3.vim /usr/local/nginx/conf/nginx.confworker_processes2;#修改为核数相同或者2倍worker_cpu_affinity 01 10;#设置每个进程由不同cpu处理,进程数配2 4 6 8分别为0001 0010 0100 1000 4.systemctl restart nginx5.压力测试,看cpu能否处理这么多连接数

  网页压缩修改配置文件

  修改网页文件

  浏览器测试防盗链,准备两张不同格式的图片修改配置文件

  vim /usr/local/nginx/conf/nginx.confhttp {......server {......location ~* \.(png|gif|swf)$ {valid_referers noneblocked *.gxd.com;if ( $invalid_referer ) {rewrite ^/ http://www.gxd.com/error.jpg;}}......}}

  注意: 1.~* .(png|gif|swf)$ :此正则表达式表示匹配以 .jpg 或 .gif 或 .swf 结尾的不区分大小写的文件

  2.valid_referers : 设置信任网站,图片可以正常使用

  3.none:允许不带http_refer的请求访问资源(根据Referer的定义,它的作用是指明一个请求是从哪里链接的。如果直接在地址栏输入一个资源的URL地址浏览器,那么这种请求就不会收录Referer字段),如果我们使用访问显示的图片,可以理解为请求来自这个链接

  4.blocked:允许不在开头且无协议的请求访问资源;

  5.*.:只允许来自指定域名的请求访问资源,如

  6.if语句:如果链接的源域名不在valid_referers列出的列表中,且$invalid_referer为真,则进行如下操作,即重写或返回403页面

  配置正向解析文件

  echo "192.168.80.11 www.gxd.com" >> /etc/hostsecho "192.168.80.11 www.ggg.com" >> /etc/hosts

  浏览器访问测试

  1.

  2.

  你可能还想知道:Pbootcms百度小程序API接口Laravel框架Pootcms面包屑标签SEO外包管理思路外贸网站SEO外包

  转载:感谢您对网站平台的认可,感谢您对我们原创作品和文章的青睐。非常欢迎朋友们分享给你的个人站长或者朋友圈,但是请说明文章来源“墨鱼云”。

  上一篇:Linux内核警告内核:INFO:task xxxblocked for more than 120 seconds.----已解决

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线