国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nginx-架構(gòu)篇

jubincn / 534人閱讀

摘要:架構(gòu)篇一常見問題相同多個虛擬主機(jī)優(yōu)先級訪問三個配置文件配置上述相同的三個虛擬主機(jī),會先訪問,訪問的優(yōu)先級是按照服務(wù)器的讀取順序,即文件名的排序。

Nginx-架構(gòu)篇 一、Nginx常見問題 1. 相同server_name多個虛擬主機(jī)優(yōu)先級訪問
# 三個配置文件:

# testserver1:
server_name testserver1 www.rona1do.top;
root /opt/app/code1;

# testserver2:
server_name testserver2 www.rona1do.top;
root /opt/app/code2;

# testserver3:
server_name testserver3 www.rona1do.top;
root /opt/app/code3;
配置上述相同server_name的三個虛擬主機(jī),會先訪問testserver1,訪問的優(yōu)先級是按照服務(wù)器的讀取順序,即文件名的排序。
2. location匹配優(yōu)先級

=:進(jìn)行普通字符精確匹配,也就是完全匹配

^~:表示普通字符匹配,使用前綴匹配

~ ~ :表示執(zhí)行一個正則匹配(加不區(qū)分大小寫)

上述優(yōu)先級自上而下優(yōu)先級降低,前兩個匹配是精確匹配,匹配到以后就不再往下找,正則匹配匹配到相應(yīng)的字符串也會繼續(xù)往下尋找是否有更精確的匹配。
3. Nginx的try_files的使用
按順序檢查文件是否存在
# 先檢查對應(yīng)的url地址下的文件存不存在,如果不存在找/index.php,類似于重定向
location / {
    try_file $uri /index.php;
}
4. Nginx的alias和root區(qū)別

root

location /request_path/image/ {
    root /local_path/image/;
}
# 請求:http://www.rona1do.top/request_path/image/cat.png
# 查詢: /local_path/image/request_path_image/cat.png

alias

location /request_path/image/ {
    alias /local_path/image/;
}
# 請求:http://www.rona1do.top/request_path/image/cat.png
# 查詢: /local_path/image/cat.png
5. 用什么樣的方法傳遞用戶的真實(shí)IP地址

在有代理的情況下,remote_addr獲取的是代理的ip,不是用戶的ip

x-forwarded-for容易被篡改

通用解決辦法: 可以跟第一級代理協(xié)商,設(shè)置頭信息x_real_ip記錄用戶的ip
set x_real_ip=$remote_addr
6. Nginx中常見錯誤碼

413:request entity too large

用戶上傳文件限制:client_max_body_size

502:bad gateway

后端服務(wù)無響應(yīng)

504:gateway time-out

后端服務(wù)超時

二、Nginx性能優(yōu)化 1. 性能優(yōu)化考慮點(diǎn)

當(dāng)前系統(tǒng)結(jié)構(gòu)瓶頸

觀察指標(biāo)(top查看狀態(tài)、日志等)、壓力測試

了解業(yè)務(wù)模式

接口業(yè)務(wù)類型,系統(tǒng)層次化結(jié)構(gòu)

性能與安全

配置防火墻太過于注重安全,會降低性能

2. ab接口壓力測試工具

安裝

yum install httpd-tools

使用

ab -n 2000 -c 2 http://127.0.0.1/

-n:總的請求數(shù)

-c:并發(fā)數(shù)

-k:是否開啟長連接

3. 系統(tǒng)與Nginx性能優(yōu)化

文件句柄

LinuxUnix一起皆文件,文件句柄就是一個索引

設(shè)置方式

- 系統(tǒng)全局性修改、用戶局部性修改、進(jìn)程局部性修改

