一:nginx是什么
Nginx是俄罗斯人Igor Sysoev基于**C语言编写**的**轻量级开源的HTTP服务器**,它主要有以下特点:
- 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器;
- 使用**异步事件驱动**的方法来处理请求,它的模块化事件驱动架构可以在高负载下提供可观的性能;
- 作为**web服务器**,处理静态文件、索引文件、自动索引的效率非常高;
- 作为**反向代理服务器**,能实现反向代理加速,提高网站运行速度;
- 作为**负载均衡服务器**,能支持简单的容错和利用算法进行负载均衡;
- 能支持五万个并行连接,实际运行中,可以支持两万到四万个并行连接;
- 支持热部署,能不间断服务;
二:涉及的名词
代理服务器:是网络信息的中转站,去获取信息,能代理网络用户去取得网络信息
负载均衡:
正向/反向代理:
正向代理是指用户(客户端)向服务端发送请求隐藏了自身,服务器不知道实际发送请求的客户端,架设在客户端和服务端之间。
反向代理是指用户(客户端)去访问服务端,用户以为访问的是真实服务器,但实际上只是访问代理服务器,由代理服务器去访问服务器并返回响应,其架设在服务器端。
三:优缺点
优点:
1.能承担高的负载能力且稳定,能支撑2-4万次的并发量
2.开源、轻量、安装配置简单
3.是一款优秀的负载均衡器和反向代理软件
4.异步非阻塞,高性能低耗能
缺点:
只适合做静态处理,bug比较多。
四:安装及配置
windonw:绿色软件解压即可用。文件存储路径下打开cmd命令框
start nginx
//启动nginx
nginx -s reload
//重启nginx
nginx -s stop
//关闭nginx
Linux:
资源下载:weget http://nginx.org/download/nginx-1.19.2.tar.gz
解压nginx服务:tar -xvf nginx-1.19.2.tar.gz
安装nginx服务
1).配置nginx环境: 进入nginx目录下 ./configure
2).编译nginx:make
3).安装nginx:make install
4).查看nginx的工作目录: whereis nginx
5).启动/重启/关闭nginx:进入工作目录下的-sbin ./nginx / ./nginx -s reload / ./nginx -s stop
Nginx的配置文件默认存放路径是etc/nginx/nginx.conf,可以在Nginx启动时添加参数–conf-path=PATH来更改nginx.conf文件的存放路径。nginx.conf中的配置信息主要包含以下五个部分:
- main(全局设置):主要是包括Nginx工作进程,日志的配置以及server,location中一些共用的配置
- events(连接设置):主要包括Nginx连接信息的配置
- server(主机设置):主要是包括主机名称,Ip,路径解析,http请求头设置,反向代理等配置
- upstream(上游服务器设置):主要为反向代理服务器信息、负载均衡等相关配置 location(URL匹配):特定URL的匹配设置
- location(URL匹配):特定URL的匹配设置