Nginx優點
1.nginx將網絡,磁盤及定時器等異步事件的驅動都作了很是好的封裝,基於它開發將能夠忽略這些事件處理的細節。
2.Nginx封裝了許多平臺無關的接口,容器,適用於跨平臺開發。
3.模塊化設計,使得開發者能夠輕易的複用各類已有的模塊。
4.基於它開發服務器程序能夠輕鬆的實現程序的動態升級,子進程的監控,管理,配置項的動態修改生效。
5.可以使用特殊的系統調用(對linux作了大量的優化),更高效的完成任務。
linux

特色:
1.更快:單次響應會獲得更快的響應;在高峯期,nginx能夠比其餘web服務器更快的響應請求。
2.高擴展性:nginx徹底是由多個不一樣的功能,不一樣層次,不一樣類型且耦合度極低的模塊組成。
3.高可靠性:這來自於其核心框架代碼的優秀設計,模塊設計的簡單性。
4.低內存消耗:10000個非活躍的http keep-alive鏈接在nginx中僅消耗2.5Mb的內存。
5.單機支持10萬以上的併發鏈接。
6.熱部署:master管理進程和worker工做進程的分離設計。
7.最free的bsd許可協議:不只可使用,還能夠修改源代碼併發布。nginx

依賴包:
gcc:能夠編譯C語言程序
gcc-c++:編譯工具,編寫nginx HTTP模塊。
pcre:perl兼容正則表達式
pcre-devel:是使用pcre作二次開發時所須要的開發庫,包括頭文件。
zlib:對http包的內容作gzip格式壓縮
zlib-devel:作二次開發時所需的開發庫
openssl:支持在更安全的ssl協議上傳輸http(MD5,sha1)
openssl-devel
nginx的優點,特色,依賴,啓動c++

File-max::表示一個進程,能夠同時打開的最大句柄數。
Tcp_tw_reuse:1表示充許將time-wait狀態的socket從新用於新的Tcp_keepalive_time:當keepalive啓動時,tcp發送keepalive消息的頻度,默認2小時,若將其設置的小一些,能夠更快的清理無效的鏈接。
Tcp_fin_timeout:當服務器主動關閉鏈接時,socket保持在fin-wait-2狀態的最大時間。
Tcp_max_syn_backlog:表示tcp三次握手創建階段接收syn請求隊列的最大長度,默認爲1024,將其設置的大些可使出現nginx繁忙來不及accept新鏈接的狀況時,linux不至於丟失客戶端發起的鏈接請求。
Ip_local_port-range:在udp和tcp鏈接中本地(不包括鏈接的遠程)
端口的取值範圍。
Net.ipv4.tcp_rmem:定義了tcp接收緩存(用於tcp接受滑動窗口)的最小值,默認值,最大值。
Net.ipv4.tcp_wmem:定義了tcp發送緩存(用於tcp接受滑動窗口)的最小值,默認值,最大值。
Netdev_max_backlog:當網卡接收數據包的速度大於內核處理的速度時,會有一個小隊列保存這些數據包,這個參數表示該隊列的最大值。
Rmem_default:表示內核套接字接收緩存區的默認大小。
Wmem_default:表示內核套接字發送緩存區的默認大小。
Rmem_max:表示內核套接字接收緩存區的最大大小。
Wmem_max:表示內核套接字發送緩存區的最大大小。
Tcp_syncookies:用於解決tcp的syn攻擊web

cat ./configure
auto/options:處理configure命令的參數
auto/init:腳本初始化後續將產生的文件路徑。
auto/sources:分析nginx的源碼結構,構造後續的makefile文件
nginx的優點,特色,依賴,啓動正則表達式

nginx的優點,特色,依賴,啓動

默認啓動:
/usr/local/nginx/sbin/nginx -c /etc/nginx.conf
指定安裝目錄的啓動方式
/usr/local/nginx/sbin/nginx -p /usr/local/nginx
指定全局配置項的啓動方式
/usr/local/nginx/sbin/nginx -g 「pid /var/nginx/test.pid」
測試配置信息是否有錯
/usr/local/nginx/sbin/nginx -t -q (-q能夠不把error級別如下的信息輸出到屏幕)
顯示版本
/usr/local/nginx/sbin/nginx -V
快速中止
/usr/local/nginx/sbin/nginx -s stop (收到信號當即跳出循環)
處理完當前全部請求再中止 
/usr/local/nginx/sbin/nginx -s quit (關閉監聽端口,中止接受新的連接,處理完請求,退出)
中止冒個worker進程
kill -s SIGWINCH <nginx worker pid>
使運行中的nginx重讀配置文件
/usr/local/nginx/sbin/nginx -s reload
日誌文件回滾
/usr/local/nginx/sbin/nginx -s reopen
平滑升級nginx
nginx的優點,特色,依賴,啓動緩存