三十六、www服务nginx介绍

一、Nginx介绍

      相对于LAMP经典组合而言,LNMP是近几年来流行的组合。(linux+nginx+mysql+php)

       Nginx是一个开源www服务软件,是俄罗斯人开发的,本身是一款静态www软件(解析html,js,css,jpg等),大小只有780K左右。

       特点:静态小文件高并发(同时处理连接数多,3W并发,10个线程,150M内存),占用的资源很少,使用平台是unix、linux、windows都可以。

nginx服务从大的方面的功能:

       a.www web服务器 :http服务 端口为 80

       b.负载均衡(反向代理)

       c.web cache(web缓存)

     nginx优点:1)高并发(静态小文件) 

         2 )占用资源少(apache占用资源多)

                        3)功能种类比较多(web、cache、proxy) ,但是每一个功能都不是完善的

        4)nginx配合动态服务和apache是有区别的

                        5)利用nginx可以对IP限速,可以限制连接数。

                        6)  支持epoll模型,使得nginx支持高并发。

         7)配置简单灵活 

二、LAMP和LNMP的框架原理

       nginx配合动态服务和apache是有区别的,如上图,apache中,如果是动态数据请求,还是调用的apache,php是apache的一个模块;如果是nginx,如下,在用户请求动态数据的时候,nginx会检索相应的扩展名是.PHP的话,通过自身的fastcgi_pass文件调用去访问php所在机器的9000端口服务,如图所示,此服务是PHP FCGI服务。

三、nginx的应用场景

    1.静态服务器(图片,视频服务,html,js,css,flv等),另一个是lighttpd

    2.动态服务器 ,就是nginx+fastcgi的方式运行php,jsp  (如上图,nginx可以支持大并发,但是架不住FCGI服务或者MySQL后端不支持大并发,保守估计也就500-2000之间,如果sql很烂,3-5条就挂了)

    3.反向代理,负载均衡(F5或者A10)。nginx主动发起一个请求,代替客户端发起一个请求(反向代理),和lvs的转发(直接抛给后面)有区别的。

    4.缓存服务:varnish    squid等

nginx在处理大文件(10M以上)、动态文件时,优势不是很明显。

四、nginx虚机主机:1)基于域名 (外部网站)   2)基于端口 (公司内部网站)  3)基于IP(不完善)

     一个server标签就是一个虚拟主机。

五、安装nginx(编译安装步骤)

    1.在安装前,需要安装nginx所需的pcre库,中文pcre兼容正则表达式,安装pcre,是为了支持伪静态HTTP Rewrite,yum install  pcre pcre-devel -y

    2.在安装前,需要安装openssl,防止报错:yum install openssl openssl-devel -y  (nginx支持https的时候用到)

    3.centos8下安装这个 wget http://nginx.org/download/nginx-1.17.6.tar.gz

    3.创建用户:      

[root@djw1 ~]# useradd nginx -M -s /bin/nologin

    4.因为一般nginx把能装的核心都装了,所以这边只是简单的配置

 

 [root@djw1 tools]# tar xf nginx-1.6.2.tar.gz
 [root@djw1 tools]# cd nginx-1.6.2

  ./configure \
--prefix=/application/nginx1.6.2 \   
--user=nginx \ 
--group=nginx \
--with-http_ssl_module \
--with-http_stub_status_module

   make && make install

  创建链接:[root@djw1 application]# ln -s /application/nginx1.6.2/ /application/nginx

 5.启动nginx:/application/nginx/sbin/nginx -t             /application/nginx/sbin/nginx

   [root@djw1 application]# netstat -lntup |grep nginx
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      4038/nginx         
[root@djw1 application]# lsof -i:80
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   4038  root    6u  IPv4  16825      0t0  TCP *:http (LISTEN)
nginx   4039 nginx    6u  IPv4  16825      0t0  TCP *:http (LISTEN)

  访问:

 

 

如果有错,可以看下   cat /application/nginx/logs/error.log 

posted @ 2019-07-27 16:23  小熊尤里  阅读(697)  评论(0编辑  收藏  举报