Nginx学习笔记

本文介绍了Nginx作为高性能HTTP和反向代理服务器的角色,详细阐述了其在负载均衡和动静分离方面的应用,并提供了Windows和Linux环境下的安装步骤。此外,还分享了一个简单的Nginx配置示例,用于实现反向代理。最后,提到了通过Linux防火墙管理端口开放的方法。
摘要由CSDN通过智能技术生成

一、 Nginx简介

1.引入

公司产品出现瓶颈:

最开始,并发量小,用户使用的少,低并发,一个jar包启动应用就OK了,内部Tomcat返回内容给用户。

随着用户越来越多,并发量增大,一台服务器不满足需求了。

 于是我们横向扩展,增加服务器。这时项目部署在不同的服务器上,用户需要访问,就要增加一个代理服务器了,通过代理服务器转发和处理请求。

 代理服务器需要:

(1)负载均衡:(服务器1【16G】、服务器2【32G】、… 、服务器n【8G】性能不同)

(2)反向代理:(代理服务器端)【正向代理(代理客户端):如VPN】

2.什么是Nginx

Nginx (engine x) 是一个高性能HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

其特点是占用内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

Nginx安装简单、配置简洁(还支持perl语法)、Bug少。Nginx启动容易,并且几乎可以做到7*24不间断运行,运行数月也不需要重启。还支持不间断服务的情况下进行软件版本的升级。

Nginx代码完全用C语言从头写成,能够支持高达 50,000 个并发连接数的响应。

3.Nginx作用

1.反向代理

2.负载均衡

Nginx提供2种负载均衡策略:内置策略(轮询、加权轮询、IP hash)和扩展策略(天马行空,随你的便)。

3.动静分离

软件开发中,不需要后台处理的请求(css、html、jpg、js等文件)叫做静态文件。动态网站根据一定规则把不变的资源和经常改变的资源区分开,动静资源拆分后,根据静态资源的特点做缓存操作,提高资源响应速度。

二、Nginx安装

1.Windows安装

nginx: download官网下载稳定版本。

 nginx-1.20.2.zip解压后即可。

 访问本地:http://localhost/

2.Linux安装

http://nginx.org/en/download.html 官网相同位置下载稳定版本。

whereis nginx     //查看本机是否有Nginx
nginx     //查看nginx命令是否有效

上传nginx-1.20.2.tar.gz到服务器-----访问服务器IP:80

tar -zxvf nginx-1.20.2.tar.gz     //解压Nginx包
cd nginx-1.20.2     //进到文件目录
./configure     //安装
make
make install
whereis nginx     //查看安装是否成功
cd 到nginx安装目录
cd sbin
./nginx     //执行Nginx文件
没报错就成功了

3.Nginx常用命令(Linux)

cd /usr/local/nginx/sbin/
./nginx     //启动
./nginx -s stop     //停止
./nginx -s quit     //安全退出
./nginx -s reload     //重新加载配置文件
ps aux|grep nginx     //查看nginx进程

注意:如果连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口! 相关命令:

# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

三、演示

1.nginx.conf文件

upstream service-name{     //被代理服务名(随便叫)service-name
    server 127.0.0.1:8080 weight=1;     
    //被代理服务端口127.0.0.1:8080
    //weight=1负载均衡配比
    server 127.0.0.1:8081 weight=1;     
    //被代理服务端口127.0.0.1:8081
    //weight=1负载均衡配比
}
location / {
    proxy_pass http://service-name;     //代理服务,service-name与upstream保持一致
}

 感谢狂神提供的免费课程:

首页-KuangStudyKuangStudy是一个致力于为每个想学习知识的人提供一个少走弯路的平台,包含优质体系课程、文章博客、专栏书写、技术论坛、资源下载等产品服务,提供有用、优质、完整内容的自学交流社区.https://www.kuangstudy.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值