網站首頁 編程語言 正文
本文實例為大家分享了Nginx最大連接數配置的具體代碼,供大家參考,具體內容如下
配置Nginx最大工作進程數##
worker_processes:最大工作進程數
work_connections:每個工作進程可以允許同時建立的外部連接數量。
修改最大可打開文件數
更改操作系統"進程最大可打開文件數"的設置
首先需要操作系統的root權限,然后需要limits.conf主配置文件:
[root@localhost /]# vim /etc/security/limits.conf
在文件中加入下面語句
* soft nofile 65535
* hard nofile 65535
注意:* 要加到文件里面,以上在limits.conf文件中添加的兩句話的含義是
soft(應用軟件)級別限制的最大可打開文件數的限制
hard表示操作系統級別限制的最大可打開文件數的限制,
*表示所有用戶都生效。
保存文件后不會馬上生效。需要使用以下命令
ulimit -n 65535
使用ulimit -a 進行查看
[root@localhost /]# ulimit -a
core file size ? ? ? ? ?(blocks, -c) 0
data seg size ? ? ? ? ? (kbytes, -d) unlimited
scheduling priority ? ? ? ? ? ? (-e) 0
file size ? ? ? ? ? ? ? (blocks, -f) unlimited
pending signals ? ? ? ? ? ? ? ? (-i) 14989
max locked memory ? ? ? (kbytes, -l) 64
max memory size ? ? ? ? (kbytes, -m) unlimited
open files ? ? ? ? ? ? ? ? ? ? ?(-n) 65535
pipe size ? ? ? ? ? ?(512 bytes, -p) 8
POSIX message queues ? ? (bytes, -q) 819200
real-time priority ? ? ? ? ? ? ?(-r) 0
stack size ? ? ? ? ? ? ?(kbytes, -s) 8192
cpu time ? ? ? ? ? ? ? (seconds, -t) unlimited
max user processes ? ? ? ? ? ? ?(-u) 14989
virtual memory ? ? ? ? ?(kbytes, -v) unlimited
file locks ? ? ? ? ? ? ? ? ? ? ?(-x) unlimited
open files 已經變成65535了
更改Nginx“進程最大可打開文件數”的設置
打開nginx.conf配合worker_rlimit_nofile屬性。
#user ?nobody;
worker_processes ?4;
#error_log ?logs/error.log;
#error_log ?logs/error.log ?notice;
#error_log ?logs/error.log ?info;
#pid ? ? ? ?logs/nginx.pid;
events {
? ? use epoll;
? ? worker_connections ?65535;
}
驗證Nginx“進程最大可打開文件數”是否起作用
在linux中所有的進程都會有一個臨時的核心配置文件描述,存放路徑在/proc/進程號/limit
[root@localhost sbin]# ps -aux|grep nginx
root ? ? ? 1733 ?0.0 ?0.0 ?32816 ?1792 ? ? ? ? ?Ss ? 17:38 ? 0:00 nginx: master process ./nginx
nobody ? ? 1734 ?0.0 ?0.7 ?59952 29184 ? ? ? ? ?S ? ?17:38 ? 0:00 nginx: worker process
nobody ? ? 1735 ?0.1 ?0.7 ?59952 29184 ? ? ? ? ?S ? ?17:38 ? 0:00 nginx: worker process
nobody ? ? 1736 ?0.2 ?0.7 ?59952 29184 ? ? ? ? ?S ? ?17:38 ? 0:00 nginx: worker process
nobody ? ? 1737 ?0.1 ?0.7 ?59952 28928 ? ? ? ? ?S ? ?17:38 ? 0:00 nginx: worker process
root ? ? ? 1739 ?0.0 ?0.0 112824 ? 980 pts/0 ? ?S+ ? 17:38 ? 0:00 grep --color=auto nginx
[root@localhost sbin]# cat /proc/1734/limits
Limit ? ? ? ? ? ? ? ? ? ? Soft Limit ? ? ? ? ? Hard Limit ? ? ? ? ? Units ? ??
Max cpu time ? ? ? ? ? ? ?unlimited ? ? ? ? ? ?unlimited ? ? ? ? ? ?seconds ??
Max file size ? ? ? ? ? ? unlimited ? ? ? ? ? ?unlimited ? ? ? ? ? ?bytes ? ??
Max data size ? ? ? ? ? ? unlimited ? ? ? ? ? ?unlimited ? ? ? ? ? ?bytes ? ??
Max stack size ? ? ? ? ? ?8388608 ? ? ? ? ? ? ?unlimited ? ? ? ? ? ?bytes ? ??
Max core file size ? ? ? ?0 ? ? ? ? ? ? ? ? ? ?unlimited ? ? ? ? ? ?bytes ? ??
Max resident set ? ? ? ? ?unlimited ? ? ? ? ? ?unlimited ? ? ? ? ? ?bytes ? ??
Max processes ? ? ? ? ? ? 14989 ? ? ? ? ? ? ? ?14989 ? ? ? ? ? ? ? ?processes?
Max open files ? ? ? ? ? ?65535 ? ? ? ? ? ? ? ?65535 ? ? ? ? ? ? ? ?files ? ??
Max locked memory ? ? ? ? 65536 ? ? ? ? ? ? ? ?65536 ? ? ? ? ? ? ? ?bytes ? ??
Max address space ? ? ? ? unlimited ? ? ? ? ? ?unlimited ? ? ? ? ? ?bytes ? ??
Max file locks ? ? ? ? ? ?unlimited ? ? ? ? ? ?unlimited ? ? ? ? ? ?locks ? ??
Max pending signals ? ? ? 14989 ? ? ? ? ? ? ? ?14989 ? ? ? ? ? ? ? ?signals ??
Max msgqueue size ? ? ? ? 819200 ? ? ? ? ? ? ? 819200 ? ? ? ? ? ? ? bytes ? ??
Max nice priority ? ? ? ? 0 ? ? ? ? ? ? ? ? ? ?0 ? ? ? ? ? ? ? ? ? ?
Max realtime priority ? ? 0 ? ? ? ? ? ? ? ? ? ?0 ? ? ? ? ? ? ? ? ? ?
Max realtime timeout ? ? ?unlimited ? ? ? ? ? ?unlimited ? ? ? ? ? ?us ??
其中Max open files 的Soft Limit和Hard Limit已經設置成了 65535
Max client計算方式
#充當服務器時Nginx可同時承載的連接數量,是最大工作線程*每個線程允許的連接數量
max_client = worker_processes * worker_connections
#充當反向代理服務時,可同時承載的連接數量是最大工作線程*每個線程允許的連接數量/4
#(4)代表:瀏覽器會建立兩條連接到Nginx,Nginx也會建立兩條連接到后端服務器。這樣就是4條了。
max_client = worker_processes * worker_connections/4
原文鏈接:https://blog.csdn.net/shen198623/article/details/122414710
相關推薦
- 2022-05-16 C語言中有哪些字符處理函數你知道嗎_C 語言
- 2023-04-27 react中關于函數調用()與bind?this的原因及分析_React
- 2022-06-28 C語言簡明清晰講解枚舉_C 語言
- 2023-01-11 Python?基于xml.etree.ElementTree實現XML對比示例詳解_python
- 2022-07-04 pandas讀取中文xlsx文件出現的問題_python
- 2022-06-16 C語言通過案例講解并發編程模型_C 語言
- 2022-03-28 c語言for、while和do-while循環之間的區別_C 語言
- 2022-07-09 Android中Intent的簡單使用和與Bundle的關系
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支