web服务

作者: 阿昊v | 来源:发表于2019-04-30 12:48 被阅读0次

    Nginx

    Nginx是目前最流行的静态web服务软件

    1、nginx介绍

    是一个开源的、支持高性能、高并发的www服务和代理服务软件。

    2、Nginx三大主要功能

    1)网页服务:web服务,自身是静态web服务。
    apche,lighttpd、IIS
    还支持动态web服务
    PHP(fasttcgi_pass)
    python(uwsgi_pass)
    JAVA(proxy_pass)
    memcache(mecache_pass)
    2)负载均衡\反向代理
    haproxy、lvs、F5、netscaler
    之前只支持http,现在TCP/UDP
    3)缓存服务器
    squid、varnish

    3、特点:

    2008年冒头,当时Apache是老大,Nginx如何超越对手的。
    Apache 43% Nginx42%
    特点:金泰小文件高并发,占用资源少。软件本身小。

    企业面试时需要解答如下Nginx HTTP服务器的特色及优点:

    1)支持高并发:能支持几万并发连接(特别是静态小文件业务环境)。
    2)资源消耗少:在3万并发连接下,开启10个Nginx线程消耗不到200MB内存。
    3)可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对Rs节点服务器健康检查功能,这相当于专业的haproxy软件或1vs的功能具备squid等专业缓存软件等的缓存功能。

    4、Nginx作为web服务器的主要应用场景;

    1)静态Web服务器:吏用Nginx运行HTML、 JS,Css、小图片等静态数据(此功能类似lighttpd软件)
    2)配合运行动态web服务器:
    Nginx结合FastCGI运行PHP等动态程序(例如使用fastcgi pass方式)
    Nginx结合等支持Java动态程序(tomcat/resin(常用proxy pass方式)。
    Nginx结合uwsgi-pass支持Python。
    3)反向代理/负载均衡
    http负载均衡
    4)做web缓存服务器(把文件放入内存里)

    5、反向代理与负载均衡

    代理:海外代购 ,微商:代理:代替别人做事。
    正向代理:由内向外。 代替 效率低
    代替局域网内PC,请求外部应用服务。
    反向代理: 由外向内 代替 效率低
    代替外部的用户请求内部的应用服务。
    负载均衡:转发、效率高
    甩手掌柜。
    6·为什么Nginx总体性能比Apache高?
    Nginx使用最新的epoll (Linux2.6内核)和kqueue (freebsd)异步网络1/0模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的Squid, Memcached软件都采用的是epoll模型。
    Apache则使用的是传统的select模型,Nginx使用高并发的epol1模型
    举例:
    select模型:朋友去宿舍找你。一个一个宿舍找,#效率低
    epoll模型:朋友去宿舍找你,先问宿管大妈,看看在哪间宿舍,然后直奔宿舍。#效率高

    7、软件安装

    1、rpm安装简单快。依赖多,解决依赖困难繁琐。
    2、yum安装*****简单快, 自动解决依赖。不能选择软件版本或软件存放路径。
    3、编译安装(源码编译) *****慢复杂需要GCC编译器,可以自定义安装(版本、软件路径)
    4、将源码制作成rpm,然后放到yum仓库,实现yum自动安装。一次性慢复杂,安装快,可以自定义安装(版本、软件路径)
    5、二进制安装制作RPM YUM仓库搭建https: //blog.oldboyedu.com/autodeploy-rpm/
    8、Nginx安装
    两种安装方法:
    yum安装
    epel源:版本低。
    nginx官方源:版本高。

    编译安装

    pcre:URL重写软件,即实现伪静态需要这个软件
    下载:
    [root@web02 /server/tools]# wget http://nginx.org/download/nginx-1.16.0.tar.gz  #没有这个目录需要创建
    安装依赖 :
    yum install pcre pcre-devel -y
    yum install openssl openssl-devel -y 
    解压:
    [root@web02 /server/tools]# tar xf nginx-1.16.0.tar.gz
    创建用户:
    [root@web02 /server/tools/nginx-1.16.0]# useradd -s /sbin/nologin www -M
    执行:
    在当前目录下执行
    ./configure --user=www --group=www --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module
    ###############注释:每执行一步需要 执行以下echo $?    显示0表示正确
    编译
    执行这条命令:make&&make install
    做软连接:
    ln -s /application/nginx-1.16.0/ /application/nginx
    执行nginx:
    /application/nginx/sbin/nginx
    结束
    
    nginx目录介绍
    [root@web02 /application/nginx]# tree
    .
    ├── client_body_temp
    ├── conf
    │   ├── fastcgi.conf
    │   ├── 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
    │   ├── uwsgi_params 
    │   ├── uwsgi_params.default  #动态服务的接口配置参数
    │   └── win-utf
    ├── fastcgi_temp
    ├── html #默认站点目录
    │   ├── 50x.html
    │   └── index.html #默认的首页,不指定,默认加载index.html首页。
    ├── logs
    │   ├── access.log #访问日志
    │   ├── error.log #Nginx错误日志
    │   └── nginx.pid
    ├── proxy_temp
    ├── sbin
    │   ├── nginx #启动命令
    │   └── nginx.old
    ├── scgi_temp
    └── uwsgi_temp
    

    相关文章

      网友评论

          本文标题:web服务

          本文链接:https://www.haomeiwen.com/subject/htrmnqtx.html