既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
一,隐藏版本号
第一种修改配置文件隐藏
步骤一:先看下之前版本号,方便咱们更改后对比!
curl -I httpd://127.0.0.1
步骤二:更改配置文件nginx.conf,咱们就在http段内添加
vi /usr/local/nginx/conf/nginx.conf
步骤三:重启nginx服务,验证!
systemctl restart nginx
curl -I http://127.0.0.1
第二种;修改Nginx源码文件,指定不显示版本号,需要重新编译;
步骤一:到软件包所在位置,修改源码编译文件
cd /opt/nginx-1.15.9
vi src/core/nginx.h #13,14行
步骤二:保存,重新编译下
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install
步骤三:重启服务nginx验证:
systemctl restart nginx
curl -I http://127.0.0.1
二,修改Nginx用户的与组
- Nginx默认使用的nobody用户账号与组账号;(是不安全的)
- 运行时进程需要有用户与组的支持,以实现对网站文件读取时进行访问控制
- 修改的方法两种:
1.编译暗转时指定用户与组;
2.修改配置文件指定用户与组;
第一种:编译安装是指定用户与组;
说明:
1.之前咱们nginx服务搭建的时候创建了程序用户nginx;
2.编译安装的时候咱们也已经指定了;
cd /opt/nginx-1.15.9
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make && make install
说明:
--user=nginx \ #指定用户
--group=nginx \ #指定组账户
第二种:修改配置文件更改;
步骤一:编辑Nginx.conf
vi /usr/local/nginx/conf/nginx.conf
步骤二:重启服务Nginx;
systemctl restart nginx
ps aux|grep nginx #查看进程
三,网页缓存时间
- 避免重复请求,加快访问速度;
- 一般针对静态网页设置,对动态网页不设置缓存时间;
步骤一:在nginx.conf配置文件内,在段内(http,server,location ),加入特定内容的过期参数
说明:以图片缓存为例
vi /usr/local/nginx/conf/nginx.conf
步骤二:重启服务nginx 验证
重启
验证
输入:20.0.0.25/b.jpg
四,实现Nginx的日志切割;
- Nginx运行时间的不断增加,日志也会增加。为了方便掌握Nginx运行状态,需要时刻关注日志文件;
- 定期进行日志文件的切割;
- 通过脚本,linux的计划性任务周期性的进行日志切割;
1.shell脚本:
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 ${logs_path}/test.com-access.log-$d
kill -USR1 $(cat $pid\_path)
find $logs\_path -mtime +30 |xargs rm -rf
chmod +x /opt/fenge.sh
2.在计划性任务内添加任务
crontab -e
30 1 \* \* \* /opt/fenge.sh
最好重启下计划任务
systemctl restart crond
systemctl enable crond
五,Nginx的连接保持;
- 避免同一客户端长时间占用连接,造成资源浪费
- Keepalive_timeout #设置保持连接从超时时间,默认65秒
Client_header_timeout #指定等待客户端发送请求头的超时时间
Client_body_timeout #设置请求体读超时时间
步骤一:在nginx.conf配置文件内;
vi /usr/local/nginx/conf/nginx.conf
- Keepalive_timeout 65 180; #设置保持连接从超时时间,默认65秒,
client_header_timeout 80; #指定等待客户端发送请求头的超时时间80秒
client_body_timeout 80; #设置请求体读超时时间80秒
步骤二:重启服务验证
输入:20.0.0.25
六,(高并发应用场景)更改Nginx运行进程数
- 在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞;
- 更改进程的配置方法
修改配置文件
修改进程配置参数
说明:
- 修改配置文件内的参数
一般设为cpu的个数或者核数;
在高并发的情况下可设置为cpu个数或者核数的2倍’! - 增加进程数,可减少了系统的开销,提升了服务速度,
步骤一:查看当前cpu核数2倍
(当前配置是双核双线程的)
cat /proc/cpuinfo |grep -c physical
8
步骤二:修改配置文件:
vi /usr/local/nginx/conf/nginx.conf
worker_processes 8;
步骤三:重启服务,查看进程
systemtl restart nginx
ps aux |grep nginx
七,Nginx网页压缩功能
- Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能
- 允许Nginx服务器将输出内容在发送客户端之前进行压缩,
- 节约网站带宽,提升用户的访问体验,默认已经安装模块了;
步骤一:修改配置文件,开启gizp模块;
在gzip on;去掉#号,下添加:
gzip on;
gzip_buffers 4 64k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_min_length 1k;
gzip_vary on;
gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss;
注释:
1.开启gizp 压缩
2.表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间
3.用于设置识别http协议版本,默认是1.1
4.用来指定gzip压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,处理速度慢
5.用于设置允许压缩的最小字节数;
6.选项可以让前端的缓存服务器缓存经过gzip压缩的页面
7.压缩类型,对那些网页文档启用压缩功能;
步骤二:重启服务验证;
重启服务
抓包验证:
输入:20.0.0.25/b.jpg
说明:
上图抓包可看出,gzip模块一开始,将1033大小的文件,压缩了一半多604!!
节约了网络带宽和浏览体验;
八,防盗链
- 在企业网站服务中,一般咱们配置防盗链功能,避免网站内容被非法盗用,造成各方面的损失
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-noRkCS7U-1715369708006)]
[外链图片转存中…(img-2jlcukyt-1715369708006)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!