空置进程数目 worker_processes,
空置每个进程的最大连接数目 worker_connections,
Nginx⽬录访问权限allow
Nginx登陆认证
⽇志管理
防盗链
虚拟主机
反向代理
访问限速
下载限速
nginx的优化:进程优化,长连接时间优化,数据压缩,客户端缓存
nginx缓存部署
nginx集群: 虚拟主机+反向代理+upstream分发模块组成的
Nginx集群默认算法
nginx高可用集群:keepalived
proxy_pass最后带/ 和不带/的区别和联系
https://blog.csdn.net/zhanghui200920061988/article/details/105132167
fastcgi_pass 和 proxy_pass 的区别在于
比如.php ngxin就不支持,必须通过自己的服务器代理去处理。所有有了fasgcgi
工作进程的数量乘以线程的数量就是你的并发是多少。
宽广匹配
删除空行,删除#开头的行
ifconfig这个怎么理解
netstat -ntpl
这个netstat可以加-a看到那些是超时状态。
测试配置文件
为了测试速度limit_rate 100k; 生成一个300m文件。
limit_conn addr 1;
同时连接只能是一个。
limit-rate-after 前250m不限速度![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e00082e3d8f3345b2bec2d73e3049a50.png)
nginx优化
配置worker_processes 1; ⼯作进程数量 按CPU的总核⼼调整
查看cpu的核数
netstat -antpl | grep nginx | grep ESTABLISHED | ws -l 统计查看nginx的链接树
我们运行nginx的账号密码是谁,–user --group
chown www.www nginx -R
查看目录下的日志
启动apach的方式 systemctl start httpd
tcp的抓包工具
ip add show
把主服务器的配置文件拷贝到备份服务器,主服务器会不停的广播网络请求告诉别人我是主,我的优先级高
如果你给脚本权限,这个脚本无法执行的。这个nginx杀死后,无法重启的。
加了权限后,一切都正常了
1秒钟杀死一次nginx。
虚拟ip,当你配置了之keepalived反向代理之后,自动会出现。
打印打印打印打印打印打印打印打印打印打印打印打印打印打印打印
Nginx介绍
Nginx(“engine x”)是⼀款是由俄罗斯的程序设计师Igor Sysoev所开发⾼性能的 Web和 反向代理 服务器,也是⼀个 IMAP/POP3/SMTP 代理服务器。
• 轻量级的web服务器
• 延伸版本tengine(淘宝)、openresrt(章亦春)等
目录介绍
[root@localhost ~]# tree /usr/local/nginx
/usr/local/nginx
├── client_body_temp
├── conf # Nginx所有配置文件的目录
│ ├── fastcgi.conf # fastcgi相关参数的配置文件
│ ├── fastcgi.conf.default # fastcgi.conf的原始备份文件
│ ├── fastcgi_params # fastcgi的参数文件
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types # 媒体类型
│ ├── mime.types.default
│ ├── nginx.conf # Nginx主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params # scgi相关参数文件
│ ├── scgi_params.default
│ ├── uwsgi_params # uwsgi相关参数文件
│ ├── uwsgi_params.default
│ └── win-utf
├── fastcgi_temp # fastcgi临时数据目录
├── html # Nginx默认站点目录
│ ├── 50x.html # 错误页面优雅替代显示文件,例如当出现502错误时会调用此页面
│ └── index.html # 默认的首页文件
├── logs # Nginx日志目录
│ ├── access.log # 访问日志文件
│ ├── error.log # 错误日志文件
│ └── nginx.pid # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件
├── proxy_temp # 临时目录
├── sbin # Nginx命令目录
│ └── nginx # Nginx的启动命令
├── scgi_temp # 临时目录
└── uwsgi_temp # 临时目录
全局配置
user nginx; 设置nginx服务的系统使用用户
worker_processes 1; 工作进程数,一般和CPU数量相同
error_log /var/log/nginx/error.log warn; nginx的错误日志
pid /var/run/nginx.pid; nginx服务启动时的pid
events {
worker_connections 1024;每个进程允许的最大连接数 10000
}
nginx 启动 nginx 重启
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s reload
=======
systemctl restart nginx.service
systemctl reload nginx.service
nginx -s reload
验证方法
netstat –ntpl
lsof -i :80
配置
#启动子进程程序默认用户
#user nobody;
#一个主进程和多个工作进程。工作进程是单进程的,且不需要特殊授权即可运行;这里定义的是工作进程数量
worker_processes 1;
#全局错误日志的位置及日志格式
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
#每个工作进程最大的并发数
worker_connections 1024;
}
#http服务器设置
http {
#设定mime类型,类型由mime.type文件定义
include 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"';
#$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
#$remote_user:用来记录客户端用户名称;
#$time_local: 用来记录访问时间与时区;
#$request: 用来记录请求的url与http协议;
#$status: 用来记录请求状态;成功是200,
#$body_bytes_sent :记录发送给客户端文件主体内容大小;
#$http_referer:用来记录从那个页面链接访问过来的;
#$http_user_agent:记录客户浏览器的相关信息;
#全局访问日志路径
#access_log logs/access.log main;
#sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。
sendfile on;
#此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用
#tcp_nopush on;
#长连接超时时间
#keepalive_timeout 0;
keepalive_timeout 65;
#开启压缩
#gzip on;
#配置虚拟主机
server {
#虚拟主机使用的端口
listen 80;
#虚拟主机域名
server_name localhost;
#虚拟主机支持的字符集
#charset koi8-r;
#虚拟主机的访问日志路径
#access_log logs/host.access.log main;
#定义web根路径
location / {
#根目录路径
root html;
#索引页
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
#根据错误码 返回对应的页面
error_page 500