主机名称和IP地址规划

服务 主机名 eth0网卡IP eth1网卡IP 软件
防火墙服务器 firewalld 10.0.0.81 172.16.1.81 firewalld
负载均衡服务器 lb01 10.0.0.5 172.16.1.5 nginx,keepalived
负载均衡服务器 lb02 10.0.0.6 172.16.1.6 nginx,keepalived
web服务器 web01 10.0.0.7 172.16.1.7 nginx
web服务器 web02 10.0.0.8 172.16.1.8 nginx
web服务器 web03 10.0.0.9 172.16.1.9 nginx
存储服务器 nfs01 10.0.0.31 172.16.1.31 nfs
备份服务器 backup 10.0.0.41 172.16.1.41 rsync
数据库服务器 db01 10.0.0.51 172.16.1.51 mysql,mariaDB
批量管理服务器 m01 10.0.0.61 172.16.1.61 ansible
跳板机服务器 jumpserver 10.0.0.71 172.16.1.71 jumpserver
监控服务器 zabbix 10.0.0.72 172.16.1.72 zabbix
缓存服务器 暂无 暂无 暂无 暂无

nginx服务搭建网站文件共享服务器

  • nginx索引模块: ngx_http_autoindex_module
  • Syntax: autoindex on | off;
  • Default:
  • autoindex off;
  • Context: http, server, location

注意事项

  1. 需要将首页文件进行删除,也不能有默认的首页文件存在
  2. mime.types媒体资源类型文件作用,在该文件中有的资源会直接访问,没有的会直接下载
  3. 如果访问文件名为中文的资源,如果没有配置字符集,会出现乱码
server {
    listen       80;
    server_name  www.1997sty.com;
    root   "/WWW/public";
    location / {
         autoindex on;
#        index  index.php index.html index.htm;
    }
}

设置字符集为utf-8或gbk

server {
    listen       80;
    server_name  www.1997sty.com;
    root   "/WWW/public";
    location / {
         autoindex on;
         charset gbk;
#        charset utf-8;
#        index  index.php index.html index.htm;
    }
}
charset gbk;

nginx服务搭配置文件别名功能

  • nginx的server_name可以同时配置多个
server {
    listen       80;
    server_name  www.1997sty.com 1997sty.com;
    root   "/WWW/public";
    location / {
        index  index.html index.htm;
    }
}

nginx状态模块功能对网站进行监控

  • nginx状态模块: ngx_http_stub_status_module
  • 如果将nginx.conf中,keepalive_timeout改为0,即http请求为短连接,则requests数量会接近acceptshandled
server {
    listen       80;
    server_name  www.1997sty.com;
    root   "/WWW/public";
    location / {
        stub_status;
    }
}

返回结果

  • Active connections : 激活的连接数信息
  • accepts : 接收的连接数汇总(综合) TCP
  • handled : 处理的连接数汇总(综合) TCP
  • requests : 总计的请求数量 HTTP协议请求
  • Reading : nginx服务读取请求报文的数量
  • Writing : nginx服务响应报文信息数量
  • Waiting : nginx队列机制,要处理(读取或者响应保存进行保存)监控
Active connections: 2 
server accepts handled requests
 4 4 7 
Reading: 0 Writing: 1 Waiting: 1 

nginx日志功能配置

日志文件信息需要做切割处理

  • nginx日志模块: ngx_http_log_module
  • Syntax: access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
  • access_log off;
  • Default:
  • access_log logs/access.log combined;
  • Context: http, server, location, if in location, limit_except
vi nginx.conf

#定义日志内容格式
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';
#日志保存位置和调用日志格式
access_log  /var/log/nginx/access.log  main;
  • $remote_addr : 显示用户访问源IP地址信息
  • $remote_user : 显示认证的用户名信息
  • $time_local : 显示访问网站时间
  • $request : 请求报文的请求行信息
  • $status : 用户访问网站状态码信息
  • $body_bytes_sent : 显示响应的数据尺寸信息
  • $http_referer : 记录调用网站资源的连接地址信息
  • $http_user_agent : 记录用户使用什么客户端软件进行访问页面的
  • $http_x_forwarded_for : 负载均衡

错误日志

  • Syntax: error_log file [level];
  • Default:
  • error_log logs/error.log error;
  • Context: main, http, mail, stream, server, location
error_log  /var/log/nginx/error.log warn;
  • debug : 调试级别,服务运行的状态信息和错误信息详细显示
  • info : 信息级别,只显示重要的运行信息和错误信息
  • notice : 通知级别,更加重要的信息进行通知说明
  • warn : 警告级别,可能出现了一些错误信息,但不影响服务运行
  • error : 错误级别,服务运行已经出现了错误,需要进行纠正
  • crit : 严重级别,必须进行修改调整
  • alert : 严重警告级别,必须进行错误修改
  • emerg : 灾难级别,服务已经不能正常运行

nginx服务location作用说明

  • nginx位置模块: ngx_http_core_module
  • Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }
  • location @name { ... }
  • Default: —
  • Context: server, location
#精确匹配,优先级最高
location = / {
    [ configuration A ]
}
#默认匹配,优先级最低
location / {
    [ configuration B ]
}
#按照目录进行匹配,优先级第三
location /documents/ {
    [ configuration C ]
}
#优先匹配/不识别uri信息中符号信息,优先级第二
location ^~ /images/ {
    [ configuration D ]
}
#不区分大小写进行匹配,优先级第三
location ~* \.(gif|jpg|jpeg)$ {
    [ configuration E ]
}

利用nginx实现页面跳转功能

  • nginx跳转功能: http_rewrite_module
  • Syntax: rewrite regex replacement [flag];
  • Default: —
  • Context: server, location, if
server {
   server_name  1997sty.com;
   rewrite ^/(.*) http://www.1997sty.com/$1 permanent;
}
  • permanent : 301 会将跳转信息进项缓存 永久跳转
  • redirect : 302 不会缓存跳转信息 临时跳转