Nginx服務及編譯安裝

来源:http://www.cnblogs.com/bananaaa/archive/2017/11/03/7778642.html
-Advertisement-
Play Games

第1章 Nginx 1.1 nginx的概念 Nginx("engine x")是一個開源的、支持高性能、高併發的WWW服務和代理服務軟體,具有高開發(特別是靜態資源),占用系統資源少等特性。 Nginx可以運行在Unix、Linux、BSD、Mac OSX、Solaris,以及Microsoft ...


第1章 Nginx

1.1 nginx的概念

Nginx("engine x")是一個開源的、支持高性能、高併發的WWW服務和代理服務軟體,具有高開發(特別是靜態資源),占用系統資源少等特性。

Nginx可以運行在Unix、Linux、BSD、Mac OSX、Solaris,以及Microsoft Windows等操作系統中,隨著Nginx在國內很多大型網站的穩定高效運行,近兩年也逐漸被越來越多的中小型網站所使用,當前流行的Nginx Web組合被稱為LNMP或LEMP(即Linux+Nginx+MySQL+PHP)

http://oldboy.blog.51cto.com/2561410/775056

https://www.unixhot.com/page/ops

https://www.unixhot.com/page/cache 

1.2 Nginx的重要特性及應用場合

1.2.1 ***Nginx的重要特性

01. 支持高併發:能支持幾萬併發連接(特別是靜態小文件業務環境)

02. 資源消耗少:在3萬的併發連接下,開啟10個Nginx線程消耗的記憶體不到200MB

03. 可以做HTTP反向代理及加速緩存,即負載均衡功能[OSI 4-7層]

內置對RS節點伺服器健康檢查功能,相當於專業的Haproxy軟體或LVS[4層]功能

04. 具備Squid等數據緩存軟體等的緩存功能(mencache/redis)

05. 支持非同步網路I/O事業模型epoll(Linux 2.6+)

1.3 Nginx軟體的主要企業功能應用

01.作為web服務支持網站頁面請求處理功能

02.支持反向代理或負載均衡功能

03.前端業務數據緩存服務(擴展)

 

第2章 編譯安裝Nginx

服務端配置:

2.1 ①檢查軟體的安裝環境

 1 cat /etc/redhat-release #查看軟體系統環境 2 3 uname -r 

2.2 ②安裝nginx的依賴包

 1 yum install -y pcre-devel openssl-devel
 2 
 3 rpm -qa pcre pcre-devel openssl openssl-devel   #yum安裝操作後檢查安裝結果

擴展:

pcre:相容perl相容正則表達式,perl compatible regular expressions

rewirte模塊 參數信息(perl方式定義正則表達式)

openssl:ssh---openssh/openssl---https

2.3 ③下載nginx軟體

2.3.1 配置阿裡雲yum源

 1 01.備份
 2 mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
 3 
 4 02.下載新的CentOS-Base.repo 到/etc/yum.repos.d/
 5 # CentOS 6:
 6 wget-O /etc/yum.repos.d/CentOS-Base.repo 
 7 # CentOS 7:
 8 wget-O /etc/yum.repos.d/CentOS-Base.repo 
 9   
10 03.之後運行yummakecache生成緩存

2.3.2 添加Epel源

1 01.備份(如有配置其他epel源)
2 mv/etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
3 mv/etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
4   
5 02.下載新repo 到/etc/yum.repos.d/
6 # epel(RHEL 7):
7 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
8 # epel(RHEL 6):
9 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

2.3.3 放在統一目錄下併進行安裝

1 mkdir -p /server/tools
2 
3 cd /server/tools
4 
5 wget http://nginx.org/download/nginx-1.10.2.tar.gz

說明:更多的Nginx版本詳見http://nginx.org/選擇安裝Stable version(穩定版本)

2.3.4 解壓nginx軟體包

 1 tar xf nginx-1.10.2.tar.gz 

2.3.5 創建虛擬用戶www管理nginx

 1 useradd www -s /sbin/nologin -M 2 3 id www 

2.4 ④編譯安裝軟體步驟

配置[.configure]-->做菜[編譯make]-->上菜[安裝make stall])

2.4.1 配置軟體(預設安裝在/usr/local)

1 mkdir -p /server/tools/nginx-1.10.2
2 
3 cd /server/tools/nginx-1.10.2
4 
5 ./configure --prefix=/application/nginx-1.10.2 --user=www --group=www --with-http_stub_status_module  --with-http_ssl_module   #啟動相應模塊

說明:--prefix:表示指定軟體安裝到哪個目錄中,指定目錄不存在會自動創建

--user/--group:表示nginx工作進程利用哪個用戶/用戶組運行管理

--with-http_stub_status_module:啟動nginx狀態模塊功能(用戶訪問nginx的網路信息)

--with-http_ssl_module:啟動https功能模塊

 1 echo $? 

