nginx服务器的基础
1、Nginx安装方便,简单,灵活,是一个极具有发展潜力的web服务软件,对系统占用资源少,对静态文件处理非常好。支持高并发,能够支持几万并发连接。
2、Nginx有三大功能
1. 作为Web服务器
2. 作为反向代理服务器
3. 作为缓存服务器
3、Nginx的代码并不多,但是晚于Apache诞生。Nginx的代码访问模式epoll模型——异步I/O非阻塞模型,Nginx对服务器资源占用非常少,那是因为Nginx是利用多线程来接待用户的。而一个进程里有很多很多的线程,最多可以65535根。线程本身对内存的占用就很少,这就让Nginx足以支撑起超大的用户并发访问。但是,在极高并发状态下,线程间并不稳定,容易产生资源上的冲突。会随着连接数量导致性能急剧下降,最大连接数不超过1024个(如果要超过则需要修改FD_SETSIZE并重新编译)
4、Apache是select模型——同步I/O阻塞模型,是利用进程来接待用户Select同步I/O模型的特点:模型随着连接数的增加,性能基本上没有下降。连接数无限制,内在处理机制是回调,开发复杂性中等。虽然性能没有Nginx强大,但是比Nginx稳定,apache有三种工作模型:多线程模式(较少使用)、多进程模式、一半一半。内在处理机制是线性轮询,开发难度低。安全性上比nginx高。
5、Tengine是淘宝对nginx进行二次开发的产品。
6、I/O阻塞是线程需要等待磁盘I/O完成的等待时间。异步阻塞分为异步非阻塞和异步阻塞。
7、静态数据是不人工参与就无法改变的数据,如图片、视频。动态数据则需要从mysql里进行提取
8、Apache比nginx处理动态数据速度快,但在工作中,apache和nginx是要和php在一起工作的,所以apache和nginx只处理静态数据和传输动态数据给php来处理。
9、Nginx进程里的线程数参考值为20480
10、连接保持时间一般为90—180s,最多不超过五分钟。
11、Ulimit -n 查看进程可打开文件数,默认一个进程可以打开文件数是1024
12、Netstat -autup | grep established | wc -l 查看当前状态Web服务器的并发连接数
13、虚拟多网站构建的三种方式:1、基于不同监听端口2、基于不同域名3、基于不同IP
14、黑客一般都是跳过DNS解析,用IP登录网站,所以一般都设置直接用IP登录时报错。
15、Acces_log 访问日志 error_log 错误日志
16、在工作中启动nginx需要加-t,这样不会中断服务
17、Conf 配置目录 sbin 命令目录 html 网页目录 logs 日志目录 mime.type 媒体类型 default 备份文件
18、Windows的映射文件在:c:/windows/system32/drivers/etc/
19、Default_server 是让用IP地址登陆的用户强制进入本server函数
20、Include 可以引入其他文件下的函数(相当于不同网站的配置文件)
Location是nginx非常重要的过滤函数,可以通过正则表达式来匹配过滤不同URL里的URI部分。匹配到不同的URI进入到不同的location,也就可以进到不同的网页。因此,location的过滤优先级如下:
1、 精确匹配=
2、 特殊正则表达式^~,以正则开头
3、 普通正则表达式~或~*,含有正则
4、 字符串匹配(前缀匹配)/inmates/
5、 默认匹配
21、Nginx rewrite的主要功能就是实现URL地址的重写
语法格式:rewrite regex replacement [flag]
Regex 正则表达式 replacement 匹配到的重写为 flag 结尾标识
Rewrite ^/(.*) http://www.baidu.com /$1/ permanent
在这里小括号相当于分组,只能重复一次
Rewrite 出现的位置为:server location if
22、Flag的标记符号:
Last 本条规则匹配完成后,继续向下匹配新的location
Break 本条规则匹配完成即终止,不再匹配后面的任何规则
Redirect 返回302临时重定向,浏览器地址不会显示跳转后URL地址
Permanent 返回301永久重定向,浏览器地址会显示跳转后URL地址
23、$http_host 存放域名的变量 set 变量 = 值
24、在nginx中出现404是因为找不到资源
25、在nginx中出现403是因为
1、nginx在跳转首页的过程中,没能成功跳转
2、访问的文件没有读权限
3、访问的文件搜在目录没有进入权限
26、精简nginx配置文件
Worker_processes 1; 全局生效的配置参数,nginx工作的进程数(处于工作状态)
Events { 事件函数
Worker_connections 1024; 进程里的工作的线程个数
}
http {
include(引入函数) mime.type;(支持的数据类型)
default_type application/octec-stream;
sendfile on; 文件的高效传输默认开启
keepalive_timeout 65; 理解保持功能持续65秒
server {
listen 80; slcket进程的监听端口
server_name localhost; 域名
location / { 代表一个虚拟网站
root html; 网页的的根目录
index index.html index.htm; 指定网页的首页
}
}
}
}
浙公网安备 33010602011771号