亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)

發布時間:2020-04-19 12:27:59 來源:網絡 閱讀:348 作者:一拳超人007 欄目:系統運維

Nginx實現連接超時

  • 在企業網站中,為了避免同一個客戶長時間占用連接,造成資源浪費,可設置相應的連接超時參數,實現控制連接訪問時間
  • 使用fiddler工具查看connection參數

超時參數

Keepalive_timeout
設置連接保持超時時間,一般可只設置該參數,默認為65秒,可根據網站的情況設置,或者關閉,可在http段,server段,或者location段設置
Client_header_timeout
指定等待客戶端發送請求頭的超時時間
Client_body_timeout
設置請求體讀超時時間

修改配置文件

[root@localhost ~]# cd /usr/local/nginx/conf/  
[root@localhost conf]# vim nginx.conf    ##修改配置文件

#keepalive_timeout  0;
keepalive_timeout  65 180;     ##服務端和客戶端的超時時間
client_header_timeout 80;       ##請求頭部超時時間
client_body_timeout 80;          ##請求體超時時間

[root@localhost conf]# service nginx stop  ##關閉開啟服務
[root@localhost conf]# service nginx start 

Nginx運行進程數

  • 在高并發場景,需要啟動更多的Nginx進程以保證快速響應,以處理用戶的請求,避免造成阻塞
  • 可以使用ps aux命令查看Nginx運行進程的個數
  • 更改進程數的配置方法
    修改配置文件,修改進程配置參數
  • 修改配置文件的worker_process參數
    一般設為CPU的個數或者核數
    在高并發情況下可設置為CPU個數或者核數的2倍
  • 運行進程數多一些,響應訪問請求時,Nginx就不會臨時啟動新的進程提供服務,減少了系統的開銷,提升了服務速度
  • 使用ps aux查看運行進程數的變化情況
  • 默認情況,Nginx的多個進程可能跑在一個CPU上,可以分配不同的進程給不同的CPU處理,充分利用硬件多核多CPU
  • 在一臺4核物理服務器,可進行以下配置,將進程進行分配
    worker_cpu_affinity 0001 0010 0100 1000

1,查看當前的工作進程信息

[root@localhost ~]# ps aux | grep nginx  ##查看進程信息
root       7231  0.0  0.0  20548   620 ?        Ss   01:57   0:00 nginx: master process  ##主進程
nginx      7232  0.0  0.0  23076  1400 ?        S    01:57   0:00 nginx: worker process ##1個工作進程
root       7372  0.0  0.0 112728   972 pts/2    S+   02:07   0:00 grep --color=auto nginx

2,為虛擬機添加CPU

Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)

3,修改配置文件

[root@localhost ~]# cd /proc/
[root@localhost proc]# cat cpuinfo   ##查看cpu核心數
processor       : 0   ##第一個
...
processor       : 1   ##第二個
...
[root@localhost proc]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf   ##修改配置文件

#user  nobody;
worker_processes  2;    ##核心數為2
worker_cpu_affinity 01 10;   ##進程分配

4,查看工作進程

[root@localhost conf]# ps aux | grep nginx   ##查看Nginx進程信息
nginx  2329  0.0  0.0  23076  1392 ?    S  20:12   0:00 nginx: worker process 
##此時是兩個工作進程
nginx   2330  0.0  0.0  23076  1384 ?   S  20:12   0:00 nginx: worker process

Nginx實現網頁壓縮功能

  • Nginx的ngx_http_gzip_module壓縮模塊提供對文件內容壓縮的功能
  • 允許Nginx服務器將輸出內容在發送客戶端之前進行壓縮,以節約網站帶寬,提升用戶的訪問體驗,默認已經安裝
  • 可在配置文件中加入相應的壓縮功能參數對壓縮性能進行優化

