Nginx
進程以保證快速響應,以處理用戶的請求,避免形成阻塞ps aux
命令查看Nginx
運行進程的個數更改進程數的配置方法javascript
修改配置文件的worker_ processes
參數php
CPU
的個數或者核數CPU
個數或者核數的2倍Nginx
就不會臨時啓動新的進程提供服務,減小了系統的開銷,提高了服務速度使用ps aux
查看運行進程數的變化狀況css
Nginx
的多個進程可能跑在一個CPU
上, 能夠分配不一樣的進程給不一樣的CPU
處理,充分利用硬件多核多CPU
Worker_ cpu_affinity 0001 0010 0100 1000
[root@localhost conf]# ps aux | grep nginx //查看進程數 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/ //進入設備目錄 [root@localhost proc]# cat cpuinfo //查看cpu信息 processor : 0 vendor_id : GenuineIntel cpu family : 6 ...//省略部份內容... //第一個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 ...//省略部份內容... 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 //進入編輯nginx配置文件 #user nobody; worker_processes 2; //增長cpu個數 worker_cpu_affinity 01 10; //設置平均分配訪問請求 #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; } ...//省略部份內容... :wq [root@localhost proc]# systemctl restart nginx.service //重啓服務 [root@localhost proc]# ps aux | grep nginx //查看進程數 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 //增長進程數 root 1823 0.0 0.0 112728 972 pts/0 S+ 15:32 0:00 grep --color=auto 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
壓縮的頁面[root@localhost proc]# 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; 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; ...//省略部份內容... :wq [root@localhost conf]# systemctl restart nginx.service //重啓服務
[root@localhost ~]# mount.cifs //192.168.100.10/lamp-c7 /mnt/ //將準備的防盜鏈圖片目錄掛載到Linux系統 Password for root@//192.168.100.10/lamp-c7: root@localhost mnt]# cd /mnt/ //進入掛載目錄 [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/ //將防盜鏈圖片複製到nginx站點目錄 [root@localhost mnt]# cd /usr/local/nginx/html/ //進入站點目錄 [root@localhost html]# ls //查看 50x.html error.png index.html miao.jpg //圖片成功複製 [root@localhost html]# yum install bind -y //安裝DNS功能 已加載插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile ...//省略部份內容... 已安裝: 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主配置文件 ...//省略部份內容... 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; }; ...//省略部份內容... :wq [root@localhost html]# vim /etc/named.rfc1912.zones //編輯DNS區域配置文件 ...//省略部份內容... zone "kgc.com" IN { type master; file "kgc.com.zone"; allow-update { none; }; }; ...//省略部份內容... :wq [root@localhost named]# cp -p named.localhost kgc.com.zone //複製DNS區域數據文件,並更改文件名 [root@localhost named]# vim kgc.com.zone //編輯DNS區域數據配置文件 $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 //設置解析地址 :wq [root@localhost named]# systemctl start named //啓動DNS服務
[root@localhost html]# cd ../conf/ //進入nginx配置文件目錄 [root@localhost conf]# vim nginx.conf //編輯配置文件 ...//省略部份內容... # 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; } } ...//省略部份內容... :wq [root@localhost conf]# systemctl restart nginx.service