Nginx部署页面

1. nginx在企业中实际应用

1) 企业中实现多个网站配置
实现多个网站在一台服务器上配置==>实现多个虚拟主机==>实现多个server区块配置
第一个历程: 编写多个server配置文件
  [root@web01 html]# cd /etc/nginx/conf.d/
    [root@web01 conf.d]# ll
    total 12
    -rw-r--r-- 1 root root  127 Mar 12 12:17 www.conf
www网站虚拟主机
[root@web01 conf.d]# cat www.conf 
server {
   listen   80;
   server_name  www.oldgirl.com;
   location / {
       root  /html/www;
       index index.html;
   }
}
    bbs网站虚拟主机配置
    server {
       listen   80;
       server_name  bbs.oldgirl.com;
       location / {
           root  /html/bbs;
           index index.html;
       }
    }
blog网站虚拟主机配置
[root@web01 conf.d]# cat blog.conf 
server {
   listen   80;
   server_name  blog.oldgirl.com;
   location / {
       root  /html/blog;
       index index.html;
   }
}
    第二个历程: 创建站点目录并编写站点目录代码文件
    mkdir /html/{www,bbs,blog} -p
    [root@web01 conf.d]# mkdir /html/{www,bbs,blog} -p
    [root@web01 conf.d]# for name in www bbs blog;do echo $name.oldgirl.com_web01 >/html/$name/index.html;done
    [root@web01 conf.d]# tree /html/
    /html/
    ├── bbs
    │?? └── index.html
    ├── blog
    │?? └── index.html
    ├── index.html
    ├── oldboy.jpg
    └── www
        └── index.html
    
    3 directories, 5 files
[root@web01 conf.d]# for name in www bbs blog;do cat /html/$name/index.html;done
www.oldgirl.com_web01
bbs.oldgirl.com_web01
blog.oldgirl.com_web01
    第三个历程: 重启nginx服务
    [root@web01 conf.d]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    [root@web01 conf.d]# systemctl reload nginx
第四个历程: 进行访问测试
windows: 在windows主机中修改hosts

linux: 在linux主机上修改hosts
[root@web01 conf.d]# curl  www.oldgirl.com
www.oldgirl.com_web01
[root@web01 conf.d]# curl  bbs.oldgirl.com
bbs.oldgirl.com_web01
[root@web01 conf.d]# curl  blog.oldgirl.com
blog.oldgirl.com_web01

2.企业中实现页面显示站点目录结构(WEB服务-->文件服务器)

  • 准备目录结构环境
[root@lixin /usr/share/nginx/html]#  mkdir li{01..05}

  • 编写配置文件
[root@lixin /etc/nginx/conf.d]# vim www.conf 
server {
    listen       80;
    server_name  www.laoli.com;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        autoindex on;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
~                                         

注意:只有当默认首页文件不存在时,autoindex on;指令功能才能生效

image.png

2.1 如何让目录索引结构中可以显示中文信息

charset UTF-8; 实现网页信息中文显示

[root@lixin /etc/nginx/conf.d]# vim www.conf 
server {
    listen       80;
    server_name  www.laoli.com;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        autoindex on;
        charset UTF-8;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
[root@lixin /usr/share/nginx/html]# mkdir 老李头
[root@lixin /usr/share/nginx/html]# ll
total 8
-rw-r--r-- 1 root root 494 Apr 23 22:36 50x.html
-rw-r--r-- 1 root root  14 Jul 21 11:08 index.html.ori
drwxr-xr-x 2 root root   6 Jul 21 11:10 li01
drwxr-xr-x 2 root root   6 Jul 21 11:10 li02
drwxr-xr-x 2 root root   6 Jul 21 11:10 li03
drwxr-xr-x 2 root root   6 Jul 21 11:10 li04
drwxr-xr-x 2 root root   6 Jul 21 11:10 li05
drwxr-xr-x 2 root root   6 Jul 21 11:22 老李头
image.png

2.3 如何全局让目录索引结构中可以显示中文信息

将指令信息放在HTTP区块
官方:nginx.org

3.如何理解媒体资源类型文件

/etc/nginx/mime.types;

a) 在媒体资源类型文件中定义的资源信息,才能被nginx识别为静态信息,进行处理
b) 在媒体资源类型文件中没有定义的资源,会进行下载处理

4.企业中虚拟主机配置方式

a) 基于域名配置方式 *****

[root@lixin /etc/nginx/conf.d]# vim www.conf 
server {
    listen       80;
    server_name  www.laoli.com;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        autoindex on;
        charset UTF-8;
    }
}

b) 基于端口配置方式

[root@lixin /etc/nginx/conf.d]# vim www.conf 
server {
    listen       8080;
    server_name  www.laoli.com;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        autoindex on;
        charset UTF-8;
    }
}
[root@lixin /etc/nginx/conf.d]# netstat -lntup|grep nginx
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      7834/nginx: master  

补充:用户访问网站流程
1.用户打开浏览器输入网站按下回车
2.进行域名解析 www.laoli.com ---- 10.0.0.41
3.利用解析地址进行访问(建立三次握手)
4.发送HTTP请求报文
hosts:www.laoli.com
访问服务端口信息:8080 (如果不手动添加,默认访问80)
5.服务端接收HTTP请求,进行分析处理
1.检查端口是否存在
2.那些虚拟主机监听了80端口
3.检查请求的hosts信息是否和监听端口匹配server主机信息是否一致
特殊情况:当请求的hosts信息,当域名和端口号都不一致时,呢么显示符合端口要求的加载第一个虚拟主机的页面信息
6.进行HTTP响应报文发送

c) 基于IP地址的访问 ---负载均衡访问

[root@lixin /etc/nginx/conf.d]# cat www.conf 
    server {
       listen   172.16.1.7:80;
       server_name  www.laoli.com;
       location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        autoindex on;
        charset UTF-8;
       }
    }
    PS: 在nginx中涉及监听IP地址的修改, 需要重启nginx服务,不能采用平滑重启
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。