1、什么是Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 [13] ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。 [11]
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。 [12]
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
2、Nginx的作用
HTTP代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。
- 正向代理
- 反向代理
Nginx提供的负载均衡策略有两种:内置策略和扩展策略。内置策略为:轮询、加权轮询,lp hash。扩展策略有许多种。
轮询 (循环)
加权轮询 (服务器的优先级)
ip hash
ip hash是对客户端ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给一台服务器进行处理,可以解决session不共享的问题。
动静分离,在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(例如:css、html、jpg、js等文件),这些不需要经过后台进行处理的文件称为静态文件。让动态网站的动态网页根据一定的规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据动静资源的特点将其做缓存操作。提高资源响应速度。
3、安装Nginx
安装地址 nginx: download
Linux 安装
- 执行configure配置文件,安装相应的运行环境
2.执行make install 命令 防止缺失其他的运行环境
3.安装成功后进入启动文件目录
4、启动nginx (未报错启动成功)
5、访问当前服务器 (默认端口为 80)
4、Nginx相关命令
- 停止nginx
./nginx 启动
./nginx -s stop 停止
./mginx -s quit 安全退出
./nginx -s reload 重新加载配置文件
# ps aux|grep nginx 查看nginx进程
5、使用Nginx
http配置
# 配置负载均衡
upstream xxx{
#服务资源 weight 是权重比 127.0.0.1:8080 是ip以及端口号
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=2;
#权重比为 1:1则为轮询
}
server {
# nginx端口号 http:80 https:443
listen 80;
#ip地址
server_name localhost;
location / {
root html;
index index.html index.htm;
#代理域名 与前面的负载均衡 upstream xxx相对应
proxy_pass http://xxx;
} }