千家信息网

详述Linux系统中配置Nginx网页优化(二)

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,更改Nginx运行进程数在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞可以使用ps aux命令查看Nginx运行进程的个数更改进程数的配置方法修改配置文件,修
千家信息网最后更新 2025年01月23日详述Linux系统中配置Nginx网页优化(二)

更改Nginx运行进程数

  • 在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞
  • 可以使用ps aux命令查看Nginx运行进程的个数
  • 更改进程数的配置方法

    • 修改配置文件,修改进程配置参数
  • 修改配置文件的worker_ processes参数

    • 一般设为CPU的个数或者核数
    • 在高并发情况下可设置为CPU个数或者核数的2倍
  • 运行进程数多-些,响应访问请求时,Nginx就不会临时启动新的进程提供服务,减少了系统的开销,提升了服务速度
  • 使用ps aux查看运行进程数的变化情况

  • 默认情况,Nginx的多个进程可能跑在一个CPU上, 可以分配不同的进程给不同的CPU处理,充分利用硬件多核多CPU
  • 在一台4核物理服务器,可进行以下配置,将进程进行分配
    • Worker_ cpu_affinity 0001 0010 0100 1000

配置实例

[root@localhost conf]# ps aux | grep nginx      //查看进程数root       5278  0.0  0.0  20548   612 ?        Ss   15:17   0:00 nginx: master process /usr/local/nginx/sbin/nginxnginx      5279  0.0  0.0  23076  1396 ?        S    15:17   0:00 nginx: worker processroot       5295  0.0  0.0 112728   972 pts/0    S+   15:18   0:00 grep --color=auto nginx[root@localhost ~]# cd /proc/     //进入设备目录[root@localhost proc]# cat cpuinfo       //查看cpu信息processor   : 0 vendor_id   : GenuineIntelcpu family  : 6...//省略部分内容...                               //第一个cpu信息clflush size    : 64cache_alignment : 64address sizes   : 43 bits physical, 48 bits virtualpower management:processor   : 1vendor_id   : GenuineIntelcpu family  : 6...//省略部分内容...clflush size    : 64                 //第二个cpu信息cache_alignment : 64address sizes   : 43 bits physical, 48 bits virtualpower management:[root@localhost proc]# vim /usr/local/nginx/conf/nginx.conf    //进入编辑nginx配置文件#user  nobody;worker_processes  2;             //增加cpu个数worker_cpu_affinity 01 10;       //设置平均分配访问请求#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}...//省略部分内容...:wq[root@localhost proc]# systemctl restart nginx.service      //重启服务[root@localhost proc]# ps aux | grep nginx       //查看进程数root       1813  0.0  0.0  20548   616 ?        Ss   15:32   0:00 nginx: master process /usr/local/nginx/sbin/nginxnginx      1814  0.0  0.0  23076  1400 ?        S    15:32   0:00 nginx: worker processnginx      1815  0.0  0.0  23076  1400 ?        S    15:32   0:00 nginx: worker process//增加进程数root       1823  0.0  0.0 112728   972 pts/0    S+   15:32   0:00 grep --color=auto nginx

配置Nginx实现网页压缩功能

  • Nginxngx_http_gzip_module压缩模块提供对文件内容压缩的功能
  • 允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装
  • 可在配置文件中加入相应的压缩功能参数对压缩性能进行优化

压缩功能参数讲解

  • gzip on:开启gzip压缩输出
  • gzip_min_length 1k:用于设置允许压缩的页面最小字节数
  • gzip_buffers 4 16k:表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果
  • zip_http_version 1.0:用于设置识别http协议版本,默认是1.1,目前大部分浏览器已经支持gzip解压,但处理最慢,也比较消耗服务器CPU资源
  • gzip_comp_level 2:用来指定gzip压缩比,1压缩比最小,处理速度最快; 9压缩比最大,传输速度快,但处理速度最慢,使用默认即可
  • gzip_types text/plain:压缩类型,是就对哪些网页文档启用压缩功能
  • gzip_vary on:选项可以让前端的缓存服务器缓存经过gzip压缩的页面

将以上的压缩功能参数加入到主配置文件httpd配置中段

配置实例

[root@localhost proc]# cd /usr/local/nginx/conf/       //进入配置文件目录[root@localhost conf]# vim nginx.conf                 //编辑配置文件...//省略部分内容...    #keepalive_timeout  0;    keepalive_timeout  65 180;    client_header_timeout 80;    client_body_timeout 80;    gzip  on;                               //开启压缩功能    gzip_min_length 1k;                     //编辑压缩功能条目    gzip_buffers 4 16k;    gzip_http_version 1.1;    gzip_comp_level 6;    gzip_types text/plain application/x-javascript text/css image/jpg image/jpeg image/png image/gif application/xml text/javascript application/x-httpd-php application/javascript application/json;    gzip_disable "MSIE [1-6]\.";    gzip_vary on;    server {        listen       80;        server_name  localhost;...//省略部分内容...:wq[root@localhost conf]# systemctl restart nginx.service     //重启服务
  • 在客户机中访问网页,并使用抓包工具查看是否开启压缩功能

配置Nginx实现防盗链

  • 在企业网站服务中,- -般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失
  • Nginx防盗链功能也非常强大。默认情况下,只需要进行简单的配置,即可实现防盗链处理

