针对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"
相关文章
|
5天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
15天前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
|
16天前
|
缓存 前端开发 JavaScript
|
3天前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
|
28天前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
43 4
|
5天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
38 0
|
1月前
|
存储 缓存 监控
优化服务器管理
优化服务器管理
31 11
|
6天前
|
弹性计算 数据安全/隐私保护 Windows
阿里云国际版无法远程连接Windows服务器的排查方法
阿里云国际版无法远程连接Windows服务器的排查方法
|
7天前
|
缓存 监控 负载均衡
nginx相关配置及高并发优化
Nginx的高并发优化是一个综合性的过程,需要根据具体的业务场景和硬件资源量身定制。以上配置只是基础,实际应用中还需根据服务器监控数据进行持续调整和优化。例如,利用工具如ab(Apache Benchmarks)进行压力测试,监控CPU、内存、网络和磁盘I/O等资源使用情况,确保配置的有效性和服务的稳定性。
51 0
|
1月前
|
存储 缓存 前端开发
优化 SSR 应用以减少服务器压力
优化 SSR 应用以减少服务器压力