详述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实现网页压缩功能
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安全错误
数据库的锁怎样保障安全
数据库安全性控制实验结论
冬奥会网络安全股
银行管理系统项目数据库设计
软件开发过程和软件测试关系
江西立体化软件开发怎么样
博通计算机软件开发公司
山东中星互联网科技有限公司
数据库功能模块有什么划分
bt网络安全
网络安全相关案例的心得体会
计算机网络技术的三要素
重庆实用erp软件开发
怎么看数据库字段含义
山东警察学院网络安全专业提前批
浅谈网络安全与管理制度
无锡软件开发定制服务
德州便民平台软件开发哪儿好
excel怎么和数据库使用
网络技术人员就业率
郴州口碑好的软件开发公司
安装数据库的服务器配置怎么选
莆田公司app软件开发费用
怎么在gis数据库中建表格
全球互联网科技有什么
运营商的网络服务器层级关系
面向对象的空间数据库是什么
江西智能化网络技术报价
软件开发红石船长
旺旺集团软件开发的多吗
如何修改佳明同步数据的服务器