溫馨提示×

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

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

時(shí)間服務(wù)、日志服務(wù)、sudo;nginx模塊

發(fā)布時(shí)間:2020-07-23 20:20:39 來源:網(wǎng)絡(luò) 閱讀:419 作者:N39_lxq 欄目:系統(tǒng)運(yùn)維

1搭建chrony時(shí)間服務(wù)器

安裝:
yum install chrony -y
查看chrony的配置文件
rpm -ql chrony | grep "conf$"
vim /etc/chrony.conf

 使用pool.ntp.org項(xiàng)目中的公共服務(wù)器。以server開,理論上你想添加多少時(shí)間服務(wù)器都可以。
 Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

 根據(jù)實(shí)際時(shí)間計(jì)算出服務(wù)器增減時(shí)間的比率,然后記錄到一個(gè)文件中,在系統(tǒng)重啟后為系統(tǒng)做出最佳時(shí)間補(bǔ)償調(diào)整。
driftfile /var/lib/chrony/drift

 chronyd根據(jù)需求減慢或加速時(shí)間調(diào)整,
 在某些情況下系統(tǒng)時(shí)鐘可能漂移過快,導(dǎo)致時(shí)間調(diào)整用時(shí)過長(zhǎng)。
 該指令強(qiáng)制chronyd調(diào)整時(shí)期,大于某個(gè)閥值時(shí)步進(jìn)調(diào)整系統(tǒng)時(shí)鐘。
只有在因chronyd啟動(dòng)時(shí)間超過指定的限制時(shí)(可使用負(fù)值來禁用限制)沒有更多時(shí)鐘更新時(shí)才生效。
makestep 1.0 3

 將啟用一個(gè)內(nèi)核模式,在該模式中,系統(tǒng)時(shí)間每11分鐘會(huì)拷貝到實(shí)時(shí)時(shí)鐘(RTC)。
rtcsync

 Enable hardware timestamping on all interfaces that support it.
 通過使用hwtimestamp指令啟用硬件時(shí)間戳
#hwtimestamp eth0
#hwtimestamp eth2
#hwtimestamp *

Increase the minimum number of selectable sources required to adjust
the system clock.
#minsources 2

 指定一臺(tái)主機(jī)、子網(wǎng),或者網(wǎng)絡(luò)以允許或拒絕NTP連接到扮演時(shí)鐘服務(wù)器的機(jī)器
#allow 192.168.0.0/16
#deny 192.168/16

Serve time even if not synchronized to a time source.
local stratum 10

 指定包含NTP驗(yàn)證密鑰的文件。
#keyfile /etc/chrony.keys

 指定日志文件的目錄。
logdir /var/log/chrony

Select which information is logged.
#log measurements statistics tracking

服務(wù)器保持默認(rèn)配置,關(guān)閉防火墻SELINUX
在另一臺(tái)主機(jī)上,打開配置文件,注釋掉其他服務(wù)器

