• nginx


    1. nginx简介

    nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。

    nginx的特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,

    中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

    2. nginx的特性与优点


    2.1 nginx的特性

        Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接
        高度的模块化和自由软件许可证是的第三方模块层出不穷(这是个开源的时代啊~)
        Nginx是一个跨平台服务器,可以运行在Linux,Windows,FreeBSD,Solaris, AIX,Mac OS等操作系统上
        这些优秀的设计带来的极大的稳定性

    2.2 nginx的优点

        高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到2-3万并发连接数
        内存消耗少:在3万并发连接下,开启的10个nginx进程才消耗150M内存(15M*10=150M)
        配置文件非常简单:风格跟程序一样通俗易懂
        成本低廉:nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币
        支持Rewrite重写规则:能够根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组
        内置的健康检查功能:如果Nginx Proxy后端的某台Web服务器宕机了,不会影响前端访问
        节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头
        稳定性高:用于反向代理,宕机的概率微乎其微
        模块化设计:模块可以动态编译
        外围支持好:文档全,二次开发和模块较多
        支持热部署:可以不停机重载配置文件
        支持事件驱动、AIO(AsyncIO,异步IO)、mmap(Memory Map,内存映射)等性能优化

    3. nginx反向代理

    多个客户端给服务器发送的请求,Nginx服务器接收到之后,按照一定的规则分发给了后端的业务处理服务器进行处理了。

    此时~请求的来源也就是客户端是明确的,但是请求具体由哪台服务器处理的并不明确了,Nginx扮演的就是一个反向代理角色。

    客户端是无感知代理的存在的,反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。

    反向代理,“它代理的是服务端”,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。


    3.1 反向代理的作用

        保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网
        负载均衡,通过反向代理服务器来优化网站的负载

    3.2 正向代理和反向代理的区别

        在正向代理中,Proxy和Client同属于一个LAN(图中方框内),隐藏了客户端信息;
        在反向代理中,Proxy和Server同属于一个LAN(图中方框内),隐藏了服务端信息;

    4. nginx的安装与配置

    4.1 nginx的安装

    //创建系统用户nginx

    [root@192 ~]# groupadd -r nginx
    [root@192 ~]# useradd -r -M -s /sbin/nologin -g nginx nginx

     //安装依赖环境

    [root@192i ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
    暗转过程省略......
    [root@@192 ~]# yum -y groups mark install 'Development Tools'
    安装过程省略......

    /创建日志存放目录

    [root@@192 ~]# mkdir -p /var/log/nginx
    [root@@192 ~]# chown -R nginx.nginx /var/log/nginx/

    //下载nginx,下载过程省略,存放至/usr/src目录下

    [root@192 src]# wget http://nginx.org/download/nginx-1.12.0.tar.gz
    [root@192 ~]# ls /usr/src/ |grep nginx
    

    //编译安装nginx

    [root@@192 src]# tar xf nginx-1.12.0.tar.gz
    [root@192 src]# cd nginx-1.12.0
    
    [root@192 nginx-1.12.0]# ./configure 
     --prefix=/usr/local/nginx 
     --user=nginx 
     --group=nginx 
     --with-debug 
     --with-http_ssl_module 
     --with-http_realip_module 
     --with-http_image_filter_module 
     --with-http_gunzip_module 
     --with-http_gzip_static_module 
     --with-http_stub_status_module 
     --http-log-path=/var/log/nginx/access.log 
     --error-log-path=/var/log/nginx/error.log
    //安装过程省略....
    
    [root@xaii nginx-1.12.0]# make -j $(grep 'processor' /proc/cpuinfo | wc -l) && make install
    //-j是指定多少内核
    //过程省略......

    4.2 nginx安装后的配置

    //添加环境变量

    [root@192 ~]# vim /etc/profile.d/nginx.sh
    [root@192 ~]# cat /etc/profile.d/nginx.sh 
    export PATH=/usr/local/nginx/sbin:$PATH
    [root@192 ~]# . /etc/profile.d/nginx.sh

    检查配置文件   输入版本信息

      //指定配置文件的路径 需要拷贝两个文件:nginx.conf和mime.type至新的路径

     cd /usr/local/nginx/conf^C
    [root@192 conf]# cp -a nginx.conf /opt/nginx/
    [root@192 conf]# cp -a mime.types /opt/nginx
    
    
    [root@192 /]# ps -ef |egrep -v 'grep'|grep nginx
    root      31789      1  0 12:31 ?        00:00:00 nginx: master process nginx
    nobody    31794  31789  0 12:31 ?        00:00:00 nginx: worker process

    //nginx和apache不能同时开启

    //因为apache和nginx的端口都是80,当apache服务开启时,无法开始nginx服务

     


    原文链接: https://blog.csdn.net/weixin_43695104/article/details/88034435

  • 相关阅读:
    记账本开发进程第四天
    记账本开发进程第三天
    记账本开发进程第二天
    记账本开发进程第一天
    《人月神话》阅读笔记三
    《人月神话》阅读笔记二
    一、计算机基础
    Fox and Minimal path CodeForces
    Maximum Value (二分+思维枚举)
    True Liars (思维想法+带权并并查集+01背包)
  • 原文地址:https://www.cnblogs.com/xingyuner/p/12743282.html
Copyright © 2020-2023  润新知