针对nginx的一系列优化方法及nginx服务器状态的查看

简介:

优化 nginx 的并发:
1.修改 nginx 配置文件

[root@proxy nginx]# vim conf/nginx.conf
  worker_processes 1; #线程数,最大匹配 CPU 核心数,通常设 置为 auto 
  worker_rlimit_nofile 16384; #设置文件描述符,默认 1024 
  events { 
    use epoll; #使用 epoll 模式 
    worker_connections 1024;} #每线程并发量,最大设置 65535,匹配 最大端口号

2.修改 linux 内核参数

[root@proxy ~]# ulimit -a #查看所有属性值 
[root@proxy ~]# ulimit -Hn 100000 #设置硬限制,非 root 用户允许修改的软 限制上限 
[root@proxy ~]# ulimit -Sn 100000 #设置软限制,非 root 用户可以自行修改

优化 nginx 数据包头缓存

[root@proxy nginx]# vim conf/nginx.conf
http{ 
client_header_buffer_size 1k; #默认请求包头信息的缓存 
large_client_header_buffers 4 4k; #大请求包头信息的缓存个数,每个 缓存的容量 
...
}

定义静态页面的缓存时间

[root@proxy nginx]# vim conf/nginx.conf 
server { 
...
location ~* \.(jpg|jpeg|gif|png|ico|xml)$ { #定义需要缓存的文件格式 
expires 30d; #定义缓存天数 
}
...}

对网页进行压缩

[root@proxy nginx]# vim conf/nginx.conf 
http{ 
...
gzip on; #开启压缩
gzip_min_length 1000; #小文件不压缩,单位 kb 
gzip_comp_level 4; #压缩比率,数字越大,压缩效果越好,处理 器压力越大 
gzip_types text/plain text/css; #需要压缩的文件类型,扩展名对应类型可通 过 conf/mime.types 查询 
...}

自定义报错页面

[root@proxy nginx]# vim conf/nginx.conf 
http{ 
...
  error_page 403 404 414 /404.html; #将模板注释去除即可 
...}

nginx 动静分离
将静态页面与动态页面、图片资源、声音视频资源放在不同的服务器上

常见的 http 状态码:
200 一切正常
301 永久重定向
302 临时重定向
304 缓存重定向
400 请求语法错误
401 用户名或密码错误
403 禁止访问,IP 被拒绝
404 文件不存在
414 请求 URL 头部过长
500 服务器内部错误
502 网关或代理服务器返回了非法的路由

查看服务器状态

--with-http_stub_status_module 模块

1.安装模块
2.

[root@proxy nginx]# vim conf/nginx.conf
location /status{ 
stub_status on; #开启模块 
allow 192.168.4.100; #白名单
deny all;}

3.

[root@client ~]# curl 192.168.4.5/status 
Active connections: 1 
server accepts handled requests 
1 1 1
Reading: 0 Writing: 1 Waiting: 0

参数含义
Active connections:当前活动的连接数量。
Accepts:已经接受客户端的连接总数量。
Handled:已经处理客户端的连接总数量(一般与 accepts 一致,除非服务器限制 了连接数量)。
Requests:客户端发送的请求数量。
Reading:当前服务器正在读取客户端请求头的数量。
Writing:当前服务器正在写响应信息的数量。
Waiting:当前多少客户端在等待服务器的响应。

PHP 的 Session 信息
Session:存储在服务器端,保存用户名、密码等信息。
Cookies:由服务端下发给客户端,内容包括:SessionID、帐号名、过期时间、路径、域。
默认存放路径: /var/lib/php/session/
修改配置文件,将所有后端服务器的 Session 统一放在数据库服务器上

[root@web1 ~]# vim /etc/php-fpm.d/www.conf
php_value[session.save_handler] = memcache
php_value[session.save_path] = "tcp://192.168.2.5:11211"
相关文章
|
21天前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
273 3
|
29天前
|
数据采集 缓存 Java
代理服务器调试技巧:优化Kotlin网络爬虫的数据抓取过程
代理服务器调试技巧:优化Kotlin网络爬虫的数据抓取过程
|
1月前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
1天前
|
监控 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(2)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
13 1
|
1天前
|
负载均衡 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(1)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
17 1
|
3天前
|
运维 监控 API
自动化运维实践指南:Python脚本优化服务器管理任务
本文探讨了Python在自动化运维中的应用,介绍了使用Python脚本优化服务器管理的四个关键步骤:1) 安装必备库如paramiko、psutil和requests;2) 使用paramiko进行远程命令执行;3) 利用psutil监控系统资源;4) 结合requests自动化软件部署。这些示例展示了Python如何提升运维效率和系统稳定性。
24 8
|
12天前
|
NoSQL 关系型数据库 应用服务中间件
jdk1.8、mysql、redis、nginx centos云服务器安装配置
jdk1.8、mysql、redis、nginx centos云服务器安装配置
|
25天前
|
存储 弹性计算 人工智能
【阿里云弹性计算】AI 训练与推理在阿里云 ECS 上的高效部署与优化
【5月更文挑战第25天】阿里云ECS为AI训练和推理提供弹性、可扩展的计算资源,确保高性能和稳定性。通过灵活配置实例类型、利用存储服务管理数据,以及优化模型和代码,用户能实现高效部署和优化。自动伸缩、任务调度和成本控制等策略进一步提升效率。随着AI技术发展,阿里云ECS将持续助力科研和企业创新,驱动人工智能新时代。
60 0
|
29天前
|
存储 弹性计算 监控
【阿里云弹性计算】成本优化实战:利用阿里云 ECS 抢占式实例节省云支出
【5月更文挑战第21天】阿里云ECS的抢占式实例提供了一种成本优化策略,适合对中断容忍度较高的业务。通过创建和管理抢占式实例,结合API查询价格信息,企业能节省大量成本。使用时注意业务容错性,设置监控系统应对中断,结合其他成本优化措施,如存储类型选择和网络配置优化。确保业务可恢复性,关注阿里云政策,并根据业务变化调整策略,以实现成本与效益的最佳平衡。
66 3
|
1月前
|
应用服务中间件 网络安全 Apache
构建高性能Web服务器:Nginx vs Apache
【5月更文挑战第16天】Nginx与Apache是两种主流Web服务器,各具优势。Nginx以其轻量级、高并发处理能力和反向代理功能见长,适合大型网站和高并发场景;而Apache以功能丰富、稳定性强闻名,适合企业网站和需要多种Web服务功能的场景。在性能上,Nginx处理高并发更优,Apache则可能在高负载时遭遇瓶颈。在选择时,应根据实际需求权衡。