server 192.168.159.131 iburst`
重啟服務(wù)
systemctl restart chronyd
驗(yàn)證是否成功
chronyc sources -v

2.日志服務(wù)器的搭建,rsyslog

在服務(wù)器端的vim /etc/rsyslog.conf
添加如下,這是開啟

$ModLoad imudp  #引用udp協(xié)議的模塊
$UDPServerRun 514  #設(shè)置udp協(xié)議使用端口
$ModLoad imtcp  #引用udp協(xié)議
$InputTCPServerRun 514

在客戶端添加如下
*.info;mail.none;authpriv.none;cron.none @192.168.159.131

facitlity.priority 模式可在其他文檔看到

3sudo

sudo:
1.進(jìn)行修改配置文件不建議直接在主配置文件下; 2.授權(quán)的命令必須要格式一致,多一個(gè)"/"都會(huì)出錯(cuò); 3.運(yùn)行時(shí)必須使用sudo
為方便使用visudo 打開自定義的配置有自動(dòng)加亮等特點(diǎn) 使用 export EDITOR=vim
2.系統(tǒng)管理員的身份實(shí)際依據(jù)的是uid=0
2.visudo -f /etc/sudoers.d/xx ; 切換用戶后必須使用 sudo cmd ; centos5不支持?jǐn)U展配置文件
3.%group 一旦某組授權(quán)了,其中的用戶可以使用
4.使用pssh將自定義的sudo授權(quán)文件推送給多臺(tái)主機(jī),在各自服務(wù)器上進(jìn)行修改并使用,不建議使用nfs,會(huì)出現(xiàn)用戶發(fā)生更改等諸多問題~nfsnobody!!

5.將文件發(fā)往多臺(tái)主機(jī)
pscp.pssh -A -h ip.txt /etc/sudoers.d/file /etc/sudoers.d/

4nginx相關(guān)模塊

(部分來自其他師哥的博客)

配置文件:

    主配置文件:/etc/nginx/nginx.conf

main配置段常見的配置指令

    正常運(yùn)行必備的配置

      1、user
                  Syntax: user user [group];
                  Default: user nobody nobody;
                  Context: main

      2、pid /PATH/TO/PID_FILE;
                  指定存儲(chǔ)nginx主進(jìn)程進(jìn)程號(hào)碼的文件路徑;

      3、include file | mask;
                  指明包含進(jìn)來的其它配置文件;

      4、load_module file;
                    指明要裝載的動(dòng)態(tài)模塊;

    優(yōu)化性能相關(guān)的配置

      1、worker_processes number | auto;
                  worker進(jìn)程的數(shù)量(小于等于主機(jī)cpu的物理核心數(shù);)
                  auto:當(dāng)前主機(jī)物理CPU核心數(shù);

      2、worker_cpu_affinity cpumask ...;
                  worker_cpu_affinity auto [cpumask];把nginx進(jìn)程綁定到指定cpu
                  CPU MASK:cpu掩碼

      3、worker_priority number;
                  指定worker進(jìn)程的nice值,設(shè)定worker進(jìn)程優(yōu)先級(jí);[-20,20]

      4、orker_rlimit_nofile number;
                  worker進(jìn)程所能夠打開的文件數(shù)量上限

    調(diào)試和定位問題的配置

      1、daemon on|off;
                  是否以守護(hù)進(jìn)程方式運(yùn)行Nignx;

      2、master_process on|off;
                  是否以master/worker模型運(yùn)行nginx,默認(rèn)on;

      3、error_log file [level];錯(cuò)誤日志等級(jí)

    事件驅(qū)動(dòng)相關(guān)的配置

      1、worker_connections number;
                  每個(gè)worker進(jìn)程所能夠打開的最大并發(fā)連接數(shù)數(shù)量

      2、use method;
                  指明并發(fā)連接請(qǐng)求的處理方法;

      3、accept_mutex on | off;
                  處理新的連接請(qǐng)求的方法(on:worker輪流處理,Off:每個(gè)新請(qǐng)求都通知所有的worker進(jìn)程)

與套接字相關(guān)的配置

1、server{...}:配置一個(gè)虛擬主機(jī)

server {
        listen address[:PORT]|PORT;
        server_name SERVER_NAME; #主機(jī)名(可使用通配符或正則表達(dá)式)
        root /PATH/TO/DOCUMENT_ROOT;
        proxy_pass http://ip;    #反向代理

        tcp_nodelay on | off #默認(rèn)on,keepalive模式下數(shù)據(jù)包不會(huì)立即發(fā)送,而是等到數(shù)據(jù)包到最大時(shí)才一次性發(fā)出去,有利于解決網(wǎng)絡(luò)堵塞
        tcp_nopush on | off  #sendfile模式下,是否等待應(yīng)用層首部合并一起發(fā)送
        sendfile on | off    
}

定義路徑相關(guān)的配置

1、root 資源路徑映射

2、location 根據(jù)url進(jìn)行對(duì)應(yīng)配置

    =:精確匹配;
    ~:正則表達(dá)式匹配,區(qū)分大小寫;
    ~*:正則表達(dá)式匹配,不區(qū)分大小寫;
    ^~:左側(cè)匹配,不區(qū)分字符大小寫;
    不帶符號(hào):匹配起始于此uri的所有的url;

    匹配優(yōu)先級(jí):=,^~,~/~*,不帶符號(hào)

3、alias 路徑別名

server{
       listen 80;  
       server_name www.linux.io;
location  ^~ /images/{           
                   root /data/pictures/;    #匹配/data/pictures/images
                # alias /data/pictures/;    #匹配/data/pictures/
}

4、index 默認(rèn)資源

5、error_page 指定錯(cuò)誤頁

6、try_files 

定義客戶端請(qǐng)求的相關(guān)配置

      1、keepalive_timeout 

                  keepalive的超時(shí)時(shí)長(zhǎng),0表示禁止長(zhǎng)連接(默認(rèn)為75s)

       2、keepalive_requests 

                  一次長(zhǎng)連接上允許請(qǐng)求資源的最大數(shù)量(默認(rèn)為100)

       3、keepalive_disable none | browser ...;

                  對(duì)哪種瀏覽器禁用長(zhǎng)連接;

       4、send_timeout ;

                  向客戶端發(fā)送響應(yīng)報(bào)文的超時(shí)時(shí)長(zhǎng)(兩次寫操作之間的間隔時(shí)長(zhǎng))

       5、client_body_buffer_size size;

               用于接收客戶端請(qǐng)求報(bào)文的body部分的緩沖區(qū)大小(默認(rèn)16k),超出大小時(shí),其將被暫存到磁盤上的由       client_body_temp_path指令所定義的位置;

       6、client_body_temp_path path [level1 [level2 [level3]]];

                  設(shè)定用于存儲(chǔ)客戶端請(qǐng)求報(bào)文的body部分的臨時(shí)存儲(chǔ)路徑及子目錄結(jié)構(gòu)和數(shù)量;

對(duì)客戶端限制的相關(guān)配置

1、limit_rate rate;

      限制響應(yīng)給客戶端的傳輸速率,單位是bytes/second,0表示無限制;

2、limit_except method ... { ... }

      限制對(duì)指定的請(qǐng)求方法之外的其它方法的使用客戶端;

文件操作優(yōu)化的配置

1、aio on | off | threads[=pool];

      是否啟用aio功能;

2、directio size | off;

      在Linux主機(jī)啟用O_DIRECT標(biāo)記,此處意味文件大于等于給定的大小時(shí)使用,例如directio 4m;

3、open_file_cache off;

      open_file_cache max=N [inactive=time];

            nginx可以緩存以下三種信息:

                 (1) 文件的描述符、文件大小和最近一次的修改時(shí)間;

                 (2) 打開的目錄結(jié)構(gòu);

                 (3) 沒有找到的或者沒有權(quán)限訪問的文件的相關(guān)信息;

            max=N:可緩存的緩存項(xiàng)上限;達(dá)到上限后會(huì)使用LRU算法實(shí)現(xiàn)緩存管理;

      inactive=time:緩存項(xiàng)的非活動(dòng)時(shí)長(zhǎng),在此處指定的時(shí)長(zhǎng)內(nèi)未被命中的或命中的次數(shù)少于* * *

4、open_file_cache_min_uses指令所指定的次數(shù)的緩存項(xiàng)即為非活動(dòng)項(xiàng);

5、open_file_cache_valid time;

      緩存項(xiàng)有效性的檢查頻率;默認(rèn)為60s;

6、open_file_cache_min_uses number;

      在open_file_cache指令的inactive參數(shù)指定的時(shí)長(zhǎng)內(nèi),至少應(yīng)該被命中多少次方可被歸類為活動(dòng)項(xiàng);

7、open_file_cache_errors on | off;

      是否緩存查找時(shí)發(fā)生錯(cuò)誤的文件一類的信息;

ngx_http_access_module模塊:

實(shí)現(xiàn)基于ip的訪問控制功能

      1、allow address | CIDR | unix: | all;

      2、deny address | CIDR | unix: | all;

            http, server, location, limit_except
ngx_http_auth_basic_module模塊

            實(shí)現(xiàn)基于用戶的訪問控制,使用basic機(jī)制進(jìn)行用戶認(rèn)證;

      1、auth_basic string | off;

      2、auth_basic_user_file file;
ngx_http_stub_status_module模塊

 用于輸出nginx的基本狀態(tài)信息

      1、stub_status ;

    Active connections: 活動(dòng)狀態(tài)的連接數(shù);

    accepts:已經(jīng)接受的客戶端請(qǐng)求的總數(shù);

    handled:已經(jīng)處理完成的客戶端請(qǐng)求的總數(shù);

    requests:客戶端發(fā)來的總的請(qǐng)求數(shù);

    Reading:處于讀取客戶端請(qǐng)求報(bào)文首部的連接的連接數(shù);

    Writing:處于向客戶端發(fā)送響應(yīng)報(bào)文過程中的連接數(shù);

    Waiting:處于等待客戶端發(fā)出請(qǐng)求的空閑連接數(shù);

ngx_http_log_module

模塊以指定的格式寫入請(qǐng)求日志

(1)log_format name string ...;

            string可以使用nginx核心模塊及其它模塊內(nèi)嵌的變量;

(2)access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];

            access_log off;#關(guān)閉日志記錄

(3)open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time];
ngx_http_gzip_module:

壓縮傳輸模塊

(1)gzip on | off;
                  啟用或禁用壓縮響應(yīng)

(2)gzip_comp_level level;
                     設(shè)置響應(yīng)的GZIP壓縮級(jí)別。可接受的值在1到9的范圍內(nèi)。

(3)gzip_disable regex ...;
                     禁用與“用戶代理”標(biāo)題字段匹配的任何指定正則表達(dá)式的請(qǐng)求響應(yīng)的GZIPIP。

(4)gzip_min_length length;
                     啟用壓縮功能的響應(yīng)報(bào)文大小閾值;

(5)gzip_buffers number size;
                    支持實(shí)現(xiàn)壓縮功能時(shí)為其配置的緩沖區(qū)數(shù)量及每個(gè)緩存區(qū)的大??;

(6)gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;

    nginx作為代理服務(wù)器接收到從被代理服務(wù)器發(fā)送的響應(yīng)報(bào)文后,在何種條件下啟用壓縮功能的;
    off:對(duì)代理的請(qǐng)求不啟用
    no-cache, no-store,private:表示從被代理服務(wù)器收到的響應(yīng)報(bào)文首部的Cache-Control的值為此三者中任何一個(gè),則啟用壓縮功能;

(7)gzip_types mime-type ...;
                     壓縮過濾器,僅對(duì)此處設(shè)定的MIME類型的內(nèi)容啟用壓縮功能;

ngx_http_ssl_module

(1) ssl on | off;
                     是否啟用ssl

(2)ssl_certificate file;
                     當(dāng)前虛擬主機(jī)使用PEM格式的證書文件;

(3)ssl_certificate_key file;
                     當(dāng)前虛擬主機(jī)上與其證書匹配的私鑰文件;

           (4)ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2];
                    支持ssl協(xié)議版本,默認(rèn)為后三個(gè);

           (5)ssl_session_cache off | none | [builtin[:size]] [shared:name:size];

    builtin[:size]:使用OpenSSL內(nèi)建的緩存,此緩存為每worker進(jìn)程私有;

    [shared:name:size]:在各worker之間使用一個(gè)共享的緩存;

(6)ssl_session_timeout time;
                     客戶端一側(cè)的連接可以復(fù)用ssl session cache中緩存 的ssl參數(shù)的有效時(shí)長(zhǎng);

ngx_http_rewrite_module

URL重定向,URL重寫查找替換。將用戶請(qǐng)求的URI基于regex所描述的模式進(jìn)行檢查,而后完成替換;

(1)rewrite regex replacement [flag]
                    將用戶請(qǐng)求的URI基于regex所描述的模式進(jìn)行檢查,匹配到時(shí)將其替換為replacement指定的新的URI;

                  【注意】如果在同一級(jí)配置塊中存在多個(gè)rewrite規(guī)則,那么會(huì)自下而下逐個(gè)檢查;被某條件規(guī)則替換完成后,會(huì)重新一輪的替換檢查,因此,隱含有循環(huán)機(jī)制;[flag]所表示的標(biāo)志位用于控制此循環(huán)機(jī)制;

    last(循環(huán)):重寫完成后停止對(duì)當(dāng)前URI在當(dāng)前l(fā)ocation中后續(xù)的其它重寫操作,而后對(duì)新的URI啟動(dòng)新一輪重寫檢查;提前重啟新一輪循環(huán);
    break(跳出循環(huán)):重寫完成后停止對(duì)當(dāng)前URI在當(dāng)前l(fā)ocation中后續(xù)的其它重寫操作,而后直接跳轉(zhuǎn)至重寫規(guī)則配置塊之后的其它配置;結(jié)束循環(huán);
    redirect:重寫完成后以臨時(shí)重定向方式直接返回重寫后生成的新URI給客戶端,由客戶端重新發(fā)起請(qǐng)求;不能以http://或https://開頭;
    permanent:重寫完成后以永久重定向方式直接返回重寫后生成的新URI給客戶端,由客戶端重新發(fā)起請(qǐng)求;

(2)return返回
                     return code [text];
                     return code URL;
                     return URL;
                     停止處理并將指定的代碼返回給客戶端。

(3) rewrite_log on | off;
                      是否開啟重寫日志;

(4) if (condition) { ... }條件判斷
                      引入一個(gè)新的配置上下文 ;條件滿足時(shí),執(zhí)行配置塊中的配置指令;server, location;

(5)set $variable value;
                      用戶自定義變量 ;
ngx_http_referer_module

網(wǎng)站的合法引用,防止盜鏈

格式:valid_referers none | blocked | server_names | string ...;

定義referer首部的合法可用值;

    none:請(qǐng)求報(bào)文首部沒有referer首部;
    blocked:請(qǐng)求報(bào)文的referer首部沒有值;
    server_names:參數(shù),其可以有值作為主機(jī)名或主機(jī)名模式;
    arbitrary_string:直接字符串,但可使用作通配符;
    regular expression:被指定的正則表達(dá)式模式匹配到的字符串;要使用~打頭,例如 ~..magedu.com;
向AI問一下細(xì)節(jié)

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

AI