nginx介绍
高性能,轻量级的web服务软件
高性能:对http并发连接的处理性能很高,单台物理服务器可以支持30000-50000个并发请求(在实际操作中,为了维持服务器稳定,一般设置在20000个左右)
轻量级:nginx软件很小,安装所需的空间也很小
稳定性强:对系统资源的消耗很低
nginx主要功能:
1.处理静态网页:html htm图像
2.支持反向代理(负载均衡)
3.处理动态内容的能力
4.虚拟主机:nginx可以配置多个虚拟主机,每一个虚拟主机都可以作为一个域名和站点
5.可以实现URL重定向和修改
6.nginx自带缓存机制,可以缓存静态文件,也可以缓存动态内容
7.自带日志记录:服务日志,访问日志和报错日志,控制日志还是在/var/log/messages
8.代理服务器,通过代理可以访问其他的后端服务器
安装:
conf:保存nginx的所有配置文件,其中nginx.conf是nginx的主要配置文件
html:保存nginx的web文件,.html结尾的文件,图片。
50x:是nginx默认的报错提示页面
logs:保存日志的目录,可以改
access.log记录的是访问日志记录
error.log记录保存日志,如403,404
添加系统配置的服务:
nginx配置文件内容:
nginx.conf
nginx服务的主配置文件
#user nobody; #运行用户,若编译时未指定则默认为nobody
worker_processes 1; #工作进程数量
#error_log logs/error.log; #错误日志文件的位置
#pid logs/nginx.pid; #PID文件的位置
events {
use epoll; #使用epoll模型, 2.6及以上版本的系统内核,建议使用epoll模型以提高性能
worker_connections 1024; #每个进程处理1024个连接
}
yum安装需要epel源
注意:设置保存后,需要重新ssh连接才会看到配置更改的变化
limits.conf
vim /etc/security/limits.conf
# 65535 为Linux系统最大打开文件数
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
reboot
http块:配置代理,日志,缓存,虚拟主机和第三方配置
server块:配置虚拟主机的设备,在http的模块中可以有多个server
location块:location只能配置在server模块当中,匹配uri,一个server模块中可以有多个location。
nginx的功能模块:
proxy:
代理功能,核心的功能模块之一,配置反向代理的功能,使用的proxy_pass指定,定义在location当中。
headers功能模块:
处理请求和头部的响应信息,主要用于获取客户端的真实ip
upstream模块:
七层的反向代理模块,只能配置在http模块中,或者stream模块中
stream模块:
四层反向代理模块,只能写在全局配置中
root访问页面的根目录是拼接。
统计nginx的访问状态
Active connecting:2
表示当前活动的连接数
server accept
已经处理好的连接数
Readled
成功的tcp握手次数
requests
已经处理的请求数
Reading:0
服务器正处于数据读取状态,正在读取客户端读取的连接数
Writing:1
服务区正在将响应的数据发送给客户端,正在向客户端写入响应的连接数
Waiting:1
表示有连接处于空闲状态,当前客户端等待请求的连接数
配置nginx的虚拟主机:
基于域名的虚拟主机
基于ip的虚拟主机
基于端口的虚拟主机
nginx是通过alias设置虚拟目录,在nginx的配置中,alias目录和root目录是有区别的:
1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;
2)root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;