• Nginx详解


    Nginx详解

    一、Nginx介绍

    nginx:开源的,高性能的。高并发的www服务器和代理服务
       对静态资源处理能力强,占用资源极少,
       高并发状态下容易造成崩溃
    同类型web服务:apache、tomacat、resin、weblogic
    反向代理:lvs、haproxy
    前端缓存:squid、vanish

    二、Nginx重要特性

    ①支持高并发    ②资源消耗少

    三、Nginx三大功能

    ①web服务  ②前端缓存  ③反向代理

    Nginx使用的是epoll模型
    Apache使用的是select模型(初始模型,性能差)
    Apache在处理动态资源的时候比Nginx强
    什么是epoll:异步I/O网络非阻塞模型
    什么是select:同步I/O网络阻塞模型

    四、Nginx安装

    安装Nginx的支持包:pcre-devel openssl-devel
    解压nginx包到/usr/local
    进入nginx解压后的包进行编译:

    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install

    做软连接或环境变量==>echo "PATH=$PATH:/usr/local/nginx/sbin" >> /etc/profile

    五、Nginx的使用

    ——打开nginx配置文件:vim /usr/local/nginx/conf/nginx.conf

    将没用的清空,去#注释内容留如下图所示:

    work_processes==>工作的进程数,跟cpu核数相对应
    worker_connections  1024;==>进程里的线程数,默认1024,工作中写成20倍—20480
    http下面的大函数里面跟wed服务器有关
      include  mime.types;==>导入函数mime装的所有函数,相对路径
      sendfile  on;==>默认开启nginx文件的高效传输功能
      keepalive_timeout  65;==>默认开启连接保持65秒(连接保持状态可以免tcp三次握手,提高效率)
      server  函数:代表一个网站
      listen  80;==>默认监听socket端口;http默认80端口
      server_name  localhost;==>server_name做域名
      location  / ==>搜索网址时,后面会有/符号
        root  html;==>默认网页根目录路径开始
        index  index.html  index.htm;==>首页

     include  相对路径==>可以在另一个文件写配置文件然后导入

     location五个优先级

    location / —>默认匹配
    location =/ —>精确匹配
    location =/images/ —>精确匹配,后面什么都不能有
    location /documents/ —>前缀型字符串匹配,必须从根开始,后面任意
    location ^~ —>前缀型正则匹配,特殊正则,必须以正则开头
    location ~*.(gif|jpg|jpeg)$ —>正则匹配,不需要从头开始,只要含有以.gif|.jpg|.jpeg结尾就行
    ———>精确匹配>特殊正则(^~)>普通正则(~*)>字符串前缀匹配(/images/)>默认匹配

    启动Nginx服务==>/usr/local/nginx/sbin/nginx

    检验Nginx配置文件是否正确==>/usr/local/nginx/sbin/nginx -t

    重启Nginx服务==>/usr/local/nginx/sbin/nginx -s reload(每次修改配置文件都需重启服务)

     六、Nginx rewrite(重写)

    写法:rewrite regex(正则) replacement(匹配到的内容进行重写) 【flag】(结尾);
    例:rewrite ^/(.*) http://www.baidu.com/$1 permanent;

    flag四种标记:last-本条规则匹配完成之后,继续向下匹配新的location URI规则
          break-本条规则匹配完成即终止,不再匹配后面任何规则
          redirect-返回302临时重定向
          permanent-返回301永久重定向
    ———————————————————————
    if ( $http_host ~* "^(.*).yunjisuan.com$" ) {
    set $domain $1;==>set赋值,将$1赋值给$domain
    rewrite ^(.*) http://www.yunjisuan.com/$domain break;
    }

    if语句:如果if匹配到一任意开头.yunjisuan以 .com结尾,则使用rewrite转化成www.yunjisuan.com/

    如下图所示:

    将benet1.yunjisuan.com跳转到www.yunjisuan.com/benet1/index.html

    七、Nginx访问认证(可以设密码)

    需要htpasswd,如果没有需要装http:

    yum -y install httpd

    生成密码:

    htpasswd -bc /usr/local/nginx/conf/htpasswd yunjisuan 123123

    查看一下密码文件:

    cat /usr/local/nginx/conf/htpasswd==>是加密的密码

    在虚拟主机里加配置==>vim /usr/local/nginx/conf/nginx.conf
    location里index index.html index.htm下添加
      auth_basic  "welcome to my home";==>标题随便写
      auth_basic_user_file  /usr/local/nginx/conf/htpasswd;==>密码文件路径
    如下图所示:

    ——————配置完成

    登录www.yunjisuan.com时会出现认证:

    八、Nginx日志切割脚本

     



  • 相关阅读:
    重排列
    最多分成多少块
    后面第一个大于
    走格子
    硬币游戏
    还是01串
    戴德兰
    个人所得税
    最长高地
    执行Commit时Oracle做哪些工作
  • 原文地址:https://www.cnblogs.com/heroke/p/9921695.html
Copyright © 2020-2023  润新知