1. 程式人生 > >Linux系統下Nginx的安裝和配置

Linux系統下Nginx的安裝和配置

系統環境:centos7 64位

Nginx介紹

1)什麼是Nginx

    Nginx是一款高效能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。由俄羅斯的程式設計師Igor Sysoev所開發,官方測試nginx能夠支支撐5萬併發連結,並且cpu、記憶體等資源消耗卻非常低,執行非常穩定。
####2)Nginx使用場景
 - http伺服器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態伺服器。
 - 虛擬主機。可以實現在一臺伺服器虛擬出多個網站。例如個人網站使用的虛擬主機。
 - 反向代理,負載均衡。當網站的訪問量達到一定程度後,單臺伺服器不能滿足使用者的請求時,需要用多臺伺服器叢集可以使用nginx做反向代理。並且多臺伺服器可以平均分擔負載,不會因為某臺伺服器負載高宕機而某臺伺服器閒置的情況。

Nginx安裝

1)官網地址

   官方網站:
http://nginx.org/

2)安裝環境要求

1、需要安裝gcc的環境。yum install gcc-c++
2、第三方的開發包。
    >PCRE
        PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的正則表示式庫。nginx的http模組使用pcre來解析正則表示式,所以需要在linux上安裝pcre庫。
    yum install -y pcre pcre-devel
    注:pcre-devel是使用pcre開發的一個二次開發庫。nginx也需要此庫。
>zlib
    zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在linux上安裝zlib庫。
yum install -y zlib zlib-devel

>openssl
    OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。
    nginx不僅支援http協議,還支援https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。
yum install -y openssl openssl-devel

3)安裝步驟

1:把nginx的原始碼包上傳到linux系統
2:解壓縮
[[email protected] ~]# tar zxf nginx-1.8.0.tar.gz
3:使用configure命令建立一makeFile檔案。
./configure \
–prefix=/usr/local/nginx \
–pid-path=/var/run/nginx/nginx.pid \
–lock-path=/var/lock/nginx.lock \
–error-log-path=/var/log/nginx/error.log \
–http-log-path=/var/log/nginx/access.log \
–with-http_gzip_static_module \
–http-client-body-temp-path=/var/temp/nginx/client \
–http-proxy-temp-path=/var/temp/nginx/proxy \
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
–http-scgi-temp-path=/var/temp/nginx/scgi
注意:啟動nginx之前,上邊將臨時檔案目錄指定為/var/temp/nginx,需要在/var下建立temp及nginx目錄
[

[email protected] sbin]# mkdir /var/temp/nginx/client -p
這裡寫圖片描述
4:make,編譯Nginx原始碼
這裡寫圖片描述
5:make install,安裝
這裡寫圖片描述

4)shell指令碼一鍵安裝