配置实例

[root@localhost ~]# mount.cifs //192.168.100.10/lamp-c7 /mnt/  //将准备的防盗链图片目录挂载到Linux系统Password for root@//192.168.100.10/lamp-c7: root@localhost mnt]# cd /mnt/        //进入挂载目录[root@localhost mnt]# lsapr-1.6.2.tar.gz       cronolog-1.6.2-14.el7.x86_64.rpm  httpd-2.4.29.tar.bz2  mysql-5.6.26.tar.gzapr-util-1.6.0.tar.gz  Discuz_X2.5_SC_UTF8.zip           LAMP-php5.6.txt       nginx-1.12.0.tar.gzawstats-7.6.tar.gz     error.png                         miao.jpg              php-5.6.11.tar.bz2[root@localhost mnt]# cp error.png /usr/local/nginx/html/      //将防盗链图片复制到nginx站点目录[root@localhost mnt]# cd /usr/local/nginx/html/          //进入站点目录[root@localhost html]# ls                      //查看50x.html  error.png  index.html  miao.jpg      //图片成功复制[root@localhost html]# yum install bind -y     //安装DNS功能已加载插件:fastestmirror, langpacksLoading mirror speeds from cached hostfile...//省略部分内容...已安装:  bind.x86_64 32:9.11.4-9.P2.el7                                                                 作为依赖被安装:  bind-export-libs.x86_64 32:9.11.4-9.P2.el7                                                     作为依赖被升级:  bind-libs.x86_64 32:9.11.4-9.P2.el7                  bind-libs-lite.x86_64 32:9.11.4-9.P2.el7     bind-license.noarch 32:9.11.4-9.P2.el7               bind-utils.x86_64 32:9.11.4-9.P2.el7        dhclient.x86_64 12:4.2.5-77.el7.centos               dhcp-common.x86_64 12:4.2.5-77.el7.centos   dhcp-libs.x86_64 12:4.2.5-77.el7.centos             完毕![root@localhost html]# vim /etc/named.conf      //编辑DNS主配置文件...//省略部分内容...options {        listen-on port 53 { any; };        listen-on-v6 port 53 { ::1; };        directory       "/var/named";        dump-file       "/var/named/data/cache_dump.db";        statistics-file "/var/named/data/named_stats.txt";        memstatistics-file "/var/named/data/named_mem_stats.txt";        recursing-file  "/var/named/data/named.recursing";        secroots-file   "/var/named/data/named.secroots";        allow-query     { any; };...//省略部分内容...:wq[root@localhost html]# vim /etc/named.rfc1912.zones     //编辑DNS区域配置文件...//省略部分内容...zone "kgc.com" IN {        type master;        file "kgc.com.zone";        allow-update { none; };};...//省略部分内容...:wq[root@localhost named]# cp -p named.localhost kgc.com.zone    //复制DNS区域数据文件,并更改文件名[root@localhost named]# vim kgc.com.zone        //编辑DNS区域数据配置文件$TTL 1D@       IN SOA  @ rname.invalid. (                                        0       ; serial                                        1D      ; refresh                                        1H      ; retry                                        1W      ; expire                                        3H )    ; minimum        NS      @        A       127.0.0.1www IN  A       192.168.144.133            //设置解析地址:wq[root@localhost named]# systemctl start named      //启动DNS服务
  • 打开一台win10 客户机与一台win 7客户,在win 7客户机中安装web服务,建立盗链网站,并在客户机中测试访问网站

[root@localhost html]# cd ../conf/             //进入nginx配置文件目录[root@localhost conf]# vim nginx.conf         //编辑配置文件...//省略部分内容...# redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }        location ~*\.(jpg|gif|swf)$ {         //在server模块下添加防盗链条目             valid_referers none blocked *.kgc.com kgc.com;             if ( $invalid_referer ) {                 rewrite ^/ http://www.kgc.com/error.png;            }        }...//省略部分内容...:wq[root@localhost conf]# systemctl restart nginx.service
  • 在win 10客户机中测试防盗链功能是否开启

配置 内容 文件 进程 功能 部分 服务 防盗 客户 目录 处理 参数 客户机 网站 个数 情况 服务器 速度 运行 网页 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库安全性控制实验结论 冬奥会网络安全股 银行管理系统项目数据库设计 软件开发过程和软件测试关系 江西立体化软件开发怎么样 博通计算机软件开发公司 山东中星互联网科技有限公司 数据库功能模块有什么划分 bt网络安全 网络安全相关案例的心得体会 计算机网络技术的三要素 重庆实用erp软件开发 怎么看数据库字段含义 山东警察学院网络安全专业提前批 浅谈网络安全与管理制度 无锡软件开发定制服务 德州便民平台软件开发哪儿好 excel怎么和数据库使用 网络技术人员就业率 郴州口碑好的软件开发公司 安装数据库的服务器配置怎么选 莆田公司app软件开发费用 怎么在gis数据库中建表格 全球互联网科技有什么 运营商的网络服务器层级关系 面向对象的空间数据库是什么 江西智能化网络技术报价 软件开发红石船长 旺旺集团软件开发的多吗 如何修改佳明同步数据的服务器
0