1. 程式人生 > >liunx 安裝 nginx 和 配置 nginx步驟

liunx 安裝 nginx 和 配置 nginx步驟

  1:主線版本

  2:穩定版本

  3:歷史版本

 二:

在安裝nginx前首先要確認系統中安裝了gcc、pcre-devel、zlib-devel、openssl-devel

安裝命令:

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

三:

## 解壓
tar -zxvf nginx-1.9.9.tar.gz

編譯安裝過程優化

減小Nginx編譯後的檔案大小

在編譯Nginx時,預設以debug模式進行,而在debug模式下會插入很多跟蹤和ASSERT之類的資訊,編譯完成後,一個Nginx要有好幾兆位元組。而在編譯前取消Nginx的debug模式,編譯完成後Nginx只有幾百千位元組。因此可以在編譯之前,修改相關原始碼,取消debug模式。具體方法如下:

在Nginx原始碼檔案被解壓後,找到原始碼目錄下的auto/cc/gcc檔案,在其中找到如下幾行:在最底下幾行

  1. # debug  
  2. CFLAGS=”$CFLAGS -g” 

註釋掉或刪掉這兩行,即可取消debug模式。

為特定的CPU指定CPU型別編譯優化

在編譯Nginx時,預設的GCC編譯引數是“-O”,要優化GCC編譯,可以使用以下兩個引數:

  1. --with-cc-opt='-O3' 
  2. --with-cpu-opt=CPU  #為特定的 CPU 編譯,有效的值包括:
    pentium, pentiumpro, pentium3, # pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64 

要確定CPU型別,可以通過如下命令:

  1. [[email protected] home]#cat /proc/cpuinfo | grep "model name" 

##進入nginx目錄
cd nginx-1.9.9
## 配置
./configure --prefix=/usr/local/nginx

# make
make
make install

執行make、make install命令

測試是否安裝成功

# cd到剛才配置的安裝目錄/usr/loca/nginx/
./sbin/nginx -t

啟動nginx 

cd /usr/local/nginx/sbin
./nginx //啟動nginx

檢視師傅啟動了:

ps -ef | grep nginx

接下來就是訪問伺服器主頁:192.168.32.128, 出現如下頁面就是安裝完成

設為開機啟動:

vim /etc/rc.d/rc.local,  root 為使用者名稱

Nginx核心引數優化

核心引數的優化,主要是在Linux系統中針對Nginx應用而進行的系統核心引數優化。

下面給出一個優化例項以供參考。

  1. net.ipv4.tcp_max_tw_buckets = 6000 
  2. net.ipv4.ip_local_port_range = 1024 65000  
  3. net.ipv4.tcp_tw_recycle = 1 
  4. net.ipv4.tcp_tw_reuse = 1 
  5. net.ipv4.tcp_syncookies = 1 
  6. net.core.somaxconn = 262144 
  7. net.core.netdev_max_backlog = 262144 
  8. net.ipv4.tcp_max_orphans = 262144 
  9. net.ipv4.tcp_max_syn_backlog = 262144 
  10. net.ipv4.tcp_synack_retries = 1 
  11. net.ipv4.tcp_syn_retries = 1 
  12. net.ipv4.tcp_fin_timeout = 1 
  13. net.ipv4.tcp_keepalive_time = 30 

將上面的核心引數值加入/etc/sysctl.conf檔案中,然後執行如下命令使之生效:

  1. [[email protected] localhost home]#/sbin/sysctl -p 

下面對例項中選項的含義進行介紹:

net.ipv4.tcp_max_tw_buckets :選項用來設定timewait的數量,預設是180 000,這裡設為6000。

net.ipv4.ip_local_port_range:選項用來設定允許系統開啟的埠範圍。在高併發情況否則埠號會不夠用。

net.ipv4.tcp_tw_recycle:選項用於設定啟用timewait快速回收.

net.ipv4.tcp_tw_reuse:選項用於設定開啟重用,允許將TIME-WAIT sockets重新用於新的TCP連線。

net.ipv4.tcp_syncookies:選項用於設定開啟SYN Cookies,當出現SYN等待佇列溢位時,啟用cookies進行處理。

net.core.somaxconn:選項的預設值是128, 這個引數用於調節系統同時發起的tcp連線數,在高併發的請求中,預設的值可能會導致連結超時或者重傳,因此,需要結合併發請求數來調節此值。

net.core.netdev_max_backlog:選項表示當每個網路介面接收資料包的速率比核心處理這些包的速率快時,允許傳送到佇列的資料包的最大數目。

net.ipv4.tcp_max_orphans:選項用於設定系統中最多有多少個TCP套接字不被關聯到任何一個使用者檔案控制代碼上。如果超過這個數字,孤立連線將立即被複位並打印出警告資訊。這個限制只是為了防止簡單的DoS攻擊。不能過分依靠這個限制甚至人為減小這個值,更多的情況下應該增加這個值。

