溫馨提示×

溫馨提示×

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

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

詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)

發(fā)布時間:2020-07-23 01:13:14 來源:網(wǎng)絡(luò) 閱讀:5837 作者:SiceLc 欄目:系統(tǒng)運維

更改Nginx運行進(jìn)程數(shù)

  • 在高并發(fā)場景,需要啟動更多的Nginx進(jìn)程以保證快速響應(yīng),以處理用戶的請求,避免造成阻塞
  • 可以使用ps aux命令查看Nginx運行進(jìn)程的個數(shù)
  • 更改進(jìn)程數(shù)的配置方法

    • 修改配置文件,修改進(jìn)程配置參數(shù)
  • 修改配置文件的worker_ processes參數(shù)

    • 一般設(shè)為CPU的個數(shù)或者核數(shù)
    • 在高并發(fā)情況下可設(shè)置為CPU個數(shù)或者核數(shù)的2倍
  • 運行進(jìn)程數(shù)多-些,響應(yīng)訪問請求時,Nginx就不會臨時啟動新的進(jìn)程提供服務(wù),減少了系統(tǒng)的開銷,提升了服務(wù)速度
  • 使用ps aux查看運行進(jìn)程數(shù)的變化情況

  • 默認(rèn)情況,Nginx的多個進(jìn)程可能跑在一個CPU上, 可以分配不同的進(jìn)程給不同的CPU處理,充分利用硬件多核多CPU
  • 在一臺4核物理服務(wù)器,可進(jìn)行以下配置,將進(jìn)程進(jìn)行分配
    • Worker_ cpu_affinity 0001 0010 0100 1000

配置實例

[root@localhost conf]# ps aux | grep nginx      //查看進(jìn)程數(shù)
root       5278  0.0  0.0  20548   612 ?        Ss   15:17   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx      5279  0.0  0.0  23076  1396 ?        S    15:17   0:00 nginx: worker process
root       5295  0.0  0.0 112728   972 pts/0    S+   15:18   0:00 grep --color=auto nginx
[root@localhost ~]# cd /proc/     //進(jìn)入設(shè)備目錄
[root@localhost proc]# cat cpuinfo       //查看cpu信息
processor   : 0 
vendor_id   : GenuineIntel
cpu family  : 6
...//省略部分內(nèi)容...                               //第一個cpu信息
clflush size    : 64
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
...//省略部分內(nèi)容...
clflush size    : 64                 //第二個cpu信息
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management:
[root@localhost proc]# vim /usr/local/nginx/conf/nginx.conf    //進(jìn)入編輯nginx配置文件
#user  nobody;
worker_processes  2;             //增加cpu個數(shù)
worker_cpu_affinity 01 10;       //設(shè)置平均分配訪問請求

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}
...//省略部分內(nèi)容...
:wq
[root@localhost proc]# systemctl restart nginx.service      //重啟服務(wù)
[root@localhost proc]# ps aux | grep nginx       //查看進(jìn)程數(shù)
root       1813  0.0  0.0  20548   616 ?        Ss   15:32   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx      1814  0.0  0.0  23076  1400 ?        S    15:32   0:00 nginx: worker process
nginx      1815  0.0  0.0  23076  1400 ?        S    15:32   0:00 nginx: worker process
//增加進(jìn)程數(shù)
root       1823  0.0  0.0 112728   972 pts/0    S+   15:32   0:00 grep --color=auto nginx

配置Nginx實現(xiàn)網(wǎng)頁壓縮功能

  • Nginxngx_http_gzip_module壓縮模塊提供對文件內(nèi)容壓縮的功能
  • 允許Nginx服務(wù)器將輸出內(nèi)容在發(fā)送客戶端之前進(jìn)行壓縮,以節(jié)約網(wǎng)站帶寬,提升用戶的訪問體驗,默認(rèn)已經(jīng)安裝
  • 可在配置文件中加入相應(yīng)的壓縮功能參數(shù)對壓縮性能進(jìn)行優(yōu)化

壓縮功能參數(shù)講解

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

將以上的壓縮功能參數(shù)加入到主配置文件httpd配置中段

配置實例

[root@localhost proc]# cd /usr/local/nginx/conf/       //進(jìn)入配置文件目錄
[root@localhost conf]# vim nginx.conf                 //編輯配置文件
...//省略部分內(nèi)容...
    #keepalive_timeout  0;
    keepalive_timeout  65 180;
    client_header_timeout 80;
    client_body_timeout 80;

    gzip  on;                               //開啟壓縮功能
    gzip_min_length 1k;                     //編輯壓縮功能條目
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 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 application/javascript application/json;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;

    server {
        listen       80;
        server_name  localhost;
...//省略部分內(nèi)容...
:wq
[root@localhost conf]# systemctl restart nginx.service     //重啟服務(wù)
  • 在客戶機中訪問網(wǎng)頁,并使用抓包工具查看是否開啟壓縮功能

詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)