系統(tǒng)全局性修改 和 用戶局部性修改:
配置文件:/etc/security/limits.conf
# root:root用戶
root soft nofile 65535
# hard 強(qiáng)制限制、soft 超過會發(fā)送提醒(郵件等),不限制
root hard nofile 65535
# *:所有用戶
*     soft nofile 65535
*     hard nofile 65535
進(jìn)程局部性修改
配置文件:/etc/nginx/nginx.conf
# 針對nginx進(jìn)程進(jìn)行設(shè)置
worker_rlimit_nofile 35535;
4. CPU的親和
CPU親和:將進(jìn)程/線程與cpu綁定,最直觀的好處就是提高了cpu cache的命中率,從而減少內(nèi)存訪問損耗,提高程序的速度。

物理CPU數(shù)量:cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

CPU核心:cat /proc/cpuinfo | grep "cpu cores" | uniq

核心和進(jìn)程使用率:先按top,再按1

# /etc/nginx/nginx.conf

# nginx建議數(shù)量跟cpu核心數(shù)保持一致
worker_processes 2;
# 配置cpu親和
worker_cpu_affinity 0000000000000001 0000000000000010
# 與上一行等價(jià),自動對應(yīng)(Nginx1.9版本以上)
worker_cpu_affinity auto

查看Nginx的cpu綁定情況:
ps -eo pid,args,psr | grep [n]ginx

5. Nginx通用配置優(yōu)化
# nginx服務(wù)使用nginx用戶(最好不要使用root用戶)
user nginx;
# cpu親和(最好跟核心數(shù)保持一致)
worker_processes 2;
worker_cpu_affinity auto;

# error的日志級別設(shè)置為warn
error_log  /var/log/nginx/error.log warn; 
pid        /var/run/nginx.pid;

# 文件句柄對于進(jìn)程間的限制(建議1w以上)
worker_rlimit_nofile 35535;