net.ipv4.tcp_max_syn_backlog:選項用於記錄那些尚未收到客戶端確認資訊的連線請求的最大值。對於有128MB記憶體的系統而言,此引數的預設值是1024,對小記憶體的系統則是128。

net.ipv4.tcp_synack_retries引數的值決定了核心放棄連線之前傳送SYN+ACK包的數量。

net.ipv4.tcp_syn_retries選項表示在核心放棄建立連線之前傳送SYN包的數量。

net.ipv4.tcp_fin_timeout選項決定了套接字保持在FIN-WAIT-2狀態的時間。預設值是60秒。正確設定這個值非常重要,有時即使一個負載很小的Web伺服器,也會出現大量的死套接字而產生記憶體溢位的風險。

net.ipv4.tcp_syn_retries選項表示在核心放棄建立連線之前傳送SYN包的數量。

如果傳送端要求關閉套接字,net.ipv4.tcp_fin_timeout選項決定了套接字保持在FIN-WAIT-2狀態的時間。接收端可以出錯並永遠不關閉連線,甚至意外宕機。

net.ipv4.tcp_fin_timeout的預設值是60秒。需要注意的是,即使一個負載很小的Web伺服器,也會出現因為大量的死套接字而產生記憶體溢位的風險。FIN-WAIT-2的危險性比FIN-WAIT-1要小,因為它最多隻能消耗1.5KB的記憶體,但是其生存期長些。

net.ipv4.tcp_keepalive_time選項表示當keepalive啟用的時候,TCP傳送keepalive訊息的頻度。預設值是2(單位是小時)。

########### 每個指令必須有分號結束。#################
#user administrator administrators;  #配置使用者或者組,預設為nobody nobody。
#worker_processes 2;  #允許生成的程序數,預設為1
#pid /nginx/pid/nginx.pid;   #指定nginx程序執行檔案存放地址
error_log log/error.log debug;  #制定日誌路徑,級別。這個設定可以放入全域性塊,http塊,server塊,級別以此為:debug|info|notice|warn|error|crit|alert|emerg
events {
    accept_mutex on;   #設定網路連線序列化,防止驚群現象發生,預設為on
    multi_accept on;  #設定一個程序是否同時接受多個網路連線,預設為off
    #use epoll;      #事件驅動模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大連線數,預設為512
}
http {
    include       mime.types;   #副檔名與檔案型別對映表
    default_type  application/octet-stream; #預設檔案型別,預設為text/plain
    #access_log off; #取消服務日誌    
    log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定義格式
    access_log log/access.log myFormat;  #combined為日誌格式的預設值
    sendfile on;   #允許sendfile方式傳輸檔案,預設為off,可以在http塊,server塊,location塊。
    sendfile_max_chunk 100k;  #每個程序每次呼叫傳輸數量不能大於設定的值,預設為0,即不設上限。
    keepalive_timeout 65;  #連線超時時間,預設為75s,可以在http,server,location塊。

    upstream mysvr {   
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #熱備
    }
    error_page 404 https://www.baidu.com; #錯誤頁
    server {
        keepalive_requests 120; #單連線請求上限次數。
        listen       80;   #監聽ipv4埠   
        server_name  127.0.0.1;   #監聽地址       
        location  ~*^.+$ {       #請求的url過濾,正則匹配,~為區分大小寫,~*為不區分大小寫。
           #root path;  #根目錄
           #index vv.txt;  #設定預設頁
           proxy_pass  http://mysvr;  #請求轉向mysvr 定義的伺服器列表
           deny 127.0.0.1;  #拒絕的ip
           allow 172.18.5.54; #允許的ip           
        } 
    }
}

4:進行專案配置:  還沒開始

相關推薦

liunx 安裝 nginx 配置 nginx步驟

  1:主線版本   2:穩定版本   3:歷史版本  二: 在安裝nginx前首先要確認系統中安裝了gcc、pcre-devel、zlib-devel、openssl-devel。 安裝命令: yum -y install gcc pcre-

windows下安裝配置nginx

過去 啟動 win 直接 端口號 本地 註意 環境 安裝 下載nginx 到官網下載window版的nginx http://nginx.org/ 配置環境變量 解壓到本地的某個路徑下, 打開cmd窗口,cd到nginx的目錄下 這裏要註意cd的時候

linux centos7 nginx 安裝部署配置

php strong b- 資料 解壓 停止 forward wsdl 安裝路徑 1/什麽是NginxNginx("enginex")是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器,在高連接並發的情況下Nginx是Apache服務器不

010 Linux 下通過yum、apt、dnf方式安裝配置Nginx伺服器

一、安裝 Centos系統 1、安裝Nginx源。 Centos7下:#rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

