1. 程式人生 > >nginx的優化(有一定難度)

nginx的優化(有一定難度)

nginx如果在生產環境中使用必須要經過優化後才能使用

1.增大併發量    2.防止DDOS攻擊   3.報錯頁面優化   4.nginx狀態監控   5.根據系統客戶端不同給出頁面

1.增大併發訪問量

#user  nobody;
worker_processes  1;                                          一共開啟1個程序,必與cpu的核心數一致

#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;                              1個程序開啟1024個執行緒      
}
以上是配置檔案的開頭,定義了nginx開啟多少程序,以及一個程序開啟多少個執行緒。

程序:一個程式執行的基本單位,獲取一定的計算機資源

執行緒:一個程序的基本單位,使用程序獲取的資源,是CUP排程的基本單位

一個執行緒處理一個使用者請求 因此worker_connections   65536往大寫,但程序數必須是cpu的核心數(cat /proc/cpuinfo看)

但是!linux系統內和限制最大開啟檔案數是1024,所以需要修改核心引數

ulimit  -a     檢視

open files                      (-n) 1024

ulimit  -Hn   30000         硬限制:不能超過

ulimit  -Sn   30000         軟限制:可以超過

vim /etc/security/limits.conf    永久生效

*             soft     nofile           30000
*            hard     nofile           30000

測試 ab  -c  10000  -n  10000  http://伺服器ip/

2.防止ddos攻擊

dos攻擊:拒絕服務攻擊,傳送大量請求連線伺服器,佔用伺服器頻寬直到網路資源耗盡無法正常提供服務

ddos攻擊:控制大量機器dos攻擊升級版。

limit_req_zone  $binary_remote_addr  zone=one:10m  rate1r/s;           #設定防ddos模組10M空間每個ip每秒只接一個請求 