配置Nginx實現(xiàn)防盜鏈

  • 在企業(yè)網(wǎng)站服務(wù)中,- -般都要配置防盜鏈功能,以避免網(wǎng)站內(nèi)容被非法盜用,造成經(jīng)濟(jì)損失
  • Nginx防盜鏈功能也非常強大。默認(rèn)情況下,只需要進(jìn)行簡單的配置,即可實現(xiàn)防盜鏈處理

配置實例

[root@localhost ~]# mount.cifs //192.168.100.10/lamp-c7 /mnt/  //將準(zhǔn)備的防盜鏈圖片目錄掛載到Linux系統(tǒng)
Password for root@//192.168.100.10/lamp-c7: 
root@localhost mnt]# cd /mnt/        //進(jìn)入掛載目錄
[root@localhost mnt]# ls
apr-1.6.2.tar.gz       cronolog-1.6.2-14.el7.x86_64.rpm  httpd-2.4.29.tar.bz2  mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz  Discuz_X2.5_SC_UTF8.zip           LAMP-php5.6.txt       nginx-1.12.0.tar.gz
awstats-7.6.tar.gz     error.png                         miao.jpg              php-5.6.11.tar.bz2
[root@localhost mnt]# cp error.png /usr/local/nginx/html/      //將防盜鏈圖片復(fù)制到nginx站點目錄
[root@localhost mnt]# cd /usr/local/nginx/html/          //進(jìn)入站點目錄
[root@localhost html]# ls                      //查看
50x.html  error.png  index.html  miao.jpg      //圖片成功復(fù)制
[root@localhost html]# yum install bind -y     //安裝DNS功能
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...//省略部分內(nèi)容...
已安裝:
  bind.x86_64 32:9.11.4-9.P2.el7                                                                 
作為依賴被安裝:
  bind-export-libs.x86_64 32:9.11.4-9.P2.el7                                                     
作為依賴被升級:
  bind-libs.x86_64 32:9.11.4-9.P2.el7                  bind-libs-lite.x86_64 32:9.11.4-9.P2.el7   
  bind-license.noarch 32:9.11.4-9.P2.el7               bind-utils.x86_64 32:9.11.4-9.P2.el7      
  dhclient.x86_64 12:4.2.5-77.el7.centos               dhcp-common.x86_64 12:4.2.5-77.el7.centos 
  dhcp-libs.x86_64 12:4.2.5-77.el7.centos             
完畢!
[root@localhost html]# vim /etc/named.conf      //編輯DNS主配置文件
...//省略部分內(nèi)容...
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; };
...//省略部分內(nèi)容...
:wq
[root@localhost html]# vim /etc/named.rfc1912.zones     //編輯DNS區(qū)域配置文件
...//省略部分內(nèi)容...
zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};
...//省略部分內(nèi)容...
:wq
[root@localhost named]# cp -p named.localhost kgc.com.zone    //復(fù)制DNS區(qū)域數(shù)據(jù)文件,并更改文件名
[root@localhost named]# vim kgc.com.zone        //編輯DNS區(qū)域數(shù)據(jù)配置文件
$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.144.133            //設(shè)置解析地址
:wq
[root@localhost named]# systemctl start named      //啟動DNS服務(wù)
  • 打開一臺win10 客戶機與一臺win 7客戶,在win 7客戶機中安裝web服務(wù),建立盜鏈網(wǎng)站,并在客戶機中測試訪問網(wǎng)站

詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)

詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)

[root@localhost html]# cd ../conf/             //進(jìn)入nginx配置文件目錄
[root@localhost conf]# vim nginx.conf         //編輯配置文件
...//省略部分內(nèi)容...
# redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location ~*\.(jpg|gif|swf)$ {         //在server模塊下添加防盜鏈條目
             valid_referers none blocked *.kgc.com kgc.com;
             if ( $invalid_referer ) {
                 rewrite ^/ http://www.kgc.com/error.png;
            }
        }
...//省略部分內(nèi)容...
:wq
[root@localhost conf]# systemctl restart nginx.service
  • 在win 10客戶機中測試防盜鏈功能是否開啟

詳述Linux系統(tǒng)中配置Nginx網(wǎng)頁優(yōu)化(二)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI