• Nginx模块及配置虚拟主机


    1、Nginx的2组主要的模块

    (1)core modules (必需,核心模块)

      包括:Main、Events

    (2)Standard HTTP modules(虽然不是必需,但是缺省都会安装,不建议改动)

      缺省条件下,这两组模块都会安装,修改配置文件,主要是根据2组模块的功能来修改模块的参数。可通过nginx官网查看模块的功能。

    2、Nginx的配置文件。

      

       静态文件只需要修改 nginx.conf 就可以,动态文件需要结合 fastcgi.conf  和 fastcgi_params 修改。带有 default 的文件和上面的文件是一样的。

    3、nginx主配置文件nginx.conf

      Nginx的配置文件是一个纯文本文件,位于Nginx安装目录的conf目录下,整个配置文件是以块的形式组织的。每个块一般以一个大括号“{}”来表示,块可以分为几个层次,整个配置文件中Main指令位于最高层,在Main层下面可以有Events、HTTP等层级,而在HTTP层中又包含有Server层,即server block,server block中又可以分为location层,并且一个server block中可以包含多个location block。

    4、配置Nginx虚拟主机

    (1)在配置文件中添加虚拟主机

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

    server {
            listen       80;
            server_name  www.baidu.com;
                root   html/www;
                index  index.html index.htm;
        }
         server {
            listen       80;
            server_name  bbs.baidu.com;
                root   html/bbs;
                index  index.html index.htm;
        }
          server {
            listen       80;
            server_name  blog.baidu.com;
                root   html/blog;
                index  index.html index.htm;
        }

    (2)检查语法并启动nginx

    /application/nginx/sbin/nginx -t  #检查语法
    /application/nginx/sbin/ngixn    #启动Nginx
    /application/nginx/sbin/nginx -s reload #平滑重启

    (3)创建三个目录,和上面虚拟主机的域名对应

    mkdir /application/nginx/html/{www,bbs,blog}

    (4)使用循环的方法在三个目录下创建标签页,并写入内容

    for n in www bbs blog;do echo "$i.baidu.com" >/application/nginx/html/$n/index.html;done
    #创建index的标签页
    for n in www bbs blog;do cat /application/nginx/html/$n/index.html;done
    #查看三个标签的内容

    (5)在本机的hosts文件中添加虚拟主机

    C:WindowsSystem32driversetchosts

     (6)本地ping测试:

     (7)浏览器测试:

     

    5、配置虚拟主机流程:

    (1)复制一个完成的server标签段到结尾,注意,要放在http的结束大括号前,也就是server标签段放入http标签。

    (2)更改server_name及对应网页的root根目录

    (3)检查配置文件语法, 平滑重启服务。

    (4)创建server_name对应网页的根目录,并且建立测试,如果没有index首页会出现403错误。

    (5)在客户端对server_name的主机名做host解析和DNS配置,并检查(ping域名看返回的结果)

    (6)浏览器访问,或在linux客户端做host解析,用wget或curl访问。

    6、添加Nginx状态信息:

    (1)在配置文件中添加一个serer标签

    #status
           server {
           listen       80;
           server_name  status.baidu.com;
             stub_status  on;  #状态模块 - 打开
             access_log   off;  #不记录日志
        }

    (2)本地hosts文件中添加一个域名

    (3)ping测试:

       返回正常。

    (4)浏览器访问 status.baidu.com

     状态说明:

      ①Active connections  

        Nginx正处理的活动连接数为2个

      ②server accepts handled requests

        第一个server,表示nginx启动到现在共处理了4个连接

        第二个accepts,表示nginx启动到现在共成功创建4次握手

          请求丢失数=(握手数-连接数),本次状态显示没有丢失请求。

        第三个handled requests,表示总共处理了81次请求

      ③Reading:nginx读取到客户端的Header信息数

      ④Writing:nginx返回给客户端的Header信息数

      ⑤Waiting:nginx已经处理完正在等候下一次请求指令的驻留连接,开启keep-alive的情况下。

      这个值等于 active-(reading+writing)

    7、重定向访问的网址:

    (1)添加一个server标签段

     server {
            listen       80;
            server_name  baidu123.com;
            rewrite ^/(.*) http://bbs.baidu.com/$1 permanent;
        }

      如果访问的是baidu123.com那么重写网址到bbs。将 / 后面的所有内容都重定向到bbs.baidu.com ,括号为分组,$1为将第一个分组的内容,permanent表示永久生效。

    (2)将baidu123.com写入到本地hosts文件中。测试:输入baidu123.com将自动重定向到bbs.baidu.com

    8、基于端口的配置:

    (1)修改server标签段的端口号

     server {
            listen       8000;    #端口改为8000
            server_name  bbs.baidu.com;
                root   html/bbs;
                index  index.html index.htm;
        }

    (2)测试:

      使用IP地址解析:

     9、基于IP的配置

    (1)将server标签修改为IP

      server {
            listen       192.168.3.138:80;
            server_name  www.baidu.com;
                root   html/www;
                index  index.html index.htm;
        }

    (2)测试:

  • 相关阅读:
    socket的双重属性
    Client/Server 模型 与socket
    简单理解Socket 重要
    C++ 异常处理机制的实现
    ARM汇编之MOV指令
    指令集 与 cpu
    寄存器简介 与 ebp esp
    ESP和EBP 栈顶指针和栈底指针
    函数调用过程栈帧变化详解
    栈帧
  • 原文地址:https://www.cnblogs.com/wqs-Time/p/11760308.html
Copyright © 2020-2023  润新知