壓縮功能參數

  • gzip on:開啟gzip壓縮輸出
  • gzip_min_length 1k:用于設置允許壓縮的頁面最小字節數
  • gzip_buffers 4 16k:表示申請4個單元為16k的內存作為壓縮結果流緩存,默認值是申請與原始數據大小相同的內存空間來存儲gzip壓縮結果
  • zip_http_version 1.0:用于設置識別http協議版本,默認是1.1,目前大部分瀏覽器已經支持gzip解壓,但處理最慢,也比較消耗服務器CPU資源
  • gzip_comp_level 2:用來指定gzip壓縮比,1壓縮比最小,處理速度最快;9壓縮比最大,傳輸速度快,但處理速度最慢,使用默認即可
  • gzip_types text/plain:壓縮類型,是就對那些網頁文檔啟用壓縮功能
  • gzip_vary on:選項可以讓前端的緩存服務器緩存經過gzip壓縮的頁面

實驗環境

Linux服務器(192.168.13.142)
一臺win10測試機

1,修改配置文件添加壓縮模塊內容

[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf   ##修改配置文件
        #gzip  on;   ##開啟gzip壓縮功能(暫時不開啟)
        gzip_min_length 1k;      ##壓縮閥值
        gzip_buffers 4 16k;        ##buffer 大小為4個16k緩沖區大小
        gzip_http_version 1.1;   ##壓縮版本
        gzip_comp_level 6;       ##壓縮比率,5,6適中
        gzip_types text/plain application/x-javascript text/css image/jpg image/jpeg
 image/png image/gif application/xml text/javascript application/x-httpd-php app
lication/javascript application/json;
    ##支持的類型格式
        gzip_disable "MSIE [1-6]\.";   ##禁用gzip條件,支持正則,表示ie6以下不啟用gzip
        gzip_vary on;     ##讓前端的緩存服務器緩存經過gzip壓縮的頁面

2,在網頁站點中插入圖片

[root@localhost html]# mount.cifs //192.168.100.3/LAMP-C7 /mnt   ##掛載共享
Password for root@//192.168.100.3/LAMP-C7:  
[root@localhost html]# ls /mnt
apr-1.6.2.tar.gz                  Discuz_X2.5_SC_UTF8.zip  LAMP-php5.6.txt
apr-util-1.6.0.tar.gz             error.png                mysql-5.6.26.tar.gz
awstats-7.6.tar.gz                httpd-2.4.29.tar.bz2     nginx-1.12.0.tar.gz
cronolog-1.6.2-14.el7.x86_64.rpm  kali.jpg                 php-5.6.11.tar.bz2
[root@localhost html]# cp /mnt/11.png ./    ##將圖片復制到站點中
[root@localhost html]# vim index.html       ##將圖片放到網頁中

<h2>Welcome to nginx!</h2>
<img src="11.jpg"/>   ##添加圖片

[root@localhost html]# service nginx stop   ##關閉開啟Nginx服務
[root@localhost html]# service nginx start 
[root@localhost html]# systemctl stop firewalld.service ##關閉防火墻
[root@localhost html]# setenforce 0

3,查看網頁信息,并用fiddler抓包

Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)
Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)

4,開啟gzip壓縮功能

[root@localhost html]# vim /usr/local/nginx/conf/nginx.conf  ##修改配置文件
gzip  on;   ##開啟壓縮功能
[root@localhost html]# service nginx stop  ##關閉和開啟Nginx服務
[root@localhost html]# service nginx start 

5,查看網頁,并用fiddler抓包查看壓縮情況

Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)

Nginx實現防盜鏈

在企業網站服務中,一般都要配置防盜鏈功能,以避免網站內容被非法盜用,以造成經濟損失
Nginx防盜鏈功能也非常強大。默認情況下,只需要進行簡單的配置,即可實現防盜鏈處理

實驗環境

一臺Linux服務器(192.168.13.142)
一臺win7盜鏈網站(192.168.13.135)
一臺win10測試機

一,在win7盜鏈網站中創建一個盜鏈的網頁

1,用文本創建一個網頁內容,修改后綴為index.html

<html>
 <head>
     <title>云計算</title>
 </head>
 <body>
     <h2>this is test web</h2> 
     <img src="http://www.kgc.com/11.jpg"/>    ##盜鏈的圖片
 </body>
</html>

2,搭建web網站,指定DNS服務器地址(192.168.13.142)

Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)
Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)
Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)
Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)

3,安裝dns服務器

