• nginx 基础


    nginx相关:
        1.nginx基本概念
            1.概述:
                    nginx是一个高性能的http和反向代理服务器,同时 也提供了IMAP/POP3/SMTP服务;
                特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务 器中表
                现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
                    nginx专门为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受  
                高负载的考验,可以支持高达50000个并发连接数.
            2.反向代理    
              1.正向代理:
                    在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网的访问,然后将数据返回给客服端;
                因为可以通过代理访问任意网站并且隐藏客户端自身,所以必须采取安全措施以确保仅为经过授权的客
                户端提供服务.
              2.反向代理:保护和隐藏原始资源服务器
                    将请求发给代理服务器,由代理服务器去选择目标服务器获取数据后,在返回给客户端;反向代理服
                务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器ip地址.                
            3.负载均衡
                定义:将负载进行平衡,分摊到多个服务器,从而协同完成工作任务.
                优点:加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性.
            4.动静分离
                定义:把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力.
        
        2.nginx 安装,常用命令与配置文件
            0.安装Nginx需要的相关依赖包:
                pcre-devel  zlib zlib-devel  openssl openssl-devel
              安装依赖包:
                yum install pcre-devel zlib zlib-devel openssl openssl-devel
                
            1.安装nginx:
                1)前往用户根目录
                >: cd ~
    
                2)下载nginx1.13.7
                >: wget http://nginx.org/download/nginx-1.13.7.tar.gz
    
                3)解压安装包
                >: tar -xf nginx-1.13.7.tar.gz
    
                4)进入目标文件
                >: cd nginx-1.13.7
    
                5)配置安装路径:/usr/local/nginx
                >: ./configure --prefix=/usr/local/nginx
    
                6)编译并安装
                >: make && sudo make install
    
                7)建立软连接:终端命令 nginx
                >: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
    
                8)删除安装包与文件:
                >: rm -rf nginx-1.13.7
                >: rm -rf nginx-1.13.7.tar.gz
    
                9)测试Nginx环境,服务器运行nginx,本地访问服务器ip
                >: nginx
                >: 服务器绑定的域名 或 ip:80
                
                查看开放的端口号: firewall-cmd --list-all
                设置开放的端口号: 
                    firewall-cmd --add-service=http --permanent
                    firewall-cmd --add-port=80/tcp --permanent
                重启防火墙: firewall-cmd --reload    
                
                
            2.nginx常见命令:
                0) 使用命令的前提:进入nginx的目录
                >:/usr/local/nginx/sbin
                1)启动
                >: nginx
    
                2)关闭nginx
                >: nginx -s stop
    
                3)重启nginx
                >: nginx -s reload
    
                4)查看端口,强行关闭
                >: ps -aux|grep nginx
                >: kill <pid:进程编号>
                
                5)查看nginx的版本号
                >: nginx -v
                        
            3.nginx配置文件
                1.位置:/usr/local/nginx/conf 下 nginx.conf中
                2.组成:由三部分组成
                    1.第一部分:全局块
                        作用:主要会设置一些影响nginx服务器整体运行的配置指令
                        worker_processes  1;  #
                        注:该值越大,可以支持的并发处理数量也越多,但是受到硬件,软件等设备的制约
                     
                    2.第二部分:events块
                        作用:主要会设置一些影响nginx服务器与用户的网络连接
                        events {
                            worker_connections  1024; #支持最大连接数为1024
                        }
                        注:这部分的配置对nginx的性能影响较大
        
                    3.第三部分:http块 配置最频繁的部分
                        http块可以分为:http全局块与server块
                        http全局块:配置的指令包括文件引入,mime-type定义,日志自定义,连接超时时间,单链接请求数上限
                        server块:与虚拟主机有密切关系
                        
                        http {
                            include       mime.types;
                            default_type  application/octet-stream;
    
                            sendfile        on;
                            
                            keepalive_timeout  65;
    
                            server {
                                listen       80;
                                server_name  local host;
    
                                location / {
                                    root   html;
                                    index  index.html index.htm;
                                }
    
                                #error_page  404              /404.html;
                                error_page   500 502 503 504  /50x.html;
                                location = /50x.html {
                                    root   html;
                                }
                                ...
                        }            
    
        3.nginx原理
      
    1. 1个master多个worker的优势:
                1.可以使用 nginx -s reload 热部署,利用nginx进行热部署操作
                2.每一个worker都是独立的进程,其中一个挂了,不会影响到其他的worker的正常争抢,不会造成服务中断
            
            2.设置多少个worker
                worker数与cpu数相等最合适;
                
            3.连接数worker_connections
                1.发送请求会占用worker的多少个连接数   两个或者四个
                2.计算最大并发数公式:
                    普通静态资源访问:worker_connections*worker_processes/2
                    http做反向代理时:worker_connections*worker_processes/4       
  • 相关阅读:
    jQuery和AngularJS的区别小分析
    Angular.element和$document的使用方法分析,代替jquery
    AngularJS中bootstrap启动
    angular 依赖注入原理
    AngularJS介绍
    箭头函数
    Object.create 函数 (JavaScript)
    forEach 方法 (Array) (JavaScript)
    Petapoco 查询 语法
    C# 方法中带默认值的参数
  • 原文地址:https://www.cnblogs.com/wyf20190411-/p/13943244.html
Copyright © 2020-2023  润新知