Nginx的安裝和使用

什么是nginx

Nginx是一款高性能的http 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設(shè)計師Igor Sysoev所開發(fā),官方測試nginx能夠支支撐5萬并發(fā)連接(tomcat貌似最高支持1000并發(fā)),并且cpu、內(nèi)存等資源消耗卻非常低,運行非常穩(wěn)定。

應用場景

1.http服務器。Nginx是一個http服務可以獨立提供http服務。可以做網(wǎng)頁靜態(tài)服務器。
2.虛擬主機。可以實現(xiàn)在一臺服務器虛擬出多個網(wǎng)站。例如個人網(wǎng)站使用的虛擬主機。
3.反向代理,負載均衡。當網(wǎng)站的訪問量達到一定程度后,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集群可以使用nginx做反向代理。并且多臺服務器可以平均分擔負載,不會因為某臺服務器負載高宕機而某臺服務器閑置的情況。

nginx安裝

官網(wǎng)下載需要的版本

要求的安裝環(huán)境(linux環(huán)境下,Nginx提供的是源碼,并非可執(zhí)行文件,必須先編譯)

1.需要安裝gcc的環(huán)境。

命令:yum install gcc-c++

2.第三方的開發(fā)包。PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。

命令:yum install -y pcre pcre-devel
注:pcre-devel是使用pcre開發(fā)的一個二次開發(fā)庫。nginx也需要此庫。

3.zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內(nèi)容進行g(shù)zip,所以需要在linux上安裝zlib庫。

命令:yum install -y zlib zlib-devel

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

命令:yum install -y openssl openssl-devel

安裝步驟

第一步:把nginx的源碼包上傳到linux系統(tǒng)
第二步:解壓縮
[root@localhost ~]# tar zxf nginx-1.8.0.tar.gz
第三步:使用configure命令創(chuàng)建一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
第四步:make
第五步:make install

安裝完成

啟動nginx

進入sbin目錄
[root@localhost sbin]# ./nginx
注意:啟動nginx之前,上邊將臨時文件目錄指定為/var/temp/nginx,需要在/var下創(chuàng)建temp及nginx目錄
[root@localhost sbin]# mkdir /var/temp/nginx/client -p

關(guān)閉nginx:

[root@localhost sbin]# ./nginx -s stop
推薦使用:
[root@localhost sbin]# ./nginx -s quit

重啟nginx:

1.先關(guān)閉后啟動。
2.刷新配置文件:
[root@localhost sbin]# ./nginx -s reload

查看Nginx啟動狀態(tài)

[root@localhost sbin]# ps aux|grep nginx

niginx啟動狀態(tài)

訪問Nginx服務器


Nginx歡迎頁

配置虛擬主機

可以用一些windows上安裝有sftb的編輯器實現(xiàn)連接虛擬主機,方便配置,我這里以nodepad++為例:

就是在一臺服務器啟動多個網(wǎng)站。
如何區(qū)分不同的網(wǎng)站:
1.域名不同
2.端口不同

通過端口區(qū)分不同虛擬機

Nginx的配置文件:
/usr/local/nginx/conf/nginx.conf

//一個server節(jié)點就是一個虛擬主機
Html是nginx安裝目錄下的html目錄
   server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
      location / {

            root   html;

            index  index.html index.htm;
        }
    }

可以配置多個server,配置了多個虛擬主機。

添加虛擬主機:

重新加載配置文件

[root@localhost nginx]# sbin/nginx -s reload

訪問81端口下的節(jié)點

通過域名區(qū)分虛擬主機

域名就是網(wǎng)站。

www.baidu.com
www.taobao.com
www.jd.com

通過Tcp/ip,Dns服務器:把域名解析為ip地址。保存的就是域名和ip的映射關(guān)系

一級域名:

Baidu.com
Taobao.com
Jd.com

二級域名:

www.baidu.com
mage.baidu.com
Item.baidu.com

三級域名:

1.Image.baidu.com
Aaa.image.baidu.com

一個域名對應一個ip地址,一個ip地址可以被多個域名綁定。
本地測試可以修改hosts文件。
修改window的hosts文件:(C:\Windows\System32\drivers\etc)
可以配置域名和ip的映射關(guān)系,如果hosts文件中配置了域名和ip的對應關(guān)系,不需要走dns服務器。可以方便使用


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容