00.课程介绍部分
1.nginx服务企业配置方法
a 企业环境多个网站搭建
b 企业利用网站服务搭建共享存储目录
c 企业利用网站服务实现安全访问
网站页面进行策略控制
网站页面访问认证控制
d 网站页面状态监控功能
e 网站日志信息配置方法
2.nginx服务location配置 匹配URI
3.nginx服务rewrite配置 跳转
课程规划:
1.LNMP架构部署 访问动态资源
2.nginx反向代理负载均衡 调度处理(分配给不同的web)
3.keepalived高可用服务 实现主备切换
4.配置部署HTTPS安全访问
7-16号综合架构搭建 10天时间
综合架构扩展:
1.监控服务zabbix 基础配置部分
2.防火墙iptables firewalld防火墙
3.跳板机jumpserver
4.vpn ntp 搭建yum仓库
5.LVS负载均衡
6.tomcat java web服务
01.课程回顾总结
1.nginx程序目录结构信息
/etc/nginx/nginx.conf 主配置文件
/etc.nginx/conf.d/default.conf 扩展配置文件
/etc/nginx/fastcgi_params php的接口配置文件
/etc/nginx/mime.types 可以识别的资源信息合集
/etc/nginx/scgi_params 网关接口配置文件
/etc/nginx/uwsgi_params python接口配置文件
/usr/sbin/nginx 命令执行文件 nginx 启动 nginx -s stop/reload nginx -t nginx -V
/usr/share/nginx 站点目录 把所有资源信息做整合
/var/cache/nginx 数据信息是否缓存
/var/log/nginx 日志信息
2.nginx服务的配置文件信息
3.用nginx部署静态网页
1.编辑配置文件
server {
listen 80;
server_name xxxxx(域名);
root /urs/share/nginx/html;
index index.html;
}
2.重启服务
3.必要要有响应的站点目录以及首页文件
编辑首页文件
4.配置本地解析 Windows里的hosts文件
10.0.0.x www.oldboy.com
01.nginx多网站配置方法:
第一步:编写多个网站配置文件
# vim bbs.conf
server {
listen 80;
server_name bbs.oldboy.com;
root /html/bbs;
index index.html;
}
# vim blog.conf
server {
listen 80;
server_name blog.oldboy.com;
root /html/blog;
index index.html;
}
# vim www.conf
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html;
}
第二步:创建站点目录/创建网页首页文件
mkdir /html/{www,blog,bbs} -p
for name in www bbs blog;do echo $name.oldboy.com >>/html/$name/index.html;done
第三步:进行DNS本地解析
10.0.0.7 www.oldboy.com bbs.oldboy.com blog.oldboy.com
网站页面访问方式:
1.基于域名访问方式
2.基于地址访问方式
配置: /etc/nginx/nginx.conf
include /etc/nginx/conf.d/www/conf;
结论:nginx服务涉及到IP地址的修改,必须重启nginx服务
3.基于端口的访问方式
修改扩展配置文件
listen 8080;
访问时需要匹配三项: host 端口信息 IP信息
如果host匹配不上,后两项能匹配,按照主配置文件加载顺序显示
ll /etc/nginx/conf.d/*.conf
02.企业利用网站服务搭建共享存储目录
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html;
autoindex on; ---必须满足首页文件不存在 -->显示站点目录数据信息
页面显示出现乱码:
charset utf-8
http://nginx.org/en/docs/ ---nginx程序可用的模块
http://nginx.org/en/docs/dirindex.html ---nginx程序所有可以配置指令参数
http://nginx.org/en/docs/varindex.html ---nginx程序所有变量信息配置
03.利用nginx服务配置安全访问控制
a 根据用户IP地址限制访问
欧美:不能让10.0.0.1地址访问
日韩:可以让10.0.0.1地址访问
大陆:只能让172.16.1.0网段访问
第一步:编写nginx扩展配置文件www.conf
location xxx(URI){
allow 10.0.0.1 -->日韩
deny 10.0.0.1 -->欧美
allow 172.16.1.0/24 -->大陆
}
location区域嵌入在server区域内
location /欧美{
deny 10.0.0.1;
allow all;
}
location /日韩{
allow 10.0.0.1;
deny all;
}
location /大陆{
allow 172.16.1.0/24;
deny all;
}
b 利用认证方式进行访问控制
会员专区访问: 输入用户名和密码信息
免费专区访问: 直接看到信息
第一步:编写配置文件:
认证功能:
location /xxx{
auth_basic "oldboy"; ---开启页面访问认证
auth_basic_user_file /etc/nginx/password.txt 指定加载认证用户密码文件
第二步:创建密码文件
yum install -y httpd-tools
创建用户
htpasswd -bc /etc/nginx/password.txt oldboy 123456 --- 创建密码文件,并设置登录用户信息
添加用户
htpasswd -b /etc/nginx/password.txt oldboy 123456
删除用户
htpasswd -D /etc/nginx/password.txt oldbaby
第三个历程: 重启服务
systemctl restart nginx
如果用户名与密码不正确
401 Authorization Required --- 访问页面认证失败
04.网站页面状态监控功能
实现外网用户访问虚拟主机:
第一步:修改虚拟软件 虚拟网络编辑器
vmnet8 nat设置中 --> 端口转发设置
访问 -- 192.168.34.112:9000 ==10.0.0.8:80
hosts www.oldboy.com
192.168.34.112 www.oldboy.com
改完hosts之后
访问 -- www.oldboy.com:9000 ==10.0.0.8:80
问题:统计有多少个用户访问我的网站
第一步:编写配置文件
vim /etc/nginx/conf.d/status.conf
server {
listen 80;
server_name state.oldboy.com;
stub_status; ---开启访问状态监控功能
}
第二步:域名解析
hosts:
10.0.0.8 state.oldboy.com
active connections: 11 ---在线连接数
server accepts handled requests
18 18 166
accepts:从服务运行开始,接收的所有连接请求总和
handled:从服务运行开始,处理的所有连接请求总和
requests:从服务运行开始,所用HTTP请求包的总数
补充:keepalive_timeout 65; ---超时时间,如果为0 就是短连接 http协议1.0
Reading: 0 Writing: 1 Waiting: 1
reading:读取客户端的header信息数,只读取头部 ---get
wirting:响应数据到客户端的header信息署,服务头部后要等待响应 ---post
waiting: == active-(reading+wirting) 等待下一次请求
在线客户端只有三种情况: 1.正在连接 2.已经连接正在发送请求 3.请求结束 等待断开
3=所有客户端-(读+写)
05.课程总结
1.如何实现使用nginx部署多个网站页面 www blog bbs (多个虚拟机配置)
写出多个配置文件 --> 分别创建站点目录/首页文件 --> 配置本地hosts信息
2.网站页面访问方式
基于ip地址访问 --> 涉及到IP地址修改必须重启不能reload
基于域名访问 --> 配置文件配好后直接访问即可
基于端口访问 --> 修改配置文件 改端口后需 www.xxxxx:端口号 即可看见
3.利用nginx搭建数据共享服务器
在站点目录创建共享数据资源
必须删除首页文件
修改配置文件 autoindex on;
4.网站页面安全访问控制
a 根据用户的IP地址做限制 allow(允许) deny(禁止)
b 根据认证方式进行访问控制 location模块下写
auth_basic "oldboy";
auth_basic_user_file /etc/nginx/password.txt
htpasswd -bc /etc/nginx/password.txt xxx xxxxxx
5.访问网页连接线监控功能
可以实现查看用户访问连接数的信息
编辑配置文件 /etc/nginx/conf.d/status.conf
stub_status; ---开启监控功能
本地域名解析,即可查看
作业:
01. 状态页面信息中,以下内容表示什么意思
Reading: 0 Writing: 1 Waiting: 10
reading:读取客户端的header信息数,只读取头部
wirting:响应数据到客户端的header信息署,服务头部后要等待响应
waiting: == active-(reading+wirting) 等待下一次请求
在线客户端只有三种情况: 1.正在连接 2.已经连接正在发送请求 3.请求结束 等待断开
3=所有客户端-(读+写)
02. 如何对网站服务器进行压力测试
测验:
01. 利用ansible一键化部署nginx服务,并且搭建三个静态网站
www.oldboy.com --- www
bbs.oldboy.com --- bbs
blog.oldboy.com --- blog
第一步:安装nginx软件
1.编辑yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
yum clean all
yum install -y nginx
第二步:编写配置文件
1.
# vim bbs.conf
server {
listen 80;
server_name bbs.oldboy.com;
root /html/bbs;
index index.html;
}
# vim blog.conf
server {
listen 80;
server_name blog.oldboy.com;
root /html/blog;
index index.html;
}
# vim www.conf
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html;
}
2.创建站点目录以及首页文件
3.本地NDS解析