00.课程介绍部分
1.nginx服务程序目录结构
2.nginx服务配置文件说明 主配置文件/扩展配置文件
3.nginx服务搭建页面 静态网站页面
4.nginx服务企业配置方法
a 企业环境多个网站搭建
b 企业利用网站服务搭建共享存储目录
c 企业利用网站服务实现安全访问
网站页面进行策略控制
网站页面访问认证控制
d 网站页面状态监控功能
e 网站日志信息配置方法
01.课程知识回顾
1.网站识别的资源有静态资源 .txt .MP3 .MP4 .jpg等
动态资源 php
2.URL URI 是什么?
www.baidu.com /newspage/data/landingsuper?context=%7B%22nid%22%3A%22news
URL URI
3. 静态资源 文本文件 图片文件 视频音频
动态资源 交互性 抽奖 留言 投票等
伪静态资源
盗链 其他公司网站盗取本地网络链接资源,消耗本地网站流量
4.网站访问的度量方法
IP:根据用户的IP地址来统计访问数量 只供参考,原因:拨号会换IP NAT映射会统一IP
PV:用户访问的页面量 只供参考,原因:每个网站种类不同,用户看的页面多少不同
UV:记录独立访客数
cookie:网站根据用户访问进行生成 交给用户 保存在浏览器中
session:网站根据用户的访问情况生成 保存在缓存浏览器
5.企业常用的web服务
静态:nginx Apache
动态:php tomcat python
nginx网站服务:
特点:处理并发能力强,占用本地服务器资源较少(内存)
功能:1V3
web服务:apache
负载均衡:lvs
缓存功能
nginx采用的网络模型:epoll
Apache采用的网络模型:select
6.nginx的安装方法有三种 ab两种方法路径信息不同
a 直接yum安装 历史稳定版本
b 官网查看并且编辑配置文件
/etc/yum.repo.d/nginx.repo
yum安装 最新稳定版本
c 编译安装
编译安装三部曲
1.官网下载压缩包,解压即可
2.解决依赖源问题
yum install -y pcre-devel openssl-devel
3.进入源码包目录,进行选择参数配置安装
make&&make install
缺点:麻烦 安装时间较长
优点:可以自定义安装 安装灵活
02.nginx程序目录结构信息
/etc/logrotate.d/nginx ---利用logrotate实现日志文件自动切割
---利用脚本+定时任务实现日志切割
#!/bin/bash
把老的日志修改名称 mv nginx.log nginx.log_$(date +%F)
重启服务会重新创造日志文件 systemctl restart nginx
/etc/nginx/nginx.conf ---主配置文件
/etc/nginx/conf.d/default.conf ---扩展配置文件
/etc/nginx/fastcgi_params --- 程序A(数据信息)nginx -接口方式 fastcgi-程序B(数据信息)php
程序A(数据信息)nginx -接口方式 uwsgi- 程序B(数据信息)python
/usr/sbin/nginx ---程序命令文件
检查配置文件语法是否正确 nginx -t
控制服务运行状态 nginx(启动服务) nginx -s stop/reload
查看软件安装配置信息 nginx -V
/usr/share/nginx/ ---站点目录将网站页面所有元素资源进行整合,分类规范管理
/var/log/nginx/ ---保存程序日志文件信息 (access.log error.log)
/var/cache/nginx ---数据信息是否真正缓存了
03.nginx配置文件
主配置文件: nginx.conf
/etc/nginx/nginx.conf
user nginx; --- 指定worker进程管理用户(建议指定为虚拟用户)
worker_processes 1; --- 指定worker进程数量 建议设置数值=cpu核数 or 临时调整两倍cpu
error_log /var/log/nginx/error.log warn; --- 配置错误日志保存路径
pid /var/run/nginx.pid; --- 配置程序pid(进程号码)保存路径
以上信息:nginx主区域配置信息
events {
worker_connections 1024; ---定义一个worker进程连接数(并发) 总连接数=worker_processes*worker_connections<
}
http {
include /etc/nginx/mime.types; ---包含其他配置文件信息
default_type application/octet-stream; ---资源信息没有扩展名时,默认识别的类型种类
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; ---配置日志保存路径
sendfile on;
#tcp_nopush on;
keepalive_timeout 65; ---是否开启长链接功能(超时时间)
#gzip on;
include /etc/nginx/conf.d/*.conf; ---加载扩展配置文件
}
扩展文件配置信息:
/etc/nginx/conf.d/default.conf
server {
listen 80; --- 指定服务监听端口号 默认是80
server_name localhost; --- 配置网站域名信息
location / {
root /usr/share/nginx/html; --- 站点目录信息
index index.html index.htm; --- 指定首页文件 首页文件不存在,访问网站会报403错误
}
error_page 500 502 503 504 /50x.html; --- 优雅显示错误页面配置
location = /50x.html {
root /usr/share/nginx/html;
}
}
补充说明:
01.nginx进程信息
master进程:控制nginx服务运行状态 老板
worker进程:处理用户访问网站请求 员工
02.nginx配置文件语法规范
a 指令信息结尾必须有分号
b 括号信息必须成对出现
03.nginx配置区域说明:
a 主区域配置 配置错误日志 进程信息 worker进程用户
b 时间区域配置 配置worker进程连接数信息
c HTTP区域 配置功能参数 优化有关系
d server区域 配置网站功能参数
e location区域 ???
f if区域 判断区域
04.系统打开文件数
程序运行起来,程序会打开响应文件
echo '* - nofile 65535' >>/etc/security/limits.conf
04.部署搭建一个简单静态页面
第一步:编写配置文件
vim /etc/nginx/conf.d/www.conf
server {
listen 80;
server_name www.oldboy.com;
root /html/www;
index index.html;
}
systemctl restart nginx
第二步:
mkdir -p /html/www
# cat index.html
<html>
<meta charset="utf-8">
<head>
<title>男士养生</title>
</head>
<body>
老男孩男士养生会所,联系方式
<table border=1>
<tr> <td>小红</td> <td>17783240234</td> </tr>
<tr> <td>小兰</td> <td>11238123709</td> </tr>
<tr> <td>小灵</td> <td>12731273123</td> </tr>
</table>
<a href="http://blog.oldboyedu.com">
<img src="oldboy.jpg" />
</a>
</body>
</html>
第三步:域名解析配置
hosts
10.0.0.8 www.oldboy.com
企业环境搭建静态网站页面:
第一步:编写nginx配置文件
第二步:让开发人员发送代码信息,上传到站点目录中
05.课程知识总结
1.nginx配置文件说明 主配置文件/扩展配置文件
2.nginx搭建静态网站
作业:
1.利用logrotate自动切割日志配置方法
主配置文件: /etc/logrotate.conf
# grep -vE "^$|#" /etc/logrotate.conf
weekly ---默认每周执行一次日志轮询
rotate 4 ---默认保留四个日志文件
create ---自动创建新的日志文件,新文件与旧文件具有相同权限
dateext ---切割后的日志文件以当前日期为结尾
include /etc/logrotate.d ---加载/etc/logrotate.d这个配置文件
/var/log/wtmp { ---针对wtmp日志设置参数
monthly ---每个月切割一次,代替默认每周
create 0664 root utmp ---新的日志文件权限为0664 属主root 属组utmp
minsize 1M ---文件大于1M后才会进行切割
rotate 1 ---只保留一个日志
}
/var/log/btmp {
missingok ---如果日志丢失,不报错继续滚动下一个日志
monthly
create 0600 root utmp
rotate 1
}
nginx的自动切割配置文件
# cat nginx
/var/log/nginx/*.log {
daily ---计划每天执行
missingok ---如果日志丢失,不报错继续滚动下一个日志
rotate 52 ---保留的个数
compress ---通过gzip压缩存储一会的日志
delaycompress ---和compress 一起使用时,转储的日志文件到下一次转储时才压缩
notifempty ---当日志文件为空时,不进行轮转
create 640 nginx adm ---新建日志权限为640,属主为nginx,属组为adm
sharedscripts ---作用为所有日志都轮转后统一执行一次脚本,没有配置就每个日志都执行一次
postrotate ---在logrotate转储之后需要执行的指令
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
https://blog.51cto.com/wn2100/2074048