问题:
(1)网站服务不能正常运行
(2)网站页面不能正常访问
加载页面信息不全
加载页面显示错误状态码
(3 )显示页面信息不正确
排查过程:
(1)检查配置文件语法信息 nginx -t
确认指令信息后面有分号
确认文件中括号成对出现
确认指令输入和放置位置
(2)确认配置文件信息是否正确
listen ---监听信息 端口/地址(本地网卡上有的地址) == SSH
server_name --- 域名信息
root --- 指定站点目录
相对路径:html/www www.oldboy.com/sa/oldboy.jpg ---> /etc/nginx/html/www/sa/oldboy.jpg
绝对路径:/html/www www.oldboy.com/sa/oldboy.jpg ---> /html/www/sa/oldboy.jpg
(3)确认网站代码信息是否正确
a 确认代码保存路径是否正确 /usr/share/nginx/html/www/代码信息 404 找不到页面信息
b 确认代码资源权限是否正确 目录是否加锁 数据权限不正确
============================================
403状态码出现原因:
1. 具有访问控制安全配置 deny
2. 代码中文件本身权限不正确
客户端浏览器 HTTP请求(admin) ---> 将用户映射为worker进程用户(oldboy)web服务端 ---> 以虚拟用户身份到站点目录中获取数据信息
3.
============================================
查看日志信息:
tail -f /var/log/nginx/error.log --- 查看错误日志
(4)确认网站解析是否正确:
确认域名和IP是否真正建立解析过程
ping www.oldboy.com
telnet www.oldboy.com 80
(5)确认是否有缓存信息
a 清除浏览器缓存
b 利用浏览器的隐私模式
网站页面访问方式:
利用域名进行访问
利用地址进行访问
利用端口进行访问
网站安全防护配置说明
基于用户访问认证进行安全控制
加班订餐: 网站页面订餐 任何人都可以访问
加班调休: 网站页面休假 任何人都可以访问
财务系统: 公司内部账目 只能财务人员 单独划分到一个vlan 10.0.0.0/24
实际配置一下:
环境搭建准备:
mkdir /hteml/www/dingcan
echo "ding can " >dingcan/index.html
mkdir /hteml/www/caiwu
echo "cai wu" >caiwu/index.html
认证配置方法:
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html index.htm;
location /caiwu {
auth_basic "oldboy69";
auth_basic_user_file /etc/nginx/htpasswd;
}
location /sa {
allow 10.0.0.0/24;
deny all;
}
}
创建密码文件 :
密码文件是没有的我们需要创建并且在指定目录下文件名:htpasswd
yum install -y httpd-tools #先安装一个软件重点是tools
创建密码文件并且设置认证用户:
htpasswd -bc /etc/nginx/htpasswd oldboy oldboy123
添加新的认证用户:
htpasswd -b /etc/nginx/htpasswd oldgirl oldgirl123
删除认证用户信息:
htpasswd -D /etc/nginx/htpasswd oldgirl
============================================================================
ngx_http_auth_basic_module --- 网站页面基础认证模块
指令信息:
Syntax: auth_basic string | off; --- 是否开启认证功能
Default: auth_basic off;
Context: http, server, location, limit_except
Syntax: auth_basic_user_file file;
Default: —
Context: http, server, location, limit_except
配置样例:
location / {
auth_basic "oldboy69";
auth_basic_user_file conf/htpasswd;
auth_basic_user_file /conf/htpasswd;
相对路径:相对于/etc/nginx 去 /etc/nginx/conf/htpasswd
绝对路径: 去 /conf/htpasswd
}
===========================================================================
认证密码文件权限改为600出现的异常说明
错误状态码信息:
500 Internal Server Error
1. 配置文件中指定信息不正确 路径信息/权限信息
2. 网站代码信息加载有bug
用户浏览器 HTTP请求(admin) --> 将用户转换为worker进程用户 web服务器 ---> worker进程用户加载 认证文件权限(600)
=========================================================================================================
错误状态码
401 Authorization Required --- 认证信息输入不正确
网站服务搭建存储服务
利用nginx搭建一个文件共享服务器
运维人员:文档资源 存储服务部署文档/网站服务搭建部署文档 ---> /运维资料库
开发人员: 文档资源 数据存储架构文档/网站功能说明文档 --->开发资料库
网络人员: 文档资源 网站拓扑结构文档/网站网络设备配置文档 ---> 网络资料库
部署流程:
第一个里程:在站点目录中创建共享资源
mkdir /html/www/{运维资料库,开发资料库,网络资料库} touch /html/www/运维资料库/监控服务部署文档.pdf touch /html/www/开发资料库/数据结构说明文档.doc touch /html/www/网络资料库/网络结构说明文档.jpg 第二个里程: 编写配置文件信息server { listen 80; server_name www.oldboy.com; root /html/www; index index.html index.htm; autoindex on; charset utf-8; }ngx_http_autoindex_module ---- 开启网页面索引功能Syntax: autoindex on | off; --- 开启功能条件 站点目录中不能存在首页文件 Default:autoindex off; Context:http, server, locationSyntax: charset charset | off; Default: charset off; Context: http, server, location, if in location网站出现乱码信息:方法一: (客户端调整)在谷歌浏览器安装插件,修改浏览器字符编码识别中文信息方法二: (服务端调整)在配置文件中进行设置调整mime.types --- 媒体资源配置文件 作用说明: 文件中定义的文件类型,可以识别为静态资源,在网站页面直接浏览访问文件中未定义的文件类型,不可以识别为静态资源,需要下载之后利用其它软件识别 网站服务日志信息说明 服务错误日志: /var/log/nginx/error.log Syntax: error_log file [level]; --- 定义错误日志保存路径和错误级别 Default: error_log logs/error.log error; Context: main, http, mail, stream, server, location debug 调试级别 显示信息会最全info 信息级别 notice 通知级别 -----------------------------------warn 警告级别 错误信息不太严重 *** error 错误级别 ***crit 严重级别 alert 非常严重emerg 灾难级别 显示日志信息较少服务访问日志: /var/log/nginx/access.log Syntax: log_format name [escape=default|json|none] string ...; Default: log_format combined "..."; Context: httpSyntax: 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 $remote_addr --- 显示访问用户源IP地址信息$remote_user --- 显示认证登陆用户名称信息 没有认证功能开启 会显示 - $time_local --- 显示响应HTTP报文发送时间$request --- 显示客户端HTTP请求行报文信息 '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';$status --- 显示网站响应状态码信息$body_bytes_sent --- 响应主体内容流量信息(字节表示)$http_referer --- 和优化有关日志信息(盗链有关???)$http_user_agent --- 识别客户端浏览软件信息$http_x_forwarded_for --- 和反向代理负载均衡有关 ??? nginx内置变量信息参考: http://nginx.org/en/docs/varindex.html06. 网站服务状态模块配置 分析网站服务访问情况,快速收集用户访问网站情况ngx_http_stub_status_modulestub_status --- 开启模块功能location = /basic_status { stub_status; } 显示状态模块信息Active connections: 2 server accepts handled requests 2 2 1 Reading: 0 Writing: 1 Waiting: 1 Active connections: 网站并发访问连接数信息(实时统计)accepts: 接收请求用户连接数量 (累加值) 1万handled: 处理请求用户连接数量 (累加值) requests: 发送请求报文数量信息 (累加值)Reading: 正在读取请求报文数量 20数值Writing: 正在响应请求报文数量 20数值Waiting: 有等待处理报文数量 20数值 以上页面需要需要由监控软件进行自动监控管理