# 事件驅(qū)動器
events {
    use epoll;
    # 限制每一個worker_processes進(jìn)程可以處理多少個連接
    worker_connections  10240;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    
    #字符集(服務(wù)端響應(yīng)發(fā)送的報(bào)文字符集)
    charset utf-8;
    
    log_format  main  "$remote_addr - $remote_user [$time_local] "$request" "
                      "$status $body_bytes_sent "$http_referer" "
                      ""$http_user_agent" "$http_x_forwarded_for"";
    
    access_log  /var/log/nginx/access.log  main;
    
    # 靜態(tài)資源的處理
    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    # gzip壓縮(對于IE6或以下版本對于gzip壓縮支持不是很好)
    gzip  on;
    # IE6或以下不進(jìn)行壓縮(兼容)
    gzip_disable "MSIE [1-6].";
    gzip_http_version 1.1;
    
    include /etc/nginx/conf.d/*.conf;
}
三、Nginx安全 1. 常見的惡意行為

爬蟲行為和惡意抓取、資源盜用

基礎(chǔ)防盜鏈功能,不讓惡意用戶能輕易的爬取網(wǎng)站對外數(shù)據(jù)

secure_link_module,對數(shù)據(jù)安全性提高加密驗(yàn)證和實(shí)效性,適合如核心重要數(shù)據(jù)

acces_module,對后臺、部分用戶服務(wù)的數(shù)據(jù)提供IP防控

2. 常見的攻擊手段

后臺密碼撞庫,通過猜測密碼字典不斷對后臺系統(tǒng)嘗試性登錄,獲取后臺登錄密碼

后臺登錄密碼復(fù)雜度

access_module,對后臺提供IP防控

預(yù)警機(jī)制(一個IP在一段時間內(nèi)重復(fù)不斷請求等)

3. 文件上傳漏洞
利用一些可以上傳的接口將惡意代碼植入到服務(wù)器中,再通過url去訪問以執(zhí)行代碼

例:http://www.rona1do.top/upload...(Nginx將1.jpg作為php代碼執(zhí)行)

# 文件上傳漏洞解決辦法
location ^~ /upload {
    root /opt/app/images;
    if ($request_file ~* (.*).php){
        return 403;
    }
}
4. SQL注入
利用未過濾/未審核用戶輸入的攻擊方法,讓應(yīng)用運(yùn)行本不應(yīng)該運(yùn)行的SQL代碼

Nginx+LUA配置WAF防火墻防止SQL注入

ngx_lua_waf 下載地址

使用waf步驟:

git clone https://github.com/loveshell/ngx_lua_waf.git

cd ngx_lua_waf

mv ngx_lua_waf /etc/nginx/waf

vim /etc/nginx/waf/conf.lua,修改RulePath為對應(yīng)路徑(/etc/nginx/waf/wafconf)

vim /etc/nginx/waf/wafconf/post,加入一行,sors+,放sql注入的正則

集成waf:

# /etc/nginx/nginx.conf
lua_package_path "/etc/nginx/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /etc/nginx/waf/init.lua;
access_by_lua_file /etc/nginx/waf/waf.lua

reload Nginx

5. 復(fù)雜的訪問攻擊中CC攻擊

waf/conf.lua配置文件中打開防cc攻擊配置項(xiàng)

CCDeny="on"

CCrate="100/60" #每60秒100次請求

四、Nginx總結(jié)

定義Nginx在服務(wù)體系中的角色

靜態(tài)資源服務(wù)

代理服務(wù)

動靜分離

設(shè)計(jì)評估

硬件

CPU、內(nèi)存、硬盤

系統(tǒng)

用戶權(quán)限、日志目錄存放

關(guān)聯(lián)服務(wù)

LVS、keepalive、syslog、Fastcgi

配置注意事項(xiàng)

合理配置

了解原理(HTTP、操作系統(tǒng)...)

關(guān)注日志

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30707.html

相關(guān)文章

  • 深入 Nginx架構(gòu)

    摘要:請求的多階段異步處理多階段異步處理請求與事件驅(qū)動架構(gòu)是密切相關(guān)的,也就是說,請求的多階段異步處理只能基于事件驅(qū)動架構(gòu)實(shí)現(xiàn)。 前言 最近在讀 Nginx 相關(guān)的書籍,做一下讀書筆記。 Nginx 作為業(yè)界知名的高性能服務(wù)器,被廣泛的應(yīng)用。它的高性能正是由于其優(yōu)秀的架構(gòu)設(shè)計(jì),其架構(gòu)主要包括這幾點(diǎn):模塊化設(shè)計(jì)、事件驅(qū)動架構(gòu)、請求的多階段異步處理、管理進(jìn)程與多工作進(jìn)程設(shè)計(jì)、內(nèi)存池的設(shè)計(jì),以下內(nèi)...

    linkin 評論0 收藏0
  • 深入 Nginx架構(gòu)

    摘要:請求的多階段異步處理多階段異步處理請求與事件驅(qū)動架構(gòu)是密切相關(guān)的,也就是說,請求的多階段異步處理只能基于事件驅(qū)動架構(gòu)實(shí)現(xiàn)。 前言 最近在讀 Nginx 相關(guān)的書籍,做一下讀書筆記。 Nginx 作為業(yè)界知名的高性能服務(wù)器,被廣泛的應(yīng)用。它的高性能正是由于其優(yōu)秀的架構(gòu)設(shè)計(jì),其架構(gòu)主要包括這幾點(diǎn):模塊化設(shè)計(jì)、事件驅(qū)動架構(gòu)、請求的多階段異步處理、管理進(jìn)程與多工作進(jìn)程設(shè)計(jì)、內(nèi)存池的設(shè)計(jì),以下內(nèi)...

    zhangrxiang 評論0 收藏0
  • Nginx-架構(gòu)

    摘要:架構(gòu)篇一常見問題相同多個虛擬主機(jī)優(yōu)先級訪問三個配置文件配置上述相同的三個虛擬主機(jī),會先訪問,訪問的優(yōu)先級是按照服務(wù)器的讀取順序,即文件名的排序。 Nginx-架構(gòu)篇 一、Nginx常見問題 1. 相同server_name多個虛擬主機(jī)優(yōu)先級訪問 # 三個配置文件: # testserver1: server_name testserver1 www.rona1do.top; root...

    UsherChen 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<