您好,登錄后才能下訂單哦!
下文給大家帶來Nginx連接超時怎么辦,進程管理優化助您化解,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
在企業網站中,為了避免同一個客戶長時間占用連接,造成資源浪費
可設置相應的連接超時參數,實現控制連接訪問時間
[root@localhost ~]# yum install pcre-devel zlib-devel gcc gcc-c++ -y ##安裝環境包
[root@localhost ~]# useradd -M -s /sbin/nologin nginx ##創建程序性用戶
[root@localhost ~]# mkdir /chen ##創建掛載點
[root@localhost ~]# mount.cifs //192.168.100.23/LNMP /chen ##掛載
Password for root@//192.168.100.23/LNMP:
[root@localhost chen]# tar zxvf nginx-1.12.2.tar.gz -C /opt/ ##解壓
[root@localhost chen]# cd /opt/
[root@localhost opt]# ls
nginx-1.12.2 rh
[root@localhost opt]# cd nginx-1.12.2/
[root@localhost nginx-1.12.2]# ls
auto CHANGES.ru configure html man src
CHANGES conf contrib LICENSE README
./configure \ ##安裝nginx組件
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
[root@localhost nginx-1.12.2]# make && make install ##編譯
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ##做軟鏈接讓系統能識別nginx的所有人命令
[root@localhost nginx-1.12.2]# nginx -t ##檢查語法錯誤
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx-1.12.2]# cd /etc/init.d/ ##到系統啟動腳本
[root@localhost init.d]# vim nginx ##寫一個nginx腳本
#!/bin/bash
#chkconfig: - 99 20 #注釋信息
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx" #這個變量,指向我的命令文件
PIDF="/usr/local/nginx/logs/nginx.pid" #這個變量,指向nginx的進程號
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
[root@localhost init.d]# chmod +x nginx ##給Nginx提升權限
[root@localhost init.d]# chkconfig --add nginx ##添加nginx
[root@localhost init.d]# service nginx start
[root@localhost init.d]# netstat -ntap | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17544/nginx: master
[root@localhost init.d]# systemctl stop firewalld.service
[root@localhost init.d]# setenforce 0
[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf
31 keepalive_timeout 65 180; ##65是云服務器超時時間,180是客戶端超時時間
32 client_header_timeout 80; ##80是網頁中的頭部超時時間
33 client_body_timeout 80; ##80是網頁中身體的超時時間
[root@localhost conf]# service nginx stop
[root@localhost conf]# service nginx start
[root@localhost conf]# ps aux | grep nginx
root 51524 0.0 0.0 20544 600 ? Ss 20:05 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 51525 0.0 0.0 23072 1388 ? S 20:05 0:00 nginx: worker process
root 51531 0.0 0.0 112728 972 pts/3 S+ 20:06 0:00 grep --color=auto nginx
master只是起到一個監督的作用,不會去處理請求
worker才是工作進程,處理請求
這邊我們只有一工作進程,所有的請求都會交給它
如果我們想優化就要去擴展,我們在虛擬機中,直接擴展如果我們這個nginx是在阿里云上面,即可以手動擴,也可以自動擴,自動擴就要寫一個自動編排的工具,我們需要觸發到比如CPU不足,這個時候就需要zbbix監控。
cpu 內存 硬盤 網絡帶寬 這些叫做垂直擴展
服務器實例的數量 叫做水平擴展
[root@localhost conf]# init 0 ##關閉服務器才能擴展
[root@localhost ~]# cd /proc/ ##查看你的cpu,內存信息
[root@localhost proc]# ls
1 1536 1790 305 40 526 626 717 devices mtrr
10 1542 18 306 41 53 628 72 diskstats net
100 1545 189 307 416 54 63 723 dma pagetypeinfo
1082 1557 19 31 417 55 630 724 driver partitions
1084 1562 2 319 418 558 651 73 execdomains sched_debug
1085 1565 20 32 42 560 652 732 fb schedstat
1089 1581 21 320 43 575 654 733 filesystems scsi
1096 1594 22 33 433 576 666 74 fs self
11 16 23 333 44 577 667 75 interrupts slabinfo
1106 1613 24 334 443 578 668 76 iomem softirqs
1107 1629 25 335 45 579 669 763 ioports stat
12 1633 26 336 450 580 671 77 irq swaps
1228 1637 27 337 451 581 674 78 kallsyms sys
126 1640 28 338 456 582 675 79 kcore sysrq-trigger
13 1648 288 339 47 583 679 8 keys sysvipc
131 1651 289 34 48 584 685 80 key-users timer_list
1335 1660 29 340 486 585 686 888 kmsg timer_stats
1337 1668 290 341 49 586 687 9 kpagecount tty
1338 1680 298 342 5 587 690 99 kpageflags uptime
136 1687 299 343 50 588 697 acpi loadavg version
14 1689 3 35 51 589 698 buddyinfo locks vmallocinfo
1438 1696 30 36 516 590 7 bus mdstat vmstat
1449 17 300 360 52 593 700 cgroups meminfo zoneinfo
1478 1739 301 37 522 6 701 cmdline misc
1479 1741 302 38 523 60 703 consoles modules
15 1749 303 39 524 61 71 cpuinfo mounts
1532 1768 304 4 525 62 716 crypto mpt
[root@localhost proc]# cat cpuinfo ##查看CPU,有8個核心數
processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
stepping : 3
microcode : 0xcc
cpu MHz : 2591.567
cache size : 6144 KB
physical id : 1
siblings : 4
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
[root@localhost proc]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf
3 worker_processes 8; ##第三行修改原來只有一個核心數,現在我們改成8個
每個核心數默認處理1024個請求
4 worker_cpu_affinity 01 10 [root@localhost conf]# service nginx stop [root@localhost conf]# service nginx start [root@localhost conf]# ps aux | grep nginx ##查看進程 root 1951 0.0 0.0 20544 660 ? Ss 23:24 0:00 nginx: master process /usr/local/nginx/sbin/nginx nginx 1952 0.0 0.0 23072 1396 ? S 23:24 0:00 nginx: worker process nginx 1953 0.0 0.0 23072 1384 ? S 23:24 0:00 nginx: worker process nginx 1954 0.0 0.0 23072 1388 ? S 23:24 0:00 nginx: worker process nginx 1955 0.0 0.0 23072 1396 ? S 23:24 0:00 nginx: worker process nginx 1956 0.0 0.0 23072 1388 ? S 23:24 0:00 nginx: worker process nginx 1957 0.0 0.0 23072 1396 ? S 23:24 0:00 nginx: worker process nginx 1958 0.0 0.0 23072 1396 ? S 23:24 0:00 nginx: worker process nginx 1959 0.0 0.0 23072 1396 ? S 23:24 0:00 nginx: worker process
root 1984 0.0 0.0 112728 972 pts/0 S+ 23:25 0:00 grep --color=auto nginx
看了以上關于Nginx連接超時怎么辦,進程管理優化助您化解,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。