Nginx最大連接數配置詳解
本文實例為大傢分享瞭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
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 如何解決Linux下Too many open files問題
- nginx優化的六點方法
- nginx配置多個前端項目實現步驟
- Nginx配置之main events塊使用示例詳解
- Docker安裝Nginx問題及錯誤分析