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:\Windows\System32\drivers\etc\hosts

 (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)测试:

 

posted @ 2019-10-29 17:40  Lillard-Time  阅读(636)  评论(0编辑  收藏  举报