一、 如何优化打开文件数(linux 优化系统文件描述符/windows 优化系统文件句柄数)
https://blog.csdn.net/qq769651718/article/details/79459346
临时优化:
ulimit -n 优化后数值
永久优化:
echo '* - nofile 65535' >>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
二、 网站主机配置文件参数说明
/etc/nginx/conf.d/default.conf
grep -Ev “#|^$” default.conf.bak >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; --- 网站错误页面优雅显示 在root路径后编写50x.html
}
配置文件配置规范:
1. 响应区域模块花括号信息必须成对出现
2. 文件指定指令信息后面必须有分号结尾 (分号是英文)
3. 指令信息必须是合法指令
三、静态网站搭建过程说明
- 搭建单一静态网站 www.oldboyedu.com
第一个里程:编写主机配置文件
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
第三个里程:获取代码信息
企业中获取代码方法:参见图示
编写简单网站代码信息:
<html>
<meta charset="utf-8">
<head>
<title>会所</title>
</head>
<body>
高级会所
<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:需要进行本地解析配置!!!
- 搭建多个静态网站 www.oldboyedu.com / bbs.oldboyedu.com / blog.oldboyedu.com
第一个里程:编写配置文件:
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}
第三个里程:获取网站代码信息
第四个里程:重启服务
网站页面访问方式:
1. 基于域名信息进行访问: www.oldboy.com
2. 基于端口信息进行访问: www.oldboy.com:8080
不同网站配置不同监听端口:
www — listen 8080
bbs — listen 8081
blog — listen 80
常见问题:访问域名信息和显示页面信息不符
访问 www.oldboy.com 但是显示的是blog.oldboy.com页面信息
网站访问原理:
第一步:将域名进行解析
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符合)
网络层: 目标地址信息 网络层:进行解封装
第三步:将不同网站站点目录信息进行显示
- 基于地址信息进行访问: 10.0.0.7
- 配置好相应主配置文件加载顺序
- 配置好监听地址信息
listen 172.16.1.7:80;
四、 网站安全防护配置说明 设置黑白名单
1. 根据用户地址或网段信息进行隔离防护(设置黑白名单模块)
第一个里程:编写配置文件:
vim www.conf
allow 10.0.0.0/24; 设置白名单
deny all; 设置黑名单
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 模块指令配置:
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 在服务端配置安全阻止策略,阻止了响应地址主机访问
2. 基于用户访问认真进行安全控制(设置登录密码模块)
加班订餐: 网站页面订餐 任何人都可访问
加班调休: 网站页面休假 任何人都可访问
财务页面: 公司内部账目 只能财务人员 单独划分到一个vlan 10.0.0.0/24
auth_basic 开启认证功能
auth_basic_user_file 认证密码文件
实际配置:
环境搭建准备:
mkdir /html/www/dingcan
echo “ding can pingtai” > dingcan/index.html
mkdir /html/www/caiwu
echo “cai wu qingkuang” > caiwu/index.html
认证配置方法:
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html index.htm;
location /财务 {
auth_basic "kk2009"; ------是否开启认证功能
auth_basic_user_file /etc/nginx/htpasswd; ------密码文件存放位置
}
location /运维 {
allow 10.0.0.0/24;
deny all;
}
}
创建密码文件:
htpasswd — 创建密文密码文件 下载阿帕奇工具包
yum install -y httpd-tools
创建密码文件并设置认证用户:b免交互创建账户密码
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
- 配置文件中指定信息不正确 路径信息/权限信息
- 网站代码信息加载有bug
用户浏览器 HTTP请求(admin) --> 将用户转换为worker进程用户 web服务器 —> worker进程用户加载 认证文件权限(600)
chmod 600 /etc/nginx/conf/htpasswd
chown nginx.nginx /etc/nginx/conf/htpasswd
错误状态码
401 Authorization Required — 认证信息输入不正确