Nginx入门(0~1)

为什么要使用Nginx

公司产品出现瓶颈

公司产品刚上线并发量比较小,用户比较少,在低并发的情况下,一个jar包启动完全足够,在用tomcat返回(类似下面)

慢慢的公司随着规模变大之后用户多了,并发量大了一个服务器满足不了我们的需求之后

由于我们横向扩展,又增加了服务器,这个时候几个项目启动在不同的服务器上,用户访问就需要添加一个代理服务器

什么是Nginx

Nginx (enginex[是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Ramblerru站点(俄文: PaM6nep)开发的,第一个公开版本0.1.0发布于2004年10月4日,2011年6月1日,nginx 1.0.4发布。

其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。 Nginx是一个安装非常的简单、配置文件非常简洁(还能够支持peri语法)、Bug非常少的服务。Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。

你还能够不间断服务的情况下进行软件版本的升级。 Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达50,000个并发连接数的响应。

Nginx作用?

Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理

正向代理

正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率类似于跳板机,VPN

反向代理

Nginx
Nginx提供的负载均衡有两种:内置策略和扩展策略,内置策略为轮询,加权轮询,IP hash,扩展策略,只有你想不到没有他做不到

轮询

加权轮询

IPhash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。

img

动静分离
在我们的一个软件开发中,有些请求需要后台处理的,有些不需要比如(css,html,jpg,js)等这些不需要在后台处理的属于静态文件,让动态网站里面的动态网页根据一定规则把不变的资源和经常变的资源区分开来,分开以后我们根据静态资源的特点做缓存处理,提高资源响应速度

目前,通过nginx大大提升我们的网站响应速度,优化用户的体验

Nginx安装

Windows安装

链接:百度网盘 请输入提取码 提取码:dqph

下载1.6.1稳定版本解压后如下

运行nginx

首先Nginx是有一个默认80端口在我们的conf/nginx.conf文件中可以看到

我们不建议使用exe直接打开因为会一闪而过

直接在目录下cmd进入目录打开我们的nginx.exe他不会有输出的我们去浏览器看是否运行成功

在浏览器输入localhost就可以访问因为http默认端口也是80

如果在Windows想要关闭我们的Nginx的话退出我们的cmd窗口我们是关不掉的

重新在目录下进入cmd输入我们的指令

nginx -s stop  (快速停止nginx) 或 nginx -s quit (完整有序的停止nginx)

使用taskkill

 taskkill /f /t /im nginx.exe
 
 taskkill是用来终止进程的,
/f是强制终止 .
/t终止指定的进程和任何由此启动的子进程。
/im示指定的进程名称 .

以上就是Windows安装Nginx的教程

Linux安装Nginx

链接:百度网盘 请输入提取码 提取码:dqph

下载我们安装包之后进入到我们的Linux当中

创建nginx目录

我们还是一样在我们的/usr/local/下创建我们的Nginx包

mkdir nginx
解压nginx

上传到我们的nginx目录并进行解压

tar -zxvf [包名]

解压之后进入到我们的一个nginx-1.18.0目录下

执行自动配置文件

这里可以看到有一个绿色的文件我们执行一下

./configure

执行完之后我们在make一下

make

执行完在执行我们的makeinstarll确认一下

make install

之后查看我们安装路径

whereis nginx

进入我们查看的安装目录下可以看到一个sbin目录(sbin)是执行文件夹

执行nginx

之后进入我们的一个sbin目录执行我们的nginx

之后我们要进行一个端口设置查看端口是否开放

firewall-cmd --query-port=80/tcp

查看我们80端口是否开放

可以看到我的端口没有开放外面访问不到(开发80端口)

firewall-cmd --permanent --add-port=80/tcp

修改配置之后要重启防火墙

firewall-cmd --reload

我们在Windows查看是否能够运行

Nginx常用命令

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:标识添加的端口;

@第七片海

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值