每日分享:
不要为小事遮住视线,我们还有更大的世界。
一、隐藏版本号
1、查看版本号
方法 一
Centos中可以使用命令 curl -I http://自己ip来显示响应报文首部信息,-I是大写的i
方法二
nginx -V
2、修改版本信息
方法一、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
##20行添加
server_tokens off;
##重启nginx服务
systemctl restart nginx
curl -I http://20.0.0.12
方法二、修改源码文件,重新编译安装
vim /opt/nginx-1.12.0/src/core/nginx.h
#define NGINX_VERSION "1.20.2"
#define NGINX_VER "apache" NGINX_VERSION
##重新编译安装
cd /opt/nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make -j 4 && make install
##将版本号打开
vim /usr/local/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
server_tokens on; ##off改为on
##重启服务
systemctl restart nginx
curl -I http://20.0.0.12
二、修改用户与组
方法一
##编译安装时,指定运行用户和组
--prefix=/usr/local/nginx \
--user=nginx \ ##指定用户名
--group=nginx \ ##指定组名
--with-http_stub_status_module
方法二、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
user nginx nginx;
worker_processes 4;
##修改完保存退出
systemctl restart nginx
ps aux | grep nginx
三、修改缓存时间
当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度。
一般针对静态网页设置,对动态网页不设置缓存时间。
vim /usr/local/nginx/conf/nginx.conf
##添加下面4行内容
location ~* \.(jpg|png|gif|mp4)$ {
root html;
expires 1d;
}
##添加图片
cd /usr/local/nginx/html/
vim index.html
四、日志切割
vim logs.sh
#!/bin/bash
#desc: this is used for split nginx logs
#获取前一天的日期
DAY=$(date -d "-1day" +%Y%m%d)
#定义日志存放 目录的路径
LOG_PATH="/var/log/nginx"
#定义Nginx PID文件的路径
PID_PATH="/usr/local/nginx/logs/nginx.pid"
#判断日志存放目录是否存在,如果不存在则创建目录
[ -d $LOG_PATH ] || mkdir -p $LOG_PATH
#移动并重命名文件
mv /usr/local/nginx/logs/access.log $LOG_PATH/nginx_access.log-$DAY
#在nginx目录下重建新的日志
kill -USR1 $(cat $PID_PATH)
#删除30天之前 的日志文件
find $LOG_PATH -mtime +30 -exec rm -f {} \;
chmod +x logs.sh
crontab -e
00 00 * * * /root/log.sh
crontab -l
./logs.sh
cd /var/log
ls nginx
五、设置连接超时
HTTP有一个KeepAlive模式,它告诉web服务器在处理完一个请求后保持这个TCP连接的打开状态。若接收到来自同一客户端的其它请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。
KeepAlive在一段时间内保持打开状态,它们会在这段时间内占用资源。占用过多就会影响性能。
vim /usr/local/nginx/conf/nginx.conf
keepalive_timeout 60 180;
client_header_timeout 80;
client_body_timeout 80;
##重启nginx服务
systemctl restart nginx.service
##浏览器输入
http://自己ip
六、更改工作进程数
##查看CPU核数
cat /proc/cpuinfo | grep -c "physical id"
##修改工作进程数
vim /usr/local/nginx/conf/nginx.conf
##添加下面两行
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
##查看语法是否正确
nginx -t
systemctl restart nginx
ps aux | grep nginx
七、配置网页压缩
- Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能。
- 允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装。
- 可在配置文件中加入相应的压缩功能参数对压缩性能进行优化。
vim /usr/local/nginx/conf/nginx.conf
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
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;
##查看语法是否有错,然后重启nginx
nginx -t
systemctl restart nginx
八、配置防盗链
再开一台虚拟机,当做盗链主机,ip地址:20.0.0.7
##关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
##安装Apache
yum -y install httpd
##启动服务
systemctl start httpd
cd /var/www/html
vim index.html
<html>
<body>
<h1>你是什么小饼干/h1>
<img src="sao.jpg"/>
</body>
</html>
##回到第一台源主机,IP地址为:20.0.0.12
cd /usr/local/nginx/html/
##把图片拖进去
vim index.html
##回到盗链主机
vim /etc/hosts
20.0.0.12 www.run.com
20.0.0.7 www.he.com
##浏览器访问
http://www.run.com
http://www.he.com
##回到源主机,设置防盗链
vim /usr/local/nginx/conf/nginx.conf
##修改并添加下面4行内容
location ~* \.(jpg|gif|mp4)$ {
valid_referers none blocked *.run.com run.com;
if ( $invalid_referer ) {
rewrite ^/ http://www.run.com/error.png;
}