Nginx 源碼安裝


1:首先安裝Nginx所需要的庫

a.GCC編譯器
yum install -y gcc
b.G++編譯器:C++來編譯Nginx的http模塊
yum install -y gcc-c++
c.PCRE庫:正則表達式
yum install -y pcre pcre-devel
d.zlib庫
對HTTP包的內容作gzip壓縮
yum install -y zlib zlib-devel
e.OpenSSL開發庫
如果服務器要支持在SSL協議上傳輸HTTP就需要OpenSSL
yum install -y openssl openssl-devel

 

 

2:准備磁盤目錄
a.Nginx源碼存放目錄
b.Nginx編譯階段產生的中間文件存放目錄
c.Nginx部署目錄
d.Nginx日志存放目錄

 

3:參數調整

配置高並發Web服務器還需要優化Linux內核參數
配置Nginx為靜態Web內容服務器、反向代理服務器或是提供圖片縮略圖功能(實時壓縮圖片)的服務器時,其內核參數的調整都是不同的。

首先需要修改/etc/sysctl.conf 來更改內核參數

fs.file-max=999999 
net.ipv4.tcp_tw_reuse= 1 
net.ipv4.tcp_keepalive_time= 600 
net.ipv4.tcp_fin_timeout= 30 
net.ipv4.tcp_max_tw_buckets=5000
net.ipv4.ip_local_port_range= 1024 61000 
net.ipv4.tcp_rmem=4096 32768 262142 
net.ipv4.tcp_wmem=4096 32768 262142 
net.core.netdev_max_backlog= 8096 
net.core.rmem_default=262144 
net.core.wmem_default= 262144
net.core.rmem_max=2097152 
net.core.wmem_max=2097152 
net.ipv4.tcp_syncookies=1 
net.ipv4.tcp_max_syn.backlog=1024

參數說明:

file-max:這個參數表示進程(比如一個 worker 進程)可以同時打開的最大句柄數,這個參數直接限制最大並發連接數,需根據實際情況配置。  

tcp_tw_reuse:這個參數設置為 1, 表示允許將 TIME-WAIT 狀態的 socket 重新用於新的 TCP 連接,這對於服務器來說很有意義,因為服務器上總會有大量 TIME-WAIT 狀態的連接。

tcp_keepalive_time:這個參數表示當 keepalive 啟用時, TCP 發送 keepalive 消息的頻度。默認是 2 小時,若將其設置得小一些,可以更快地清理無效的連接。

tcp_fin_timeout:這個參數表示當服務器主動關閉連接時, socket 保持在 FIN-WAIT-2 狀態的最大時間。

tcp_max_tw_buckets: 這個參數表示操作系統允許 TIME_WAIT 套接字數量的最大值,如果超過這個數字, TIME_WAIT 套接字將立刻被清除並打印警告信息。該參數默認為 180000, 過多的 TIME_WAIT 套接字會使 Web 服務器變慢

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: 這個參數表示內核套接字發送緩存區的最大大小。

 4:下載Nginx並安裝Nginx

cd /usr/local/
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar -zxvf nginx-1.2.8.tar.gz
cd nginx-1.2.8  
./configure --prefix=/gechong/ruanjian/Nginx/
make
make install

5:啟動Nginx

cd /gechong/ruanjian/Nginx/sbin

./nginx

6:瀏覽器中輸入IP地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM