本文實例為大家分享了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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。