• Nginx配置优化


    配置Nginx隐藏版本号:[修改源码包(在安装前);第二种:修改配置文件]

    curl -I http://192.168.100.171  //显示nginx头部信息

    【查看版本号】打开浏览器,按F12出现一个开发工具,在开发工具里有一个network ,找到访问连接后点击head即可查看版本

    【卸载nginx:】

    killall -9 nginx  //杀死进程

    rm -rf /usr/local/nginx  //清理安装

    cd /usr/src/nginx-1.14.2/  //进入解压路径下

    make clean  //清理编译内容(在解压路径下操作)

    rm -rf /usr/src/nginx-1.14.2/   //删除解压路径

    【修改源码包】

    tar xf nginx-1.14.2.tar.gz -C /usr/src/  //解压源码包

    cd /usr/src/nginx-1.14.2/  //进入解压路径下

    vim src/core/nginx.h  //修改文档

     

    改文件中1.14.2nginx

    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module && make && make install   //重新安装

    curl -I http://192.168.100.171  //显示nginx头部信息

    systemctl stop firewalld

    iptables -F

    setenforce 0  //关闭防火墙

    【修改配置文件】

    curl -I http://192.168.100.171  //查看当前nginx头部信息

    vim /usr/local/nginx/conf/nginx.conf  //修改配置文件

    ln -s /usr/local/nginx/conf/nginx.conf /etc/nginx.conf  //做软连接】

     vim /etc/nginx.conf  //修改配置文件

    //在文件里加入server_tokens off;

    nginx -t  //检测语法是否有问题

     

    killall -HUP nginx  //重新加载配置

    curl -I http://192.168.100.171  //查看当前nginx头部信息,此时版本信息已经隐藏

     修改nginx用户和组:

    vim /etc/nginx.conf  //在配置文件里修改用户和组

     

    nginx -t  //检查配置文件语法是否有误

    killall -HUP nginx  //重启服务

    ps uax | grep nginx  //过滤查看nginx工作

     配置nginx网页缓存时间:

     vim /etc/nginx.conf   //编辑主配置文件

     

     cd /usr/local/nginx/html/  //进入路径下,将图片放入此路径下

    vim index.html   //修改文件

    //3.jpg为图片名称

    killall -HUP nginx  //重启服务

    //测试结果

    实现nginx的日志切割:

    ll /usr/local/nginx/logs/access.log   //查看一下日志位置

    tail -f /usr/local/nginx/logs/access.log   //查看日志

    vim /opt/cut_nginx_log.sh  //opt下编写一个脚本

    【脚本内容】

    #!/bin/bash

    #cut_nginx_log.sh

    datetime  //时间=$(date -d "-1 day" "+%Y%m%d")

    log_path  //日志存放位置="/usr/local/nginx/logs"

    pid_path  //pid文件(保存进程号)="/usr/local/nginx/logs/nginx.pid"

    [ -d $log_path/backup ] || mkdir -p $log_path/backup

    if [ -f $pid_path ]

    then

            mv $log_path/access.log $log_path/backup/access.log-$datetime

            kill -USR1 $(cat $pid_path)

            find $log_path/backup -mtime +30 | xargs rm -f  //只保留30内的日志文件

    else

            echo "Error,Nginx is not working!" | tee -a /var/log/messages

    fi

    ~           

    date "+%Y%m%d"  //显示当天日期

    date -d "-1 day" "+%Y%m%d"  //显示前一天日期

    date -d "+1 day" "+%Y%m%d"  //显示后一天日期

    】   

    chmod +x /opt/cut_nginx_log.sh  //给脚本加执行权限

    /opt/cut_nginx_log.sh   //执行脚本

    ls /usr/local/nginx/logs/  //查看文件backup是否存在

     ls /usr/local/nginx/logs/backup/  //查看backup文件

    cat /usr/local/nginx/logs/access.log  //查看新生成的的文件access.log

     tail -f /usr/local/nginx/logs/access.log   //监控新的日志文件access.log

     //使用一次浏览器变生成一次新的日志内容

    killall -9 nginx  //杀死nginx进程

    /opt/cut_nginx_log.sh   //杀死进程后再次执行脚本

    //没有把nginx.pid删掉所以会报错

    rm -rf /usr/local/nginx/logs/nginx.pid   //nginx.pid删掉后重新执行脚本,便会显示nginx没有工作

     

    tail /var/log/messages  //nginx没有工作的信息会保存到messages里面

     

      crontab -e  //设置一个周期性的计划任务

    //每天凌晨执行脚本对日志进行切割

    配置nginx连接超时:

     vim /etc/nginx.conf  //修改文件

    keepalive_timeout  65; //保持连接的时间,主机与客户端传输请求保留时间(避免过多占用服务器资源)

     client_header_timeout 30; //设置客户端等待请求头的时间

    client_body_timeout 30;  //设置等待客户端的主体时间】

     nginx -t   //查看语句是否有问题

    killall -HUP nginx  //重启服务

     更改nginx运行教程:

      vim /etc/nginx.conf  //修改配置文件

    //改为4096

    //添加worker_cpu_affinity  0001 00100 cpu核心分配,注意核心数与进程匹配)

    nginx -t  //检查文本语句是否正确

    killall -HUP nginx  //重启服务

    配置nginx实现网页压缩功能:

    nginx -v  //查看版本号

    nginx -V  //查看configure后的配置项

    //--with-http_gzip_static_module 支持nginx的压缩模块,对文件进行压缩以节约网站带宽,提升用户的访问体验,模块默认已经安装

    vim /etc/nginx.conf   //修改配置文件

     gzip  on; //开启gzip压缩输出

    gzip_min_length 1k;   //用于设置允许压缩的页面最小字节数

    gzip_buffers 4 16k; //表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来储存gzip压缩结果

    gzip_http_version 1.1;  //设置识别http协议版本,默认是1.1

    gzip_comp_level 2;  //gzip压缩比,1-9等级

    gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss;  //压缩类型,是就对哪些网页文档启用压缩功能】

    nginx -t  //检查语法是否有误

    killall -HUP nginx  //重启服务

    //测试结果

    配置nginx实现防盗链功能:

    【防盗链】

    vim /etc/nginx.conf   //修改主配置文件

    location ~* .(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv)$ {

                valid_referers none blocked *.source.com source.com;  //设置信任网站

                if ($invalid_referer) {

                    rewrite ^/ http://www.source.com/error.txt;  //把访问转到这里

                    #return 403;

                }

            }

     vim /usr/local/nginx/html/error.txt  //编辑一份txt文件(文件内容:<h1>盗链不要脸</h1>

    killall -HUP nginx  //重启文件,重新测试按F12会出现error.txt内容

    nginx为目录添加访问控制

     vim /etc/nginx.conf   //修改主配置文件

    location /dmin {

                    stub_status on;

                    access_log off;

    }

     nginx -t  //查看语法是否错误

    killall -HUP nginx  //重启服务

    yum -y install httpd-tools  //安装

     //查看htpasswd和由谁生成

    htpasswd -c /usr/local/nginx/.htpasswd crushlinux  //创建保存密码和用户的文件(-c只可以用一次,否则只会有一个用户和密码)

    cat /usr/local/nginx/.htpasswd   //查看

     

    第二次使用带有-c的命令则会只有新创建的用户和密码

    vim /usr/local/nginx/conf/nginx.conf  //编辑文件

     【内容】

    location ~ /status {

                stub_status on;

                access_log off;

                auth_basic "Nginx Status";  //basic是一种认证,”认证名字”

                auth_basic_user_file /usr/local/nginx/.htpasswd;  //指定认证的文件名

    [deny 192.168.100.0/24;   //添加后面则不允许100网段的进行访问]

                }

    nginx -t  //检查语法

    killall -HUP nginx  //重启服务

    //测试

     nginx自定义错误页面:

    cd /usr/local/nginx/html/  //进入html路径下

    将准备好的错误页面图片传入

    自定义错误页面的模板命令

    vim 40x.html  //配置40x.html文件【文件内容:<img src ="123.jpg"/>

    killall -HUP nginx  //重启服务

    自动索引(自动下载站):

    cd /usr/local/nginx/html/  //进入html路径下

    mkdir mirrors  //创建一个文件夹

    cd mirrors  //进入路径下

    mkdir 1

    cd 1

    touch Cent0s7.9.iso

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

    【内容】 location /mirrors {

                    autoindex on;

            }

     

    killall -HUP nginx

    //测试结果

    Nginx平滑升级版本:(升级版本时,线上业务不可以停,确保网站可以正常访问并且对网站进行升级)

     wget http://nginx.org/download/nginx-1.16.1.tar.gz  //下载文件

    nginx -V  //获取配置项

    【编译新版本nginx源码包,安装路径需要与旧版本一致,注意不执行make install

    tar xf nginx-1.16.1.tar.gz -C /usr/src/  //解压

    cd /usr/src/nginx-1.16.1/  //进入到解压路径下

    ./configure 旧版本配置项+ && make

     

    mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old  //备份2进制文件,起名为nginx.old

    cp objs/nginx /usr/local/nginx/sbin/  //nginx复制到sbin

    cd

    nginx -t  // 用新程序加载旧的配置文件查看是否有问题

    ps aux | grep nginx

     kill -USR2 5976   //发送USR2信号

    kill -WINCH  5976  //发送WINCH信号,使其旧版本逐渐关闭

    【kill -HUP  5976  //旧进程会重新打开】

    Kill -QUIT 5976  //使其旧的进程退出

  • 相关阅读:
    LeetCode第[84]题(Java):Largest Rectangle in Histogram(最大的矩形柱状图)
    LeetCode第[79]题(Java):Word Search(矩阵单词搜索)
    LeetCode第[78]题(Java):Subsets(求子集)扩展——第[90]题:Subsets 2
    关于SpringMVC中两种映射器不能共存的解决
    LeetCode第[73]题(Java):Set Matrix Zeroes(矩阵置0)
    php分页的实现
    PHP编码规范
    PHP常用函数
    PHP配置文件详解php.ini
    面向对象编程——parent—this
  • 原文地址:https://www.cnblogs.com/XXXX001/p/11515161.html
Copyright © 2020-2023  润新知