什么是Nginx?
Nginx是一个高性能的http和反向代理服务器,以及电子邮件代理服务器
Nginx的作用
作为Wed服务器,使用少量的资源,支持更多的并发连接,最高接收5W个并发量的响应
作为负载均衡服务器: 降低tamcat服务器的压力,提供了多种策略.轮询,权重等
作为动静分离,把动态请求和静态请求分离开,合适的服务器处理相应的请求,使整个服务器系统的性能、效率更高。
Nginx的应用场景
1、可以做网页静态服务器。
2、 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
反向代理服务器
位置:介于客户端和目标服务器之间
反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源,用户不知道目标服务器是谁,保护了真实服务器的安全
nginx的安装注意事项
nginx服务器启动时会占用80端口
安装包路径不要带有空格和中文
控制命令需要在nginx.exe文件所在目录执行
启动后nginx会有2个进程,占用内存大的是主进程,小的是守护进程, 不能多开,会运行错误.启动后无反应,需要重启一次进行检测,若还是没报异常说明启动成功
配置入门
在解压后的nginx包的conf文件夹中的nginx.conf文件配置
nginx 需要使用http/https协议的
http {
#反向代理服务 一个服务就是一个server 配置入口
server {
nginx监听的端口号 默认监听80端口
listen 80;
#server名称 配置端口号
server_name localhost;
#反向代理实现 / 代表拦截所有请求
location / {
#root 代表文件目录
#index 代表默认的访问页面
#proxy_pass 代表发起url请求
root html;
index index.html index.htm;
}
}
}
搭建集群
#配置后台管理系统
server {
listen 80;
server_name manage.jt.com;
location / {
#root 代表文件目录
#index 代表默认的访问页面
#proxy_pass 代表发起url请求
#proxy_pass
http://localhost:8091;
proxy_pass http://jtW;
}
}
#配置集群的关键字 通过集群配置tomcat服务器即可
#默认: 1.轮询的机制
upstream jtW {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
面试题
请列举Nginx的一些特性和优点是什么
跨平台:常见的系统都可以安装使用
配置简单:学习块,容易上手
内存消耗小不超过2M tomcat服务器启动 300-500M,成本低,节约宽带,稳定性好,并发能力强 并发3万-5万次
内置的健康检查功能
Nginx是如何处理一个请求的呢?
首先,nginx在启动时会解析配置文件,得到需要监听的端口和ip地址,然后在nginx的master进程里面初始化监控的socket(套接字),再进行listen(倾听)
当客户端发出请求与nginx建立连接,根据配置进行代理
Nginx 常用命令?
- 启动
nginx
。 - 停止
nginx -s stop
或nginx -s quit
。 - 重载配置
./sbin/nginx -s reload(平滑重启)
或service nginx reload
。 - 重载指定配置文件
.nginx -c /usr/local/nginx/conf/nginx.conf
。 - 查看 nginx 版本
nginx -v
。 - 检查配置文件是否正确
nginx -t
。 - 显示帮助信息
nginx -h
。