說明:軟體編譯過程中,利用返回值判斷操作是否正確

2.4.1.1  指定的參數及簡單說明

編譯Nginx軟體時,可以使用./configure --help查看相關參數幫助

1 --prefix=PATH                     #<---設置安裝路徑
2 --user=USER                       #<---進程用戶許可權
3 --group=GROUP                     #<---進程用戶組許可權
4 --with-http_stub_status_module    #<---激活狀態信息
5 --with-http_ssl_module            #<---激活ssl功能

2.4.2 編譯安裝軟體(順序顛倒會報錯)

 1 make #編譯軟體--轉換成二進位軟體包使電腦能夠識別 2 3 make install #編譯安裝 

2.4.3 創建目錄的軟鏈接

 1 cd /application/ 2 3 ln -s /application/nginx-1.10.2/ /application/nginx 

作用:將Nginx安裝路徑通過軟連接的方式更改為/application/nginx,便於程式代碼調用nginx程式時無需跟隨版本名稱重置。

2.4.4 啟動nginx程式進程

 1 /application/nginx/sbin/nginx 

2.4.5 檢查服務進程埠信息

1 ps -ef |grep nginx
2 
3 root      4142     1  0 21:32 ?        00:00:00 nginx: master process /application/nginx/sbin/nginx   #主進程
4 www       4143  4142  0 21:32 ?       00:00:00 nginx: worker process   #處理用戶請求

客戶端進行測試:

2.4.6 檢查Nginx啟動的實際效果

在Windows下通過瀏覽器檢測的方式如下:

打開瀏覽器輸入:http://10.0.0.8/ (10.0.0.8為安裝Nginx伺服器的IP地址)→回車

說明:這裡不能使用功能變數名稱訪問,如果想通過功能變數名稱訪問,需要修改本地hosts文件(不能使用自帶IE瀏覽器)

 

在linux下通過瀏覽器檢測的方式如下:

 1 [root@web01 ~]# wget 127.0.0.1
 2 
 3 --2017-01-15 17:35:35--  http://127.0.0.1/
 4 正在連接 127.0.0.1:80... 已連接。
 5 已發出 HTTP 請求,正在等待回應... 200 OK
 6 長度:612 [text/html]
 7 正在保存至: “index.html”
 8 
 9 100%[================================================================================>] 612         --.-K/s   in 0s
10  
11 2017-01-15 17:35:35 (120 MB/s) - 已保存 “index.html” [612/612])

 

說明:廣大讀者請註意,執行上述操作需關閉iptables防火牆及selinux

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、開始安裝 1)新建虛擬機 RHEL7.2 2)成功引導系統--開機出現此畫面 Install Red Hat EnterpriseLinux 7.2 安裝RHLE7.2 操作系統 Test this edia & install RedHat Enterprise Linux 7.2 測試安裝文 ...
  • 一、通過yum安裝vsftpd yum install -y vsftpd 二、修改vsftpd的配置文件 vi /etc/vsftpd/vsftpd.conf 修改配置文件如下:1.不允許匿名訪問 anonymous_enable=NO 2.允許使用本地帳戶進行FTP用戶登錄驗證 local_en ...
  • find ./ -name "*.sql" | awk '{ cmd_str="\""$0"\""; print cmd_str}' | xargs grep -rn IFUSEDESTROUTE dir /v8t/ngtf/server/trade_server:$cdir:$cwdbreak c ...
  • init 6是重啟或者rebootinit 0是關機shutdown三種網路模式:橋接模式:虛擬機和宿主機是兄弟關係,統一由宿主機連接的路由器分發ipNAT模式:虛擬機和宿主機是父子關係,宿主機的vmnet8虛擬網卡充當路由器分發ip 由於虛擬網卡也要占用一個ip所以虛擬網關是從2開始的僅主機模式: ...
  • 問題導讀: 1.zookeeper在kafka的作用是什麼? 2.kafka中幾乎不允許對消息進行“隨機讀寫”的原因是什麼? 3.kafka集群consumer和producer狀態信息是如何保存的? 4.partitions設計的目的的根本原因是什麼? 一、入門 1、簡介 Kafka is a d ...
  • using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;u ...
  • Linux BSP 開發的基礎就是和GPIO打交道, 下麵總結下這幾天對某家開發板的GPIO控制的知識。 公司的開發板用的是 DTB 模式 ,首先,進入 dts,dtsi文件查看關於GPIO 的模塊。 可以看到 GPIO 節點 掛在 SOC node 下 ,手上這塊開發板 把GPIO分成了8個 ba ...
  • logstash中配置的GeoIP的資料庫解析ip了,這裡是用了開源的ip數據源,用來分析客戶端的ip歸屬地。官網在這裡:MAXMIND 下載GeoLiteCity資料庫 修改配置文件(自己定義的config/logstash.conf) 在 filter中添加 在kibana中展示的效果 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...