編寫shell指令碼:nginx-install.sh
指令碼使用方法:./nginx-install.sh Nginx壓縮包絕對路徑 安裝路徑
注意一定是絕對路徑
舉例:
這裡寫圖片描述

    #!/bin/bash
    #安裝gcc
    yum install gcc-c++
    #安裝PCRE
    yum install -y pcre-devel
    #安裝zlib
    yum install -y zlib zlib-devel
    #安裝openssl
    yum install -y openssl openssl-devel
    #接收引數1,Nginx壓縮包絕對路徑
    p1=$1
    #接收引數2,Nginx即將要安裝到的絕對路徑
    p2=$2
    echo "zip file path :"$p1
    echo "install path :"$p2
    #解壓目錄
    unzipParentDir=${p1%/*}
    echo $unzipParentDir
    temp=${p1%t*}
    #解壓後的目錄
    unzipDir=${temp%.*}
    #執行解壓命令
    tar -xzvf $p1 -C $unzipParentDir
    #進入解壓後的目錄
    cd $unzipDir
    #建立目錄/var/temp/nginx -p
    mkdir /var/temp/nginx -p
    #執行configure命令生成Makefile檔案
    ./configure \
    --prefix=$p2 \
    --pid-path=/var/run/nginx/nginx.pid \
    --lock-path=/var/lock/nginx.lock \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/var/temp/nginx/client \
    --http-proxy-temp-path=/var/temp/nginx/proxy \
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
    --http-scgi-temp-path=/var/temp/nginx/scgi
    #編譯
    make 
    #安裝
    make install
    #進入安裝目錄
    cd $p2
    #進入sbin目錄
    cd sbin
    #啟動Nginx
    ./nginx
    #關閉防火牆
    systemctl stop firewalld.service
    #檢視啟動狀態
    ps aux|grep nginx

5)啟動Nginx

進入sbin目錄
[[email protected] sbin]# ./nginx 啟動
[[email protected] sbin]# ps aux|grep nginx 檢視Nginx狀態
這裡寫圖片描述

6)訪問Nginx

訪問192.168.1.130,看到以下頁面。證明Nginx啟動成功
這裡寫圖片描述

配置虛擬主機

我們可以在一臺伺服器上安裝多臺Tomcat執行不同的網站,對外訪問的ip都是相同的,接下來我們通過配置虛擬主機的方式來訪問不同的網站。

1)配置不同埠區分不同虛擬主機

進入Nginx安裝目錄下的conf目錄,vim命令開啟nginx.conf檔案
這裡寫圖片描述

nginx.conf檔案內容如下:
這裡寫圖片描述

新增一個server節點就是新增一臺虛擬主機
這裡寫圖片描述

修改了配置檔案我們需要重新整理一下配置
這裡寫圖片描述

2)配置不同域名區分不同虛擬主機

修改window的hosts檔案:(C:\Windows\System32\drivers\etc)
可以配置域名和ip的對映關係,如果hosts檔案中配置了域名和ip的對應關係,不需要走dns伺服器。
域名的配置:
192.168.1.128 www.jd.com
192.168.1.130 www.baidu.com

修改nginx.conf
這裡寫圖片描述

測試:
訪問www.jd.com
這裡寫圖片描述

訪問www.taobao.com
這裡寫圖片描述

反向代理

1)什麼是反向代理

1、正向代理,意思是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端才能使用正向代理。
這裡寫圖片描述
2、反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。
這裡寫圖片描述

2)Nginx實現反向代理

兩個域名指向同一臺nginx伺服器,使用者訪問不同的域名顯示不同的網頁內容。
兩個域名是www.jd.com.cn和www.test.com
修改nginx.conf配置
這裡寫圖片描述

測試:
訪問www.jd.com
這裡寫圖片描述

訪問www.test.com
這裡寫圖片描述

負載均衡

1)什麼是負載均衡

如果一個服務由多條伺服器提供,需要把負載分配到不同的伺服器處理,需要負載均衡。

2)Nginx實現負載均衡

修改nginx.conf配置
這裡寫圖片描述

測試訪問:
www.jd.com並不斷重新整理將會看到兩個頁面交替出現
這裡寫圖片描述
這裡寫圖片描述

可以根據伺服器的實際情況調整伺服器權重。權重越高分配的請求越多,權重越低,請求越少。預設是都是1
這裡寫圖片描述

相關推薦

Nginx Linux系統安裝配置應用

Nginx 安裝配置 Nginx("engine x")是一款是由俄羅斯的程式設計師Igor Sysoev所開發高效能的 Web和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 在高連線併發的情況下,Nginx是Apache伺服器

Linux 系統 JDK 安裝 Java 環境變數配置

1. 下載 JDK Linux 版本的 JDK 包有兩種形式,rpm包 和 tar.gz包,這裡下載 JDK 8 的 tar.gz 包,tar.gz 是普通的壓縮包檔案,直接解壓即可。 以 32 位

Keepalived介紹以及在Linux系統安裝配置

一、簡介 Keepalived是一個免費開源的,用C編寫的類似於layer3, 4 & 7交換機制軟體,具備我們平時說的第3層、第4層和第7層交換機的功能。主要提供loadbalancing(負載均衡)和 high-availability(高可用)功能,負載均衡實現需要依賴Linux的虛

Linux系統Nginx安裝配置

系統環境:centos7 64位 Nginx介紹 1)什麼是Nginx Nginx是一款高效能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。由俄羅斯的程式設計師Igor Sysoev所開發,官方測試n

Db2數據庫在Linux安裝配置

fig 用戶密碼 oca authent linux token reat local ken 一.DB2數據庫的安裝和配置: 1.安裝完成後,需要增加三個操作系統的組和三個操作系統用戶,如下: groupadd -g 999 db2iadm1 #(管理實例的組) gro

CentOS系統Redis安裝自啟動配置的步驟

管理 nec 還需要 client chm 運行時 roo shu 推薦 相信大家都知道Redis是一個C實現的基於內存、可持久化的鍵值對數據庫,在分布式服務中常作為緩存服務。所以這篇文章將詳細介紹在CentOS系統下如何從零開始安裝到配置啟動服務。有需要的可以參考借鑒。

python在windowslinux安裝配置

str net .net cat ria 技術 連接 top 成功 一、windows下安裝python3.6 安裝編輯器:Ecplise+pydev插件 Eclipse是寫JAVA的IDE, 這樣就可以通用了,學習代價小。 學會了Eclipse, 以後寫Pytho

windowsnginx安裝配置及與tomcat關聯配置記錄

   1. 官方中文說明:http://wiki.nginx.org/NginxChs  或者http://nginx.org/ 下載:當前穩定版: Nginx 1.0.5 | Nginx/windows 1.0.5 (更新記錄) (2011年7月19日) 我們下

centos 6.x7.x nginx安裝配置

一、安裝gcc(命令:yum install gcc)   備註:可以輸入gcc -v 查詢版本資訊,看系統是否自帶安裝 二、安裝pcre(命令: yum install pcre-devel) 三、安裝zlib 四、安裝openssl 綜合命令:   yum -y inst

Python 爬蟲框架 Scrapy 在 Windows10 系統環境安裝配置

環境: Windows10 系統、python3.4.3 版本 安裝 Scrapy : 使用 pip 安裝 Scrapy,在命令列視窗中輸入命令 “pip install Scrapy”,若不報錯即可安裝成功。 注意:可在命令列視窗中輸入命令“pip -h”測試 pip 模組是否已安

LinuxMongoDB安裝配置詳解

1、建立MongoDB的安裝路徑 在/usr/local/  建立資料夾mongoDB 2、上傳檔案到Linux上的/usr/local/source目錄下 3、解壓檔案 進入到/usr/local/source目錄,執行如下命令:  tar -zxvf m

Mysql 在 windows linux 安裝配置

這篇文章講解 Mysql 在 Windows 下的手動安裝和在 Linux(CentOs) 下的下載、配置、連線。還包括預設字符集等的設定。 首先,都要執行移除資料庫的操作 mysqld --remov

nginxmycat在Windows系統中的安裝配置

nginx在Windows上的搭建 1.解壓Windows安裝包到D:\program files(x86) 2.配置檔案     開啟nginx安裝目錄找到conf資料夾,開啟nginx.conf     配置訪問節點      upstream tomcat1

Linux/CentOS環境如何安裝配置PhantomJS工作環境

1. 安裝步驟 1.1 在伺服器上新建想要下載和安裝的目錄: 如mkdir  PhantomJS 1.2 下載PhantomJS安裝包 wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-

LinuxMongoDB安裝配置詳解(一)

一、MongoDB的安裝 1.下載安裝包 下載方式: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz 解壓縮壓縮包: tar zxvf mongodb-linux-x

LinuxMongoDB安裝配置詳解(三)

一、將mongod服務新增為系統服務 MongoDB安裝之後,每次都需要執行命令加引數來啟動,不便於管理,這裡可以將其新增到系統服務,方法如下: 1、建立檔案 linux系統服務啟動檔案都存放

linux系統nginx安裝及簡單的反向代理配置

本文是寫給那些剛剛接觸linux的新手寫的,#符號後面的都是命令可以複製進去,你有發展linux的打算也可以手打加深對命令的瞭解。 第一步:# yum -y installgcc-c++(C編譯器下面的安裝包需要) Linux系統下Nginx的原始碼編譯安裝模組依賴性

Ubuntu Apache安裝配置2

spl pac ubuntu server ould start warn it works apache。 在Ubuntu上安裝Apache,有兩種方式:1 使用開發包的打包服務,例如使用apt-get命令;2 從源碼構建Apache。本文章將詳細描述這兩種不同的安裝方式

NginxNginx安裝配置文件簡要介紹

安裝 配置文件 1 概述本文主要介紹了nginx的兩種安裝方法,通過yum和編譯安裝,同時對安裝後的配置文件的語法和格式進行了簡要的介紹2 nginx的安裝2.1 yum安裝nginx在光盤自帶的base源裏沒有,需要通過官方路徑或者是epel源中安裝.官方:http://nginx.org/pack

vagrant在windows安裝配置

eas 官網 with sta .com 處理器 mac val rim 記錄一下安裝和配置過程中的一些坑步驟一分別下載vagrant和VirtualBox,我這裏下載的是vagrant_1.9.1.msi 和 VirtualBox-5.1.14-112924-Win.ex