Nginx网页优化(二)
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Nginx网页优化(二)更改Nginx运行进程数在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞可以使用ps aux命令查看Nginx运行进程的个数更改进程数的
千家信息网最后更新 2025年02月01日Nginx网页优化(二)
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实现网页压缩功能
Nginx
的ngx_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安全错误
数据库的锁怎样保障安全
黑科技与互联网
服务器重启后中心服务器连接失败
联想服务器配置管理ip地址
服务器打不开怎样办
数据库是不是网络技术
银川软件开发公司好不好
vb 数据库查询显示在表内
数据库应用技术基础答案
app软件开发 小程序开发
网络安全教育主题班会详案
崩坏学园2华为服务器
河南物流运输软件开发电话
国内管理软件开发商
网络安全物理安全有什么特点
陀螺世界怎么才能更换服务器
odoo数据库不兼容
哪个软件开发方面最好
手机app软件开发公司有
数据分析要懂数据库
公交网络安全法
相对突出的软件开发人员
发声亮剑发言稿网络安全
学习网络技术看那些书
厦门dns服务器地址
南电智控 网络安全
医学类科学引文数据库
达梦数据库主机模式切换普通模式
开快手显示无法访问服务器
云舒网络技术
河北人的网络安全