文章目录

  • 一、隐藏版本号
    • 1.1 隐藏版本号的操作步骤(理论)
    • 1.2 隐藏版本号的实验具体步骤(实操)
    • 1.3 修改用户与组
  • 二、缓存时间
    • 2.1缓存时间的操作步骤(理论)
    • 2.2 缓存时间的实验具体步骤(实操)
  • 三、日志切割
    • 3.1 日志切割的操作步骤(理论)
  • Filename: fenge.sh
    • 3.2 日志切割的实验具体步骤(实操)
  • 四、连接超时和更改进程数
    • 4.1 连接超时的操作步骤(理论)
    • 4.2 连接超时实验具体步骤(实操)
    • 4.3 更改进程数的操作步骤(理论)
    • 4.4 更改进程数的操作步骤(理论)
  • 五、配置网页压缩
    • 5.1 配置网页压缩的操作步骤(理论)
    • 5.2 配置网页压缩的实验具体步骤(实操)
  • 六、配置防盗链
    • 6.1 配置防盗链(理论)
    • 6.2 配置防盗链(实操)

一、隐藏版本号

1.1 隐藏版本号的操作步骤(理论)

可以使用 Fiddler 工具抓取数据包,查看 Nginx版本,
也可以在 CentOS 中使用命令 curl -I http://192.168.80.200 显示响应报文首部信息。

curl -I http://192.168.80.200

方法一:修改配置文件方式
vim /usr/local/nginx/conf/nginx.conf

```handlebars
http {
include mime.types;
default_type application/octet-stream;
server_tokens off; #添加,关闭版本号

}

systemctl restart nginx
curl -I http://192.168.80.10

方法二:修改源码文件,重新编译安装
vim /opt/nginx-1.12.0/src/core/nginx.h

#define NGINX_VERSION “1.1.1” #修改版本号
#define NGINX_VER “IIS” NGINX_VERSION #修改服务器类型

cd /opt/nginx-1.12.0/ ./configure --prefix=/usr/local/nginx
–user=nginx --group=nginx --with-http_stub_status_module make && make install

vim /usr/local/nginx/conf/nginx.conf http {
include mime.types;
default_type application/octet-stream;
server_tokens on; … }

systemctl restart nginx
curl -I http://192.168.80.200

1.2 隐藏版本号的实验具体步骤(实操)

第一步:显示响应报文首部信息

第二步:修改主配置文件

第三步:再次看出版本号是否被隐藏

在浏览器中进行查看

1.3 修改用户与组

vim /usr/local/nginx/conf/nginx.conf

user nginx nginx; #取消注释,修改用户为 nginx ,组为 nginx

systemctl restart nginx

ps aux | grep nginx

主进程由root创建,子进程由nginx创建

修改主配置文件

第二步:重启服务进行查看

二、缓存时间

2.1缓存时间的操作步骤(理论)

vim /usr/local/nginx/conf/nginx.conf

http {

server {

location / {
root html;
index index.html index.htm;
}

location ~ .(gif|jpg|jepg|png|bmp|ico)$ {
root html;
expires 1d;
}

}
}

systemctl restart nginx

在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 —> 选择 HTML、WS、其他
访问 http://192.168.80.10 ,双击200响应消息查看响应头中包含 Cahce-Control:max-age=86400 表示缓存时间是 86400 秒。也就是缓存一天的时间,一天之内浏览器访问这个页面,都是用缓存中的数据,而不需要向 Nginx 服务器重新发出请求,减少了服务器的使用带宽。

2.2 缓存时间的实验具体步骤(实操)

第一步:修改主配置文件

第二步:当如图片并对网页文件进行编辑

第三步:检查配置并重启服务

第四步:浏览器中进行查看

三、日志切割

3.1 日志切割的操作步骤(理论)

vi /opt/fenge.sh

#!/bin/bash

Filename: fenge.sh

d=$(date -d “-1 day” “+%Y%m%d”) #显示前一天的时间
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path #创建日志文件目录
mv /usr/local/nginx/logs/access.log logspath/kgc.com−access.log−{logs_path}/kgc.com-access.log-logsp​ath/kgc.com−access.log−d #移动并重命名日志文件
kill -USR1 $(cat $pid_path) #重建新日志文件
find $logs_path -mtime +30 -exec rm -rf {} ; #删除30天之前的日志文件
#find $logs_path -mtime +30 |xargs rm -rf

chmod +x /opt/fenge.sh
/opt/fenge.sh
ls /var/log/nginx
ls/usr/local/nginx/logs/access.log

crontab -e
0 1 * * * /opt/fenge.sh

小知识
在linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime
ctime(status time): 当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是createtime,更像是change time, 只有当更新文件的属性或者权限的时候才会更新这个时间,但是更改内容的话是不会更新这个时间。
atime(accesstime): 当使用这个文件的时候就会更新这个时间。
mtime(modification time):当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别。

3.2 日志切割的实验具体步骤(实操)

第一步:编写脚本

第二步:执行脚本,查看日志是否生成

四、连接超时和更改进程数

4.1 连接超时的操作步骤(理论)

vim /usr/local/nginx/conf/nginx.conf

http {

keepalive_timeout 65 180;
client_header_timeout 80;
client_body_timeout 80;

}

systemctl restart nginx

4.2 连接超时实验具体步骤(实操)

第一步:修改主配置文件

第二步:检查配置和重启服务

4.3 更改进程数的操作步骤(理论)

cat /proc/cpuinfo | grep -c “physical id” #查看cpu核数
ps aux | grep nginx #查看nginx主进程中包含几个子进程

vim /usr/local/nginx/conf/nginx.conf

worker_processes 2; #修改为核数相同或者2倍
worker_cpu_affinity 01 10; #设置每个进程由不同cpu处理,进程数配为4时0001 0010 0100 1000

systemctl restart nginx

4.4 更改进程数的操作步骤(理论)

第一步:查看cpu核数和nginx主进程中包含几个子进程

第二步:修改主配置参数

第三步:重启服务并查看

五、配置网页压缩

5.1 配置网页压缩的操作步骤(理论)

vim /usr/local/nginx/conf/nginx.conf

http {

gzip on; #取消注释,开启gzip压缩功能
gzip_min_length 1k; #最小压缩文件大小
gzip_buffers 4 16k; #压缩缓冲区,大小为4个16k缓冲区
gzip_http_version 1.1; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_comp_level 6; #压缩比率
gzip_vary on; #支持前端缓存服务器存储压缩页面
gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json; #压缩类型,表示哪些网页文档启用压缩功能

}

cd /usr/local/nginx/html
先将1.jpg文件传到/usr/local/nginx/html目录下
vim index.html


#网页中插入图片

systemctl restart nginx

测试:
在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 —> 选择 HTML、WS、其他
访问 http://192.168.80.10 ,双击200响应消息查看响应头中包含 Content-Encoding: gzip

5.2 配置网页压缩的实验具体步骤(实操)

第一步:修改主配置文件

第二步:修改网页显示内容

第三步:重启服务浏览器冲测试

浏览器中测试

六、配置防盗链

6.1 配置防盗链(理论)

vim /usr/local/nginx/conf/nginx.conf

http {

server {

location ~*.(jpg|gif|swf)$ {
valid_referers *.kgc.com kgc.com;
if ( $invalid_referer ) {
rewrite ^/ http://www.kgc.com/3.png;

}
}

}
}

~* .(jpg|gif|swf)$ :这段正则表达式表示匹配不区分大小写,以.jpg 或.gif 或.swf 结尾的文件;
valid_referers :设置信任的网站,可以正常使用图片;
后面的网址或者域名 :referer 中包含相关字符串的网址;
if语句:如果链接的来源域名不在valid_referers所列出的列表中,$invalid_referer为1,则执行后面的操作,即进行重写或返回 403 页面。

网页准备:
Web源主机(192.168.80.200)配置:

cd /usr/local/nginx/html

将game.jpg、error.png文件传到/usr/local/nginx/html目录下

vim index.html

echo “192.168.153.20 www.kgc.com” >> /etc/hosts

盗链网站主机(192.168.80.111):

cd /var/www/html

vim index.html


echo “192.168.153.20 www.kgc.com” >> /etc/hosts
echo “192.168.153.30 www.clj.com” >> /etc/hosts

在盗图网站主机上进行浏览器验证
http://www.clj.com

6.2 配置防盗链(实操)

第一步:修改主配置文件

第二步:源主机网页准备工作

第三步:源主机临时添加域名和IP的映射关系

第四步:盗链主机网页准备

第五步:盗链主机临时添加域名和IP的映射关系

第六步:浏览器中验证
访问源主机网页测试结果为可以正常访问到图片

访问盗链主机网页测试结果为显示盗链图片

Nginx 服务优化与防盗链相关推荐

  1. Nginx网页优化及防盗链__gw

    Nginx网页优化及防盗链 Nginx服务优化 配置Nginx隐藏版本号 方法一 方法二 修改nginx用户和组 网页缓存时间 Nginx的日志分割 编写日志分割脚本 制作任务计划 链接超时 更改Ng ...

  2. nginx(二)服务优化与防盗链

    目录 前言: 一.隐藏版本号 1.修改nginx源码文件 2.修改nginx的主配置文件 二.修改用户与组 1.编译安装时指定用户和组 2.修改配置文件指定用户和组 三.配置网页缓存时间 四.日志切割 ...

  3. Nginx优化与防盗链

    Nginx优化与防盗链 一.隐藏nginx版本号 1.1查看版本号 1.2隐藏版本信息 二.修改用户与组 三.缓存时间 四.日志分割 五.连接超时 六.更改进程数 七.配置网页压缩 八.配置防盗链 8 ...

  4. 学会Nginx优化与防盗链预防坏蜀黍

    Nginx优化与防盗链 文章目录 一.Nginx优化 1.配置nginx隐藏版本号 修改配置文件 修改源码文件,重新编译安装 2.修改用户与组 3.缓存时间 4.日志切割 5.连接超时 6.更改进程数 ...

  5. Nginx优化之防盗链

    Nginx优化之防盗链 文章目录 Nginx优化之防盗链 前言 实验环境 实验步骤 前言 之前,我们知道了Apache的防盗链,接下来我们来看看nginx的防盗链. 有时候在浏览网页的时候,会遇到某些 ...

  6. nginx rewrite重写与防盗链配置

    nginx rewrite重写规则与防盗链配置方法 时间:2016-02-04 15:16:58来源:网络 导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标 ...

  7. 修改网站设置里的php版本号,Nginx服务优化(隐藏版本号、修改用户和组、设置链接超时)...

    Nginx服务优化可以从隐藏版本号.更改用户与组.配置网页缓存时间.日志切割.设置连接超时这几个方面进行优化.下面来详细的看看 1.隐藏版本号 在生产环境中需要隐藏Nginx的版本号,以避免泄露Ngi ...

  8. 企业级nginx服务优化(三 )Apache+防盗链

    apache   worker/prefork  /application/apache/bin/apachectl -l | sed -n '/worker\|prefork/p'   worker ...

  9. Nginx优化与防盗链(隐藏版本号、配置缓存时间、日志分割、修改进程数、配置连接超时、使用gzip压缩页面、防盗链设置,fpm优化)

    文章目录 隐藏Nginx版本号 网页压缩 网页压缩配置 网页缓存时间 网页缓存时间设置 更改Nginx运行进程数 连接超时 nginx防盗链设置 盗链网站 配置httpd 日志分割 fpm参数优化 隐 ...

最新文章

  1. Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
  2. iOS开发之解决隐藏tabbar后原位置无法响应点击事件的问题
  3. 12.04 scrum report
  4. dos debug命令
  5. java字节码忍者禁术
  6. no typehandler found for property XXXX 解决
  7. 2019年中国IT市场趋势热点
  8. java制作安卓客户端,java做服务器,android干客户端,实现数据传输
  9. Spring : @EnableAutoConfiguration注解
  10. luogu P2783 有机化学之神偶尔会做作弊
  11. java 字符串string、int和arraylist互转
  12. StructLayout(LayoutKind.Sequential)(转)
  13. python大漠库_python类似大漠插件的库
  14. Introductory Combinatorics 5th Solutions Chapter1 summary
  15. 程序员的简历应该如何写?(含模拟面试,持续更新)
  16. 谷歌java模板_如何创建Google表格模板
  17. 温故知新|传感器基础结构与通信原理
  18. keil 4c语言读写寄存器,【STM32单片机学习】第四课:GPIO控制LED(用寄存器编程)
  19. html获取页面点击事件吗,jquery 获取页面点击事件 $(body).click()
  20. hdu2018 母牛的故事(模拟)

热门文章

  1. linux7 重新开始udev,Redhat Linux 7 创建UDEV设备(示例代码)
  2. mysql server 5.0的jdbc驱动_MySQL5.0的JDBC驱动程序(转
  3. discuz misc.php慢,discuz提示misc.php?mod=patchaction=导致网站访问慢问题解决办法
  4. c# 怎样从bitmap初始化image类_C#二维数组初始化概括(新手篇)
  5. Seaborn 入门
  6. Pandas直接读取arff格式的文件,这种需求还是头一次碰到!
  7. 就是肝!计算机基础知识总结与操作系统 PDF 下载
  8. 已拿30K offer!感谢这几个公众号提供的各种学习教程
  9. php二维数组拆分成字符串,PHP二维数组切割为字符串并去除重复的值
  10. python 连接mysql 字符集_Python 操作 MySQL 字符集的问题