网站服务主机配置文件 server配置信息
为了方便看到的默认信息,先进行过滤注释和空行
grep -Ev "#|^$" default.conf.bak >default.conf
/etc/nginx/conf.d/default.conf
server {
listen 80; --- 定义网站服务监听端口信息
server name localhost; --- 定义网站url域名信息 www.oldboy.com
root /usr/share/nginx/html; --- 定义站点目录路径信息
index index.html index.htm; --- 定义默认首页文件信息
error_page 404 500 502 503 504 /50x.html; --- 网站错误页面优雅显示
}
配置文件配置规范:
1. 响应区域模块花括号信息必须成对出现
2. 文件指定指令信息后面必须有分号结尾 (分号是英文)
3. 指令信息必须是合法指令
静态网站搭建过程说明 访问原理
1) 搭建单一静态网站
第一个历程:编写主机配置文件
cd /etc/nginx/conf.d
vim www.conf
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html index.htm;
}
第二个历程:创建出站点目录
mkdir -p /html/www
第三个历程:获取代码信息
index.html
<html>
<meta charset="utf-8">
<head>
<title>老男孩会所</title>
</head>
<body>
老男孩高级会所69期
<table border=1>
<tr> <td>01</td> <td>小兰</td> </tr>
<tr> <td>02</td> <td>小红</td> </tr>
<tr> <td>03</td> <td>小绿</td> </tr>
</table>
<a href="http://blog.oldboyedu.com">
<img src="oldboy.jpg" />
</a>
</body>
</html>
第四个历程:将nginx服务进行重启
systemctl restart nginx
PS:需要进行本地解析配置
2)搭建多个静态网站
第一个里程:编写配置文件:
vim www.conf (搭建单一网站时已经编写)
vim bbs.conf
server {
listen 80;
server_name bbs.oldboy.com;
root /html/bbs;
index index.html index.htm;
}
vim blog.conf
server {
listen 80;
server_name blog.oldboy.com;
root /html/blog;
index index.html index.htm;
}
第二个历程:创建站点目录
mkdir -p /html/{www,bbs,blog}
第三个历程:获取网站代码信息
第四个历程:重启服务
systemctl restart nginx
网站页面访问方式:
1) 基于域名信息进行访问:
2) 基于端口信息进行访问:
不同网站配置不同监听端口:
www — listen 8080
bbs — listen 8081
blog — listen 80
3) 基于地址信息进行访问: 10.0.0.7
配置好相应主配置文件加载顺序
配置好监听地址信息
listen 172.16.1.7:80;
常见问题:访问域名信息和显示页面信息不符
网站访问原理:
第一步:将域名进行解析
www.oldboy.com ---> 10.0.0.7
blog.oldboy.com ---> 10.0.0.7
第二步:向10.0.0.7主机发送HTTP报文信息(数据包)
数据包封装过程: 数据包解解封装过程:
应用层: HTTP报文信息 应用层:HOST:www.oldboy.com 默认显示blog页面信息
传输层: 端口信息 传输层:80端口(server blog符合) 8080端口
网络层: 目标地址信息 网络层:进行解封装
数据包封装过程: 数据包解解封装过程:
应用层: HTTP报文信息 应用层:HOST:10.0.0.7 默认显示www网站页面信息
传输层: 端口信息 传输层:80端口(server blog www bbs符合)
网络层: 目标地址信息 网络层:进行解封装
第三步:将不同网站站点目录信息进行显示
网站安全防护配置说明
根据用户地址或网段信息进行隔离防护
第一个历程:编写配置文件
vim www.conf
server {
listen 172.16.1.7:80;
server_name www.oldboy.com;
root /html/www;
index index.html index.htm;
location /sa {
allow 10.0.0.0/24;
deny all;
}
}
======================================================
补充:ngx_http_access_module 模块指令配置:
Syntax: allow address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except
Syntax: deny address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except
配置参考样例:
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
参考资料:http://nginx.org/en/docs/http/ngx_http_access_module.html
======================================================
第二个历程:在站点目录下添加后台目录信息
cd /html/www
mkdir sa
echo oldboy69 > sa/oldboy.html
错误状态码:
403 Forbidden 在服务端配置安全阻止策略,阻止了响应地址主机访问
排错思路:
解决问题:
1. 网站服务不能正常运行
2. 网站页面不能正常访问
加载页面信息不全
加载页面显示错误状态码
3. 显示页面信息不正确
排查过程:
检查配置文件语法信息 nginx -t
a 确认指令信息后面有分号
b 确认文件中括号成对出现
c 确认指令输入和放置位置
确认配置文件信息是否正确
listen --- 监听信息 端口/地址(本地网卡上有的地址不能是网段信息,只能是具体IP地址) == 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
确认网站代码信息是否正确
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 利用浏览器隐身模式