在華為鯤鵬服務器上安裝nginx


華為鯤鵬服務器

華為鯤鵬服務器采用華為自研cpu ARMv8架構,提供 Windows 和多個Linux 系統

常使用 CentOS 7.6 64bit with ARM

  

    Nginx 和 Apache 一樣都是一種 Web 服務器。是基於 REST 架構風格,以統一資源描述符URI 或者統一資源定位符URL 作為溝通依據,通過 HTTP 協議提供各種網絡服務。因為Nginx是一個開源的代理服務器,那么我們就可以通把它安裝到服務器上,用它來部署我們的web項目。

 

一、Nginx安裝

1、安裝編譯工具及庫文件:

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

 

2、安裝pcre

 

mkdir mysql
cd mysql
wget  http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install
pcre-config --version

3、安裝nginx

 

wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
mkdir /usr/local/nginx         /*創建一個安裝途徑

 

//若采用默認安裝途徑(pefix),
注意最后安裝結果提示--with-http_stub_status_module --with-http_ssl_module --with-pcre=/root/nginx/pcre-8.35        /*產生安裝文件

./configure 
make && make install                 /*編譯以及編譯安裝

                                         

4、 Nginx配置

 

/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
vi/usr/local/nginx/conf/nginx.conf

 

5.檢查校驗配置文件nginx.conf的正確性命令:

 /usr/local/nginx/sbin/nginx -t

 

6.啟動nginx

 

/usr/local/nginx/sbin/nginx
ps –ef|grep nginx

 

二、Nginx配置文件

 

 

#nginx進程,一般設置為和cpu核數一樣
worker_processes 4;                        
#錯誤日志存放目錄 
error_log  /data1/logs/error.log  crit;  
#運行用戶,默認即是nginx,可不設置
user nginx       
#進程pid存放位置
pid        /application/nginx/nginx.pid;        
#Specifies the value for maximum file descriptors that can be opened by this process. 
#最大文件打開數(連接),可設置為系統優化后的ulimit -HSn的結果
worker_rlimit_nofile 51200;
cpu親和力配置,讓不同的進程使用不同的cpu
worker_cpu_affinity 0001 0010 0100 1000 0001 00100100 1000;
#工作模式及連接數上限
events 
{
  use epoll;       #epoll是多路復用IO(I/O Multiplexing)中的一種方式,但是僅用於linux2.6以上內核,可以大大提高nginx的性能
  worker_connections 1024;  #;單個后台worker process進程的最大並發鏈接數
}
http 
{
include mime.types; #文件擴展名與類型映射表
default_type application/octet-stream; #默認文件類型
#limit模塊,可防范一定量的DDOS攻擊
#用來存儲session會話的狀態,如下是為session分配一個名為one的10M的內存存儲區,限制了每秒只接受一個ip的一次請求 1r/s
  limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
  limit_conn_zone $binary_remote_addr zone=addr:10m;
  include       mime.types;
  default_type  application/octet-stream;
  
  #第三方模塊lua防火牆
    lua_need_request_body on;
    #lua_shared_dict limit 50m;
    lua_package_path "/application/nginx/conf/waf/?.lua";
    init_by_lua_file "/application/nginx/conf/waf/init.lua";
    access_by_lua_file "/application/nginx/conf/waf/access.lua";
 
 #設定請求緩存    
  server_names_hash_bucket_size 128;
  client_header_buffer_size 512k;
  large_client_header_buffers 4 512k;
  client_max_body_size 100m;
 
  #隱藏響應header和錯誤通知中的版本號
  server_tokens off;
  #開啟高效傳輸模式   
  sendfile on;

 

三、Nginx負載均衡

 

HTTP重定向實現負載均衡(負載均衡算法(使用 nginx 中的 upstream模塊))

 

源地址哈希法(ip_hash):根據獲取客戶端的IP地址,通過哈希函數計算得到一個數值,用該數值對服務器列表的大小進行取模運算,得到的結果便是客服端要訪問服務器的序號。采用源地址哈希法進行負載均衡,同一IP地址的客戶端,當后端服務器列表不變時,它每次都會映射到同一台后端服務器進行訪問。

輪詢法(默認):將請求按順序輪流地分配到后端服務器上,它均衡地對待后端的每一台服務器,而不關心服務器實際的連接數和當前的系統負載。

隨機法:通過系統的隨機算法,根據后端服務器的列表大小值來隨機選取其中的一台服務器進行訪問。

加權輪詢法(權重:數字越大,權重越高越多分配到該機器上):不同的后端服務器可能機器的配置和當前系統的負載並不相同,因此它們的抗壓能力也不相同。給配置高、負載低的機器配置更高的權重,讓其處理更多的請;而配置低、負載高的機器,給其分配較低的權重,降低其系統負載,加權輪詢能很好地處理這一問題,並將請求順序且按照權重分配到后端。

加權隨機法:與加權輪詢法一樣,加權隨機法也根據后端機器的配置,系統的負載分配不同的權重。不同的是,它是按照權重隨機請求后端服務器,而非順序。

最小連接數法:由於后端服務器的配置不盡相同,對於請求的處理有快有慢,最小連接數法根據后端服務器當前的連接情況,動態地選取其中當前積壓連接數最少的一台服務器來處理當前的請求,盡可能地提高后端服務的利用效率,將負責合理地分流到每一台服務器。

 

壓測:

ab -n 100 -c 100 http://${ip}/

 

四、在服務器中導入項目

 

從圖中可以看出,項目已經成功部署上去,並把login.html設置為訪問的主頁面


免責聲明!

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



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