nginx隐藏版本号
查看方法
浏览器F12 看network头部看server
curl -i 192.168.232.7
获取头部(查版本号)
配置文件改
添加server_tokens off
改源码
cd /src/core
vim nginx.h
修改
修改的IIS为window常用的软件服务
重新编译安装
cd nginx_1.22.0
./configure r--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_modul
make && make install
打开配置文件中展示版本号
server_tokens on
配置文件第一行修改取消注释改为nobady
网页缓存
http段设置会对所有站点进行缓存设置
location段,只对网站的某个页面或请求进行设置
expires 1d; 缓存一天
vim /usr/local/nginx/conf/nginx.cong
改完nginx -t检查文件格式
加上html会把网页一起缓存
日志分割 思路
定义变量
第一步,判断日志保存目录是否存在if test -d判断
不存在创建
第二部,把原本访问和错误日志放在创的目录中,以年月日的方式保存date -d来实现
kill -usr1 使后面的进程号继续进行
date输出时间
输出当月第一天输出
date +%Y%m01
下个月的第一天
date -d "1 month" +%Y%m01
上的月的第一天
date -d "-1 month" +%Y%m01
上个月的最后一天
data -d "$(data +%Y%m01) -1 day" +%Y%m%d
这个月的最后一台
date -d "$(date -d "1 mouth" +%Y%m%01) -1day" +%Y%m%d
LASRDAY=$(data -d "-1 day" "+%Y%m%d") #获取昨天日志
logs_path="/var/log/nginx" #存放日志分割后的目录
NGINXHOME="/var/local/nginx"
PIDPATH="$NGINXHOME/logs/nginx.pid" #获取pid文件
[ -d $PIDPATH ] || mkdir -p $PIDPATH #创建存放日志的目录 ||前面成立才执行后面的&&前面不成功执行后面的
mv /usr/local/nginx/logs/access.log ${PIDPATH}/access.log-$LASTDAY #分割日志
mv /usr/local/nginx/logs/error.log ${logs_path}/error.log-$LASTDAY
kill -USR1 $(cat $PIDPATH) #nginx生成新的日志文件
find $LOGPATH -mtime +30 |xargs rm -rf
给权限chmod +x log.sh
定时任务0 0 * * * /root/log.sh
vim /usr/local/nginx/conf/nginx.conf
keepalive_timeout 65 60;前面65 服务端主动关闭的时间,后面的客户端传送的最好少于前面的
为解决服务端timewite的状态
修改内核参数让系统快速释放
ip头部中标识符分片 偏移量怎么分片的clinet_header
_timeout
worker_processes可设置为auto
两个cpu时 01 10
cd /opt/nginx_1.1.0/auto
cat options | grep YES | grep -i gzip
查看加载的模块
buffer写入的缓冲,一次多个写
cache 读的缓存 哈希
level 9压缩最慢
usr/local/nginx/mime.types支持的格式
location ~* \.(jpg|gif|swf)${
valid_referers *.自己的域名.com;
if($invalid_raferer){ #上面以外的域名
rewrite ^/ http://www.bt.com/error.png;
}
}
*不区分大小写
盗链网站
防盗链配置
none为直接访问图片
blocked允许没有http://
总结nginx程序级别的优化
网页压缩优化
nginx程序优化
网页缓存
隐藏版本号
更改工作进程数,进程绑定cpu,修改进程最大连接数
设置连接保持
设置防盗链
系统内核优化
ulimit -n 临时设置
永久设置vim /etc/security/limits.conf
设置打开nofile文件数 65535
nproc进程数 32000
* soft(hard) memlock内存数量 unlimited
内核参数 vim /etc/systctl.conf
开启快速回收timewite
对开放端口
用过哪些nginx模块
cd/opt/nginx_1.1.0/auto/options下有很多模块
http_gzip_static_module网页压缩模块
http_stub_status_module状态统计模块
http_rewrite_module 重写模块
http_auth_basic_module 网站用户认证模块
http_fastcgi_modue fastcgi转发请求给php-fpm的模块
http_ssl_module htpps用到的ssl认证加密模块
http_upstream_*_module 反向代理模块