Web服務初步 Nginx安裝

  • 引入:Web服務軟件:
    1、靜態(tài)軟件: Nginx (Tengine) 、Apache, Lighttpd
    2、動態(tài)軟件: php程序(Php引擎) 、JAVA程序(tomcat/resin/jboss/weblogic) python程序(Python)

1、Nginx:

Nginx ("enginex")是一個開源的、支持高性能、高并發(fā)的www服務和代理服務軟件。它是由俄羅斯人IgorSysoev開發(fā)的,最初被應用在俄羅斯的大型網站www.rambler.ru上。后來作者將源代碼以類BSD許可證的形式開源出來供全球使用。

2、Nginx3大主要功能

1)網頁服務:自身是靜態(tài)服務(還支持動態(tài)Web服務)
apache,lighttpd,IIS
動態(tài)Web服務:

PHP(fastcqi pass)
JAVA(proxy pass)
Python(uwsgi pass)
=================
memcache ......

2)負載均衡\反向代理
haproxy,lvs,F(xiàn)5,netscaler
3)緩存服務器
squid,varnish

3、特點:

企業(yè)面試時需要解答如下Nginx HTTP服務器的特色及優(yōu)點:

1)支持高并發(fā):能支持幾萬并發(fā)連接(特別是靜態(tài)小文件業(yè)務環(huán)境) 。
2)資源消耗少:在3萬并發(fā)連接下,開啟10個Nginx線程消耗不到200MB內存。
3)可以做HTTP反向代理及加速緩存,即負載均衡功能,內置對RS節(jié)點服務器健康檢查功能,這相當于專業(yè)的haproxy軟件或1vs的功能。

4、Nginx主要應用場景:

①靜態(tài)服務器:
使用Nginx運行HTML、 Js、CSS、小圖片等靜態(tài)數(shù)據(此功能類似lighttpd軟件)。
②配合運行動態(tài)服務器:
Nginx結合FastCGI運行PHp等動態(tài)程序(例如使用fastcgi pass方式)。
Nginx結合proxy pass支持Java動態(tài)程序(tomcat/resin服務)。
Nginx結合uwsgi pass支持Python.
③反向代理/負載均衡:
http負載均衡
④做Web緩存服務器(把文件放入內存里)

5、反向代理與負載代理

  • 引入代理的概念:通俗的講就是海外代購,微商;代替別人做事。
  • 正向代理:由內向外。代替效率低
    代替局域網內PC,請求外部應用服務。
  • 反向代理:由外向內代替效率低
    代替外部的用戶請求內部的應用服務器。
  • 負載均衡:轉發(fā)。甩手掌柜。效率高

6、為什么Nginx總體性能比Apache高?

Nginx使用最新的epoll (Linux2.6內核)和kqueue (freebsd)異步網絡I/O模型,而Apache則使用的是傳統(tǒng)的select模型。目前Linux下能夠承受高并發(fā)訪問的Squid, Memcached軟件都采用的是epoll模型。

select模型:例朋友去宿舍找你不知道你在哪個房間,就會一個一個找... 效率很低。
epoll模型:例朋友去宿舍找你不知道你在哪個房間,就會問宿管,查看在哪宿舍。效率高

7、回顧軟件安裝

1、rpm安裝簡單快。依賴多,解決依賴困難繁瑣。
2、yum安裝
簡單快, 自動解決依賴。不能選擇軟件版本或軟件存放路徑。
3、編譯安裝(源碼編譯)
復雜需要Gcc編譯器,可以自定義安裝(版本、軟件路徑)
4、將源碼制作成rpm,然后放到y(tǒng)um倉庫,實現(xiàn)yum自動安裝。一次性慢復雜,安裝快,可以自定義安裝(版本、軟件路徑)
5、二進制安裝
制作RPM YUM倉庫搭建
https: //blog.oldboyedu.com/autodeploy-rpm/

8、Nginx安裝

兩種安裝方法:
①yum安裝
epel源:安裝的nginx版本比較低
nginx官方源:版本最高
修改

[root@web01 /etc/yum.repos.d]# vim nginx.repo 
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

安裝查看版本

[root@web01 ~]# yum install nginx

成功

[root@web01 ~]# rpm -qa nginx
nginx-1.16.0-1.el7.ngx.x86_64

開啟服務

[root@web01 ~]# systemctl start nginx
[root@web01 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@web01 ~]# systemctl status nginx
查看是否開啟

在瀏覽器上輸入web服務器IP地址驗證


image.png
image.png

②編譯安裝
Ⅰ創(chuàng)建自己要放置nginx的目錄并下載壓縮包

[root@web02 ~]# mkdir -p /server/tools
[root@web02 ~]# cd /server/tools
[root@web02 /server/tools]# git clone git://github.com/arut/nginx-rtmp-module.git"
[root@web02 /server/tools]#wget http://nginx.org/download/nginx-1.16.0.tar.gz

Ⅱ安裝Nginx所需pcre庫
pcre:URL重寫軟件,即實現(xiàn)偽靜態(tài)需要這個軟件

[root@web02 /server/tools]# yum install pcre-devel pcre -y
[root@web02 /server/tools]#yum install openssl openssl-devel -y

Ⅲ解壓切換目錄

[root@web02 /server/tools]# tar xf nginx-1.16.0.tar.gz 
[root@web02 /server/tools]# cd nginx-1.16.0/

Ⅳ創(chuàng)建用戶
這里創(chuàng)建用戶的目的是為了指定啟動服務的用戶

[root@web02 /server/tools/nginx-1.16.0]# useradd -s /sbin/nologin www -M

Ⅴ編譯安裝

[root@web02 /server/tools/nginx-1.16.0]# ./configure  --user=www --group=www --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module  --with-http_ssl_module --with-pcre
[root@web02 /server/tools/nginx-1.16.0]# make 
[root@web02 /server/tools/nginx-1.16.0]# make install

Ⅵ制作軟鏈接

[root@web02 /server/tools/nginx-1.16.0]# ln -s /application/nginx-1.16.0/ /application/nginx

Ⅶ啟動

[root@web02 /server/tools/nginx-1.16.0]# /application/nginx/sbin/nginx 

Ⅷ驗證即可

編譯安裝查看配置
[root@web02 /application/nginx]# tree
.
├── client_body_temp
├── conf
│   ├── fastcgi.conf    #和動態(tài)服務的接口配置參數(shù),配合php
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types     #媒體類型
│   ├── mime.types.default
│   ├── nginx.conf       #主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default    #和動態(tài)服務的接口配置參數(shù)
│   ├── uwsgi_params
│   ├── uwsgi_params.default   #和動態(tài)服務的接口配置參數(shù),配合Python
│   └── win-utf
├── fastcgi_temp
├── html       #默認站點目錄
│   ├── 50x.html
│   └── index.html   #默認的首頁,默認加載index.html
├── logs
│   ├── access.log
│   ├── error.log     #
│   └── nginx.pid    #進程號對應文件
├── proxy_temp
├── sbin
│   ├── nginx      #啟動命令
│   └── nginx.old
├── scgi_temp
└── uwsgi_temp

yum安裝查看安裝配置目錄

[root@web01 / ]# rpm -ql nginx

在此目錄里進行網頁的設置

[root@web02 /application/nginx/html]# ls
50x.html  index.html
[root@web02 /application/nginx/html]# vim index.html 

初步的web服務器的nginx安裝已經完成

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容