温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nginx网页优化(二)

发布时间:2020-07-26 23:53:24 来源:网络 阅读:91209 作者:友引町 栏目:系统运维

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/nginx nginx 5279 0.0 0.0 23076 1396 ? S 15:17 0:00 nginx: worker process root 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 : GenuineIntel cpu family : 6 ...//省略部分内容... //第一个cpu信息 clflush size : 64 cache_alignment : 64 address sizes : 43 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 ...//省略部分内容... clflush size : 64 //第二个cpu信息 cache_alignment : 64 address sizes : 43 bits physical, 48 bits virtual power 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/nginx nginx 1814 0.0 0.0 23076 1400 ? S 15:32 0:00 nginx: worker process nginx 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网页优化(二)

配置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]# ls apr-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.gz apr-util-1.6.0.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt nginx-1.12.0.tar.gz awstats-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, langpacks Loading 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.1 www IN A 192.168.144.133 //设置解析地址 :wq [root@localhost named]# systemctl start named //启动DNS服务
  • 打开一台win10 客户机与一台win 7客户,在win 7客户机中安装web服务,建立盗链网站,并在客户机中测试访问网站

Nginx网页优化(二)Nginx网页优化(二)Nginx网页优化(二)Nginx网页优化(二)Nginx网页优化(二)Nginx网页优化(二)

Nginx网页优化(二)Nginx网页优化(二)Nginx网页优化(二)Nginx网页优化(二)

[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客户机中测试防盗链功能是否开启

Nginx网页优化(二)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI