Nginx的詳細(xì)安裝步驟

這篇文章主要講解了“Nginx的詳細(xì)安裝步驟”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Nginx的詳細(xì)安裝步驟”吧!

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)鹿城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

一、Nginx

    Nginx (engine x) 是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù)。Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(diǎn)(俄文:Рамблер)開發(fā)的,第一個公開版本0.1.0發(fā)布于2004年10月4日。

其將源代碼以類BSD許可證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。2011年6月1日,nginx 1.0.4發(fā)布。

Nginx是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。

二、搭建簡單的Nginx環(huán)境
 

搭建環(huán)境: Linux CentOS7

Nginx不支持yum安裝,需要用到包(我這里用主線版本安裝):

API http://nginx.org/download/nginx-1.17.4.tar.gz

依賴包: yum -y install gcc pcre-devel openssl-devel  

0.要做的事

在IP地址為192.168.109.190的主機(jī)上安裝部署Nginx服務(wù),并可以將Nginx服務(wù)器,要求編譯時啟用如下功能:

支持SSL加密功能
設(shè)置Nginx賬戶及組名稱均為nginx
Nginx服務(wù)器升級到更高版本。
訪問驗證Nginx Web服務(wù)器:
 

1.安裝Nginx軟件包

[root@centos7~]# yum -y install gcc pcre-devel openssl-devel   (我是最小化安裝的系統(tǒng)需要把依賴包安裝完整yum -y install gcc pcre pcre-devel openssl openssl-devel make automake autoconf)     //安裝依賴包
[root@centos7~]# useradd -s /sbin/nologin nginx                     //添加一個專用用戶,添加參數(shù)-s后面補(bǔ)充
[root@centos7~]# tar -xzvf nginx-1.17.4.tar.gz
[root@centos7~]# cd nginx-1.17.4
[root@centos7 nginx-1.17.4]# ./configure \
> --prefix=/usr/local/nginx \         //指定安裝路徑
> --user=nginx \                           //指定用戶
> --group=nginx \                        //指定組
> --with-http_ssl_module             //開啟SSL加密功能
[root@centos7 nginx-1.17.4]# make && make install    //編譯并安裝
[root@centos7 nginx-1.17.4]#ls /usr/local/nginx/sbin/nginx          //查看是否有這個目錄,有則安裝成功

補(bǔ)充(關(guān)于為何添加專用用戶):

     按照最小特權(quán)原則,需要給Nginx分配一個合適的權(quán)限,讓其能夠完成Web服務(wù)。
     最小特權(quán)原則是系統(tǒng)安全中最基本的原則之一,它限制了使用者對系統(tǒng)及數(shù)據(jù)進(jìn)行存取所需要的最小權(quán)限,既保證了用戶能夠完成所操作的任務(wù),同時也確保非法用戶或異常操作所造成的損失最小。必須保證Nginx使用一個專門的用戶和用戶組,不要使用系統(tǒng)預(yù)定義的賬號。
     因為只有root用戶可以運(yùn)行Nginx,DocumentRoot應(yīng)該能夠被管理Web站點(diǎn)內(nèi)容的用戶訪問和使用Nginx服務(wù)器的Nginx用戶和Nginx用戶組訪問。所以,如果希望“nginx”用戶在Web站點(diǎn)發(fā)布內(nèi)容,并且可以以httpd身份運(yùn)行Nginx服務(wù)器,通??梢詫⑦@個用戶添加到Nginx組里.

    總言之,我們以root用戶啟用Nginx并以Nginx用戶或組身份使用Nginx,因為如果不將root與Nginx用戶分離,如使用者具備root權(quán)限,就可以通過Nginx軟件的系統(tǒng)路徑向上找到根,這是很危險的.

2.啟動Nginx

[root@centos7~]# /usr/local/nginx/sbin/nginx                        //啟動服務(wù)
[root@centos7~]# /usr/local/nginx/sbin/nginx -s stop            //關(guān)閉服務(wù)
[root@centos7~]# /usr/local/nginx/sbin/nginx -s reload        //重新加載配置文件
[root@centos7~]# /usr/local/nginx/sbin/nginx -V                //查看軟件信息
[root@centos7~]# ln -s /usr/local/nginx/sbin/nginx /sbin        //創(chuàng)建軟鏈接,方便后期使用,直接輸入nginx即可啟動服務(wù) 

3.驗證Nginx正在運(yùn)行

netstat命令可以查看系統(tǒng)中啟動的端口信息,該命令常用選項如下:

-a顯示所有端口的信息

-n以數(shù)字格式顯示端口號

-t顯示TCP連接的端口

-u顯示UDP連接的端口

-l顯示服務(wù)正在監(jiān)聽的端口信息,如httpd啟動后,會一直監(jiān)聽80端口

-p顯示監(jiān)聽端口的服務(wù)名稱是什么(也就是程序名稱)

nginx服務(wù)默認(rèn)通過TCP 80端口監(jiān)聽客戶端請求,觀察通過TCP 80是否在被nginx占用,如果你的服務(wù)器還有其他的使用80端口的服務(wù),如httpd,你就要關(guān)閉httpd,關(guān)閉進(jìn)程 kill all -9 httpd

[root@centos7 ~]# netstat -anptu | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      17472/nginx: master 
Nginx的詳細(xì)安裝步驟
3.配置Nginx虛擬主機(jī)

虛擬主機(jī)(英語:virtual hosting)或稱 共享主機(jī)(shared web hosting),又稱虛擬服務(wù)器,是一種在單一主機(jī)或主機(jī)群上,實(shí)現(xiàn)多網(wǎng)域服務(wù)的方法,可以運(yùn)行多個網(wǎng)站或服務(wù)的技術(shù)。虛擬主機(jī)之間完全獨(dú)立,并可由用戶自行管理,虛擬并非指不存在,而是指空間是由實(shí)體的服務(wù)器延伸而來,其硬件系統(tǒng)可以是基于服務(wù)器群,或者單個服務(wù)器。

    其技術(shù)是互聯(lián)網(wǎng)服務(wù)器采用的節(jié)省服務(wù)器硬件成本的技術(shù),虛擬主機(jī)技術(shù)主要應(yīng)用于HTTP,F(xiàn)TP,EMAIL等多項服務(wù),將一臺服務(wù)器的某項或者全部服務(wù)內(nèi)容邏輯劃分為多個服務(wù)單位,對外表現(xiàn)為多個服務(wù)器,從而充分利用服務(wù)器硬件資源。如果劃分是系統(tǒng)級別的,則稱為虛擬服務(wù)器。

虛擬主機(jī)一般可用分為:基于域名、基于IP和基于端口的虛擬主機(jī)。在這里我們配置使用基于域名的虛擬主機(jī).

#案例1

實(shí)現(xiàn)兩個基于域名訪問的虛擬主機(jī),域名分別是www.aa.com和www.bb.com

修改配置文件

這里我們只配置最基本的功能,配置兩個網(wǎng)站,網(wǎng)站aa使用默認(rèn)的頁面,網(wǎng)站bb新建一個index.html 放到目錄www

mkdir /usr/local/nginx/www  //創(chuàng)建目錄www

echo "this is www.bb.com hell world!" > /usr/local/nginx/www/index.html //創(chuàng)建index.html文件并寫入this is www.bb.com hell world!

vim /usr/local/nginx/conf/nginx.conf

修改如下:

user  nginx nginx; 
worker_processes  1; 

pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;    //訪問的端口
        server_name  www.aa.com;    //訪問的域名
        location / {
            root   html;        //指定網(wǎng)站根路徑
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
    server {
        listen       80;    //端口
        server_name  www.bb.com;    //域名
        location / {
            root   www;    //指定根路徑,前面使用的是默認(rèn)路徑,這里指向我們創(chuàng)建的目錄www
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

配置修改完成后,我們重啟一下nginx

[root@centos7 ~]# nginx -s reload

測試

綁定本地hosts文件進(jìn)行測試:

訪問www.aa.com顯示默認(rèn)nginx頁面

Nginx的詳細(xì)安裝步驟

訪問www.bb.com顯示我們配置的html頁面:

Nginx的詳細(xì)安裝步驟

關(guān)于nginx作為反向代理的配置還有很多種方式,之前已經(jīng)說了基于域名,還有基于IP和域名加不同端口、IP加不同端口等配置

只需要修改配置文件中的listen和server_name這兩個參數(shù)就可以

4.配置訪問SSL虛擬主機(jī).

SSL(Secure Socket Layer),為Netscape所研發(fā),用以保障在Internet上數(shù)據(jù)傳輸?shù)陌踩脭?shù)據(jù)加密(Encryption)技術(shù),可確保數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸過程中不會被截取及竊聽。一般通用的規(guī)格為40 bit的安全標(biāo)準(zhǔn),美國則已推出128 bit的更高安全標(biāo)準(zhǔn),但限制出境。只要3.0版本以上的I.E.或Netscape瀏覽器即可支持SSL。

      SSL協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL協(xié)議可分為兩層: SSL記錄協(xié)議(SSL Record Protocol):它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。 SSL握手協(xié)議(SSL Handshake Protocol):它建立在SSL記錄協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。

       通俗來講,不使用SSL協(xié)議就不安全,如果簡單的進(jìn)行文件傳輸,當(dāng)訪問者輸入賬號密碼給服務(wù)器后一切都是明文顯示的,如果這時候有人抓包就可以看到文件的內(nèi)容,使用SSL協(xié)議將數(shù)據(jù)加密,即使被抓包了也看不到文件的具體內(nèi)容,極大提高的了安全性,尤其是涉及金錢交易的網(wǎng)站.

#案例2

實(shí)現(xiàn)一個基于https協(xié)議訪問的SSL虛擬主機(jī),并通過私鑰、證書對該站點(diǎn)所有的數(shù)據(jù)加密

#加密算法:

#加密算法一般分為對稱算法、非對稱算法、信息摘要。

#對稱算法有:AES、DES,主要應(yīng)用在單機(jī)數(shù)據(jù)加密。

#非對稱算法有:RSA、DSA,主要應(yīng)用在網(wǎng)絡(luò)數(shù)據(jù)加密。

#信息摘要:MD5、sha256,主要應(yīng)用在數(shù)據(jù)完整性校驗。

一般采用非對稱算法RSA:

[root@centos7 conf]# openssl genrsa > cert.key    //生成私鑰,注意記錄文件名稱,在后續(xù)配置nginx配置文件時要使用

[root@centos7 conf]# openssl req -new -x509 -key cert.key > cert.pem    //生成證書,注意記錄文件名稱,在后續(xù)配置nginx配置文件時要使用

修改nginx配置文件:

[root@centos7 conf]# vim nginx.conf

user  nginx nginx;
worker_processes  1;

pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  www.cc.com;
         return      301 https://$server_name$request_uri;    //配置http訪問www.cc.com的時候強(qiáng)制跳轉(zhuǎn)到https的訪問方式

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
#HTTPS server
    server {
        listen       443 ssl;
        server_name  www.cc.com;

        ssl_certificate      cert.pem;    //這里是證書文件
        ssl_certificate_key  cert.key;    //這里是私鑰文件

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

}

配置修改完成后保存,重啟一下nginx

[root@centos7 conf]# nginx -s reload

修改本地hosts文件進(jìn)行驗證:

用google瀏覽器訪問已經(jīng)提示https不安全的網(wǎng)絡(luò)連接,這個原因是我們配置的SSL文件是本地生成

非第三方官方認(rèn)證,所以google瀏覽器會彈出這樣的提示,我們只需要點(diǎn)高級,繼續(xù)訪問就可以了。

Nginx的詳細(xì)安裝步驟

Nginx的詳細(xì)安裝步驟

感謝各位的閱讀,以上就是“Nginx的詳細(xì)安裝步驟”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Nginx的詳細(xì)安裝步驟這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

當(dāng)前文章:Nginx的詳細(xì)安裝步驟
文章位置:http://bm7419.com/article28/psdecp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站標(biāo)簽優(yōu)化、動態(tài)網(wǎng)站、網(wǎng)站收錄、全網(wǎng)營銷推廣、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)