目录
1. 隐藏版本号
2.修改用户和组
3.缓存时间
4.日志切割
5.连接超时
6.更改进程数
7.配置网页压缩
8.配置防盗链
隐藏版本号可以防止有人试图从某某版本的漏洞攻击网站
方法一:
修改配置文件
vim /usr/local/nginx/conf/nginx.conf
在http模块下
http {
include mime.types;
default_type application/octet-stream;
server_tokens off; #添加,关闭版本号
......
}
重启nginx服务
systemctl restart nginx
直接打开网站访问本机ip,F12 查看版本
方法二:
vim /opt/nginx-1.12.0/src/core/nginx.h
#define NGINX_VERSION "???" #修改版本号
#define NGINX_VER "notfound " 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
和方法一的测试方法一样
修改用户和组可以限制nginx进程的权限,减少潜在的风险,有助于隔绝nignx进程和其他资源
vim /usr/local/nginx/conf/nginx.conf
user nginx nginx; #取消注释,修改用户为 nginx ,组为 nginx
systemctl restart nginx
ps aux | grep nginx
主进程由root创建,子进程由nginx创建
设置缓存时间可以减少服务器负载,提高网站加载速度,节省宽带消耗,提高网站稳定性
vim /usrl/lcoal/nginx/conf/nginx.conf
http{
.......
server {
……
location / {
root html;
index index.html index.htm;
}
location ~ \.(gif|jpg|jepg|png|bmp|ico)$ { #加入新的 location,以图片作 为缓存对象
root html;
expires 1d; #指定缓存时间为1天
}
......
}
}
在 niginx html文件下放入一个图片
重启服务
sysyemctl restart nginx
在Linux系统中,打开浏览器,同样的输入地址,后面加上图片的名字
查看缓存时间
Cache-Control:max-age=86400
日志切割更方便与管理日志文件大小,提高nginx日志可读性,还能节省存储空间
不同于其他优化过程,日志切割直接在脚本中完成
到一个目录下
vim /opt/rzfg.sh
#!/bin/bash
day=$(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}/kgc.com-access.log-$day #移动重命名
kill -USR1 $(cat $pid_path)
find $logs_path -mtime +30 -exec rm -rf {} \;
#或者 find $logs_path -mtime +30 | xargs rm -rf
保存并退出,给脚本文件赋权
chmod +x /opt/fenge.sh
/opt/fenge.sh
创建周期性计划任务,于天凌晨1点进行
crontab -e
0 1 * * * /opt/rzfg.sh
设置连接超时可以避免资源浪费、提高服务器稳定性、防止恶意攻击
也在主配置文件中
vim /usr/local/nginx/conf/nginx.conf
http {
……
keepalive_timeout 65 180; #三次握手的超时时间
client_header_timeout 80; #等待客户端发送请求头的超时时间
client_body_timeout 80; #设置客户端发送请求体的超时时间
……
}
重启 nginx 服务
通过更改进程数可以提高并发能力、优化资源利用、平衡负载
根据自己的服务器cpu核数来看
如果不知道自己的cpu有机核可以
cat /proc/cpuinfo | grep -c "physocal id" #会直接显示cpu的核数
然后我们继续修改主配置文件
vim /usr/local/nginx/conf/nginx.conf
worker_processes 2; #修改为核数相同或者2倍
worker_cpu_affinity 01 10; #设置每个进程由不同cpu处理,进程数配为4时0001 0010 0100 1000
重启 nginx 服务
网页压缩主要用于减少传输数据的大小,从而提高网页加载速度和节省带宽。通过压缩网页内容(如HTML、CSS、JavaScript等),可以显著减少客户端和服务器之间的数据传输量,进而提升用户体验和网站性能。
主配置文件
vim /usr/local/nginx/conf/nginx.conf
http {
……
gzip on; #取消注释,开启gzip压缩功能
gzip_min_length 1k; #最小压缩文件大小
gzip_buffers 4 64k; #压缩缓冲区,大小为4个64k缓冲区
gzip_http_version 1.1; #压缩版本
gzip_comp_level 6; #压缩比率 1 压缩到最大,速度快,9压缩到最小,速度慢
……
}
重启 nginx 服务
防盗链主要用于防止其他网站直接链接到你的服务器上的资源(如图片、视频等),从而减少不必要的带宽消耗和服务器负载。通过配置Nginx的防盗链功能,你可以控制哪些网站可以访问你的资源,哪些网站被禁止访问。
主配置文件
vim /usr/local/nginx/conf/nginx.conf
http {
……
server {
……
location ~* \.(jpg|gif|swf)${
valid_referers none blocked *.123.com 123.com;
if ( $invalid_referer ){
rewrite ^/ http://www.123.com/error.png;
return 403;
}
}
……
}
……
}