server {
        listen       80;
        server_name  localhost;

        limit_req  zone=one  burst=5;                                                  #呼叫(官網上有)

3.報錯頁面優化

防止客戶端訪問拼寫錯誤出現http報錯過於生硬

  error_page            404              /404.html;      

將改行去註釋並設定個性化提示頁面404 414 403 等等都可以

4.nginx監控模組安裝

./configure  --with-http_stub_status_module

make  不要make install

[[email protected] nginx-1.12.2]# cp      objs/nginx           /usr/local/nginx/sbin/nginx 
cp:是否覆蓋"/usr/local/nginx/sbin/nginx"?y

server {

   ...        

location  /status{

      stub_status  on;                

      allow IP;

}

}

重啟nginx配置

curl  http://192.168.4.1/status  即可看到頁面

5根據系統客戶端不同給出頁面

因為windows端和安卓端顯示大小所以一個頁面常做兩個版式

html/index.php     html/Android/index.php

這裡配置檔案中加入地址重寫

if ($http_user_agent  ~*  android) {

 rewrite     ^/(.*)  /Android/$1

}

原理:if匹配包頭資訊中包含android,請求頁面為/10.html,地址重寫:為/Android/10.html

html/目錄下存windows頁面   html/Android/下存android頁面 

相關推薦

nginx優化一定難度

nginx如果在生產環境中使用必須要經過優化後才能使用 1.增大併發量    2.防止DDOS攻擊   3.報錯頁面優化   4.nginx狀態監控   5.根據系統客戶端不同給出頁面 1.增大併發訪問量 #user  nobody; worker_processes

hive ---- hive常見查詢語句練習一定難度

有一定難度的sql語句 -- 1、查詢"01"課程比"02"課程成績高的學生的資訊及課程分數  思路: 關鍵步驟:select * from score l join score r on (l

學生管理系統一定問題

sel let ets upd jdbc except cte int setname package lianjie; import java.sql.Connection;import java.sql.DriverManager;import java.sql.Res

Nginx優化2

緩存 文件的 分配 必須 功能 get 讀取文件 首部 pen 配置文件:main配置段http {} 配置指令要以分號結尾,語法格式: directive value1 [value2...]; 支持使用變量: 模塊內置變

vijos 1423 最短路or環向圖

取消 main 必須 測試 主辦方 marker ons eof eap 最佳路線 描述 年久失修的賽道令國際汽聯十分不滿。汽聯命令主辦方立即對賽道進行調整,否則將取消其主辦權。主辦方當然必須馬上開始行動。 賽道測評人員經過了三天三夜的數據采集,

SQL優化SQL TUNING之10分鐘完畢億級數據量性能優化SQL調優

font 一個 進一步 結束 語句 pop 技術分享 處理 fill 前幾天。一個用戶研發QQ找我,例如以下: 自由的海豚。 16:12:01 島主,我的一條SQL查不出來結果,能幫我看看不? 蘭花島主 16:12:10 多久不出結果? 自由的海豚 16:12:17

對於同一套應用程序如何發布一個體驗版部分功能完整版完整功能

service() () ogr com 完整 fine adk testin generic 最近項目中,先做一個版本給用戶(普通用戶作為體驗使用)。之後再有一個完整功能版。 #define OFFLINE using System; using System.

try catch 小結 , node的回調callback裏不能捕獲異常 , 不能被v8優化現在能了

容易 sin ejs called ack tro 崩潰 span 檢查 《深入淺出Nodejs》時,在第四章 - 異步編程中作者樸靈曾提到,異步編程的難點之一是異常處理,書中描述"嘗試對異步方法進行try/catch操作只能捕獲當次事件循環內的異常,對call back執

讀入優化~~~個人學習筆記

false == 學習 學習筆記 筆記 scanf ios sca tchar 基本模板:inline int read(){ int x=0,w=1; char ch=0; while(ch<‘0‘ || ch>‘9‘){if(ch==‘-‘)w=-1;ch=

數據庫性能優化之SQL語句優化轉 java知音

可能 資源 詳細介紹 有助於 效果 這就是 詳細 分組統計 完全 一、問題的提出 在應用系統開發初期,由於開發數據庫數據比較少,對於查詢SQL語句,復雜視圖的編寫等體會不出SQL語句各種寫法的性能優劣,但是如果將應用系統提交實際應用後,隨著數據庫中數據的增加,系統的

SQL優化SQL TUNING之10分鐘完成億級數據量性能優化SQL調優

rom 分享 分鐘 jsb tab tex sql調優 emf group 前幾天,一個用戶研發QQ找我,如下: 自由的海豚。 16:12:01 島主,我的一條SQL查不出來結果,能幫我看看不? 蘭花島主 16:12:10 多久不出結果? 自由的海豚 16:

程序員隨筆:使用來自服務器的圖像源碼

程序員 ios開發 移動開發 iOS開發人員 如果您是移動應用程序開發人員,則在某個時間點您需要與後端進行互動。您可能需要做的其中一項任務是從服務器檢索並顯示圖像,或將圖像提交給該服務器。提交圖像時應該使用什麽格式?如何將從服務調用接收的字節轉換為圖像?讓我們將整個堆棧從服務器構建到iOS應用

鏈表結點的刪除重復

逆向 \n fine turn type sizeof eat create else #include<stdio.h> #include<stdlib.h> #define N 9 typedef struct node{ int dat

部署AWStats日誌分析系統與優化附安裝包

服務 移動文件 samb cron 訪問權限控制 lam 環境 tab level 介紹 AWStats是使用Perl語言開發的一款開源日誌分析系統,可以分析apache,samba,vsftpd,iis等服務的日誌信息,結合crond等計劃任務,可以對不斷增長的日誌內

記前端項目首屏加載優化網絡篇

ade 可靠 roc instant otc loader lock 增加 toc 繼之前的一篇《記前端項目首屏加載優化(打包篇)》之後,這次來講一講我的首屏加載在網絡方面的優化??。 寫在前面 資源加載是一個網站的展示在用戶瀏覽器的必經之路,資源的請求次數和響應時間決

索引原理和SQL優化轉載待整理

索引的本質 MySQL官方對索引的定義為:索引(Index)是幫助MySQL高效獲取資料的資料結構。提取句子主幹,就可以得到索引的本質:索引是資料結構。 我們知道,資料庫查詢是資料庫的最主要功能之一。我們都希望查詢資料的速度能儘可能的快,因此資料庫系統的設計者會從查詢演算法的角度進行優化。最

stm32f103串列埠BootLoaderkeil工程

因為在論壇和官網都沒搜到完全合適的BootLoader,所以自己移植完成了一個BootLoader工程。另外附APP檔案工程,可做實驗。用良心保證,看完後可以做一個成功的實驗。 上位機選用SecureCrt,微控制器用的stm32f103vet6。 首先搞清楚BootLoader過程步驟,程

神經網路優化初始化權重

使隱藏層飽和了, 跟之前我們說的輸出層飽和問題相似, 對於輸出層,我們用改進的cost函式,比如cross-entropy, 但是對

【181122】VC++基於MFC的圖片瀏覽器多種特效原始碼

原始碼下載簡介 一個完整的畢業設計+論文+PPT演示,VC++基於MFC的圖片瀏覽器,在進行圖片瀏覽或開啟、關閉、切換的時候都帶有多種特效,實現PCX、BMP、TGA、GIF、JPEG的讀寫顯示,並可以放大、縮孝旋轉、刪除圖片,支援進行圖片的全屏瀏覽、幻燈片播放以及在狀態列顯示圖片資訊等,本

VENAS excel的出力的過程總結。模板出力

需求:將頁面jqGrid內容輸出到Excel  1.獲取jqGrid內容。         1.1 var postData = $("#gridName").getGridParam('data');&n