[root@localhost html]# yum install bind -y  ##安裝dns
[root@localhost html]# vim /etc/named.conf 
options {
                                listen-on port 53 { any; };          ##監聽所有
                                listen-on-v6 port 53 { ::1; };
                                directory       "/var/named";
                                dump-file       "/var/named/data/cache_dump.db";
                                statistics-file "/var/named/data/named_stats.txt";
                                memstatistics-file "/var/named/data/named_mem_stats.txt";
                                recursing-file  "/var/named/data/named.recursing";
                                secroots-file   "/var/named/data/named.secroots";
                                allow-query     { any; };           ##允許所有
[root@localhost html]# vim /etc/named.rfc1912.zones    ##配置區域配置文件
zone "kgc.com" IN {
                                type master;
                                file "kgc.com.zone";                ##kgc區域數據配置文件
                                allow-update { none; };                  
};
[root@localhost html]# cd /var/named/  
[root@localhost named]# cp -p named.localhost kgc.com.zone    ##復制模板
[root@localhost named]# vim kgc.com.zone    ##修改區域配置文件

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                                        0       ; serial
                                                        1D      ; refresh
                                                        1H      ; retry
                                                        1W      ; expire
                                                        3H )    ; minimum
                                NS      @
                                A       127.0.0.1
www IN  A       192.168.13.142     ##本機地址
[root@localhost named]# systemctl start named      ##開啟dns服務
[root@localhost named]# systemctl stop firewalld.service    ##關閉防火墻
[root@localhost named]# setenforce 0

4,用測試機訪問盜鏈網站,原網站

Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)
Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)

5,修改配置文件,開啟防盜鏈功能

[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
##在server段插入防盜鏈配置
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   html;
        }

        location ~*\.(jpg|gif|swf)$ {     ##支持格式
                        valid_referers none blocked *.kgc.com kgc.com;   ##允許kgc.com為后綴訪問
                        if ( $invalid_referer ) {
                                rewrite ^/ http://www.kgc.com/error.png;  ##不是則發送錯誤圖片
                        }
        }
[root@localhost named]# cp /mnt/error.png /usr/local/nginx/html/   ##將防盜鏈圖片放到站點中
[root@localhost named]# service nginx stop   ##關閉開啟Nginx服務
[root@localhost named]# service nginx start 

6,利用測試機訪問盜鏈網站

Nginx優化——連接超時,進程管理,壓縮,防盜鏈(二)

對FPM模塊進行參數優化

  • Nginx的PHP解析功能實現如果是交由FPM處理的,為了提高PHP的出來速度,可對FPM模塊進行參數的調整
  • FPM模塊參數調整,要根據服務器的內存與服務器負載進行調整
  • 啟動fpm進程方式
    static:將產生固定數量的fpm進程
    dynamic:將以動態的方式產生fpm進程
    通過pm參數指定

FPM優化參數

  • static的方式的參數
    pm.max_children:指定啟動的進程數量
  • Dynamic方式的參數
    pm.max_children:指定啟動的進程數量最大的數量
    pm.start_servers:動態方式下初始的fpm進程數量
    pm.min_spare_servers:動態方式下最小的fpm空閉進程數
    pm.max_spare_servers:動態方式下最大的fpm空閉進程數

FPM優化參數調整

優化原因:服務器為云服務器,運行了個人論壇,內存為1.5G,fpm進程數為20,內存消耗近1G,處理比較慢
優化參數調整:FPM啟動時有5個進程,最小空閑2個進程,最大空閑8個進程,最多可以有20個進程存在

謝謝閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南通市| 龙州县| 湘西| 迁西县| 苗栗县| 刚察县| 昌吉市| 珠海市| 准格尔旗| 中江县| 池州市| 抚州市| 阿拉尔市| 隆德县| 东山县| 藁城市| 漳州市| 云阳县| 五家渠市| 东台市| 渝中区| 望奎县| 绥滨县| 名山县| 麟游县| 乌什县| 城固县| 三江| 道孚县| 澄江县| 望城县| 嘉鱼县| 仙居县| 鄂尔多斯市| 鄂托克旗| 易门县| 汉川市| 嘉荫县| 五家渠市| 宜丰县| 墨玉县|