如何在CentOS 7上安裝配置Nginx

1.安裝CentOS 7 EPEL倉庫 sudo yum install epel-release 2.安裝Nginx 現在Nginx儲存庫已經安裝在您的伺服器上,使用以下yum命令安裝Nginx : sudo yum install

淘淘商城52-linux安裝nginxnginx常用命令配置nginx開機自啟

作業系統:centos6.4 工具:xshell、xftp 1.配置安裝環境     gcc  安裝nginx需要先將官網下載的原始碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝 [[email protected] ~]# yum in

linux下安裝nginx配置

有一個 是否 就是 服務器 文件 get openss 會有 bsp 1、系統:centos7 2、安裝準備: 安裝nginx前,我們首先要確保系統安裝了g++、gcc、openssl-devel、pcre-devel和zlib-devel軟件,可通過如圖所示命令進行檢

Linux-Ubuntu環境安裝Nginx配置二級域名跳轉

前言:Centos和ubuntu環境的區別,可以檢視下nginx的配置檔案wheresi nginx顯示不同的目錄結構,本文主要講

centos6.8服務器配置之編譯安裝PHP、配置nginx

功能 配置說明 函數 true option pcre c語言 php.ini get php version 5.6.31、nginx version: nginx/1.10.2 1、下載: wget http://cn2.php.net/distribution

在centos 7中安裝nginx配置nginx反向代理

nginx linux proxy 反向代理 Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。其特點是占有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁服務器中表現較好,中國大陸使用ngi

virtualBox安裝centos7並配置nginx php mysql運行環境

save 修改內容 may so文件 連接 添加 http訪問 文章 下載地址 virtualBox安裝centos7並配置nginx php mysql運行環境 一:virtualBox安裝centos7並進行基礎設置 1.下載dvd.iso安裝文件,下載地址:htt

Mac系統安裝配置tomcat步驟詳解

roles 應用 lan ref out size let watermark local https://www.jianshu.com/p/53afed9941e9 一:下載 打開Apache Tomcat官網,選擇需要的版本下載: 二:存放到本地 文件夾重名民為Ap

Linux 安裝Elasticsearch配置ik分詞器步驟

今天給同學們帶來的是關於Elasticsearch的簡單介紹以及如何在linux中搭建elasticsearch和增添ik分詞器,本篇文章我們以搭建elasticsearch為主,後續的文章中將會將es與springboot結合,將其新增到實際開發中。 1.Elasti

mac電腦安裝配置tomcat步驟

avi wid 步驟 perm fill bsp terminal ofo 修改 一:下載 打開Apache Tomcat官網,選擇需要的版本下載: 二:存放到本地 文件夾重命名為ApacheTomcat,放到/Users/計算機名/Library/目錄下 三:啟動To

Tomcat的安裝配置步驟1)

<一>、Tomcat介紹和安裝 Tomcat是使用Java語言編寫的一個伺服器(程式),要執行Tomcat,必須得有jre. 安裝啟動: 介紹: tomcat版本和支援的技術的版本以及執行該版本Tomcat的最低JRE Tomcat安裝目錄詳解:

Nginx配置Nginx的負載均衡

如果 tail 運行 connect 其他 least label direct doc 閱讀目錄 參考的優秀文章 在本機運行2個Tomcat Nginx的負載均衡配置 參考的優秀文章 tomcat配置文件server.xml詳解 AJP協議總結與分析 Usi

MySQL官方教程及各平臺的安裝教程配置詳解入口

www 官方 apt源 nbsp chrom 版本選擇 rom gui apt 官方文檔入口: https://dev.mysql.com/doc/ 一般選擇MySQL服務器版本入口: https://dev.mysql.com/doc/refman/en/

安裝IIs配置IIs 錯誤3

開發平臺 分享 title http 錯誤 lac back 右鍵 tar reg 1.HTTP 錯誤 500.21 - Internal Server Error 解決方案 2. 不久前重新安裝了Windows7,在安裝了VS2010 開發平臺之後,將網站發布到IIS

liunx安裝redisgcc

bsp 輸入 org redis安裝 text 結束 目錄 文件夾 lan 首先去上下載redis,我現在用的版本是:redis-3.0.4.tar.gz 然後放到虛擬機裏面解壓,解壓之後在解壓之後的文件夾裏面,然後輸入命令:make install進行Redis安裝。 然

ansible安裝部署配置、常用模塊整理

自動化運維工具 輸出信息 pat 秘鑰 img 系統命令 hair 作用 環境 今天心情不錯~~~~第25個生日了,又遇昨晚百年難得一見的藍月亮,所以昨晚連夜整理了文檔,會分為兩部分發出去,ansible批量化部署在工作中是非常實用,建議呢 整理大量常用模塊去練習1.1.1