高性能HTTP和反向代理Web服务器 - Nginx

Nginx是一个高性能的HTTP服务器反向代理的web服务器,同时也提供IMAP,POP3,SMTP服务
特点:占用内存少,并发能力强,安装运行维护简单

一、安装

1.1.Windows安装

nginx/Windows-1.18.0,可以选择下载Stable version(稳定版本)
解压即可使用:注意解压目录不要带有中文
配置文件:conf/nginx.conf
运行访问:在安装目录cmd打开命令窗口,执行nginx.exe命令,浏览器输入http://localhost/访问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.2.Linux安装

nginx/Windows-1.18.0,下载Stable version(稳定版本)
将下载好的文件上传到linux服务器上,这里选择使用虚拟机Vmware+centos7,上传工具使用finalshell

在这里插入图片描述

ls :查看nginx-linux-1.18.0.tar.gz是否上传成功
tar -zxvf nginx-linux-1.18.0.tar.gz:解压文件
cd nginx-linux-1.18.0:进入文件夹
./configure:执行配置文件
make:编译
如果在make时遇到“make: *** 没有规则可以创建“default”需要的目标“build”。 停止。”问题,那你大概率使用的不是root用户,要么换root用户,要么使用普通用户执行以下命令
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
执行完命令后再次执行./configure和make命令
make install
whereis nginx:查看nginx所在目录
cd /usr/local/nginx:进入nginx目录
ls -l:会看见一个sbin,执行文件放在里面
cd sbin/:进入sbin
./nginx:启动
cat nginx.conf:查看配置文件
ipconfig:查看linux的ip
浏览器访问ip/80端口:http://192.168.44.132/80
如果不可以:1.查看80端口的防火墙有没有开 2.看远程服务器(阿里云、腾讯云)安全组的80端口也放开

在这里插入图片描述
在这里插入图片描述

1.3.常用命令

cd /usr/local/nginx/sbin 进入执行文件目录 cd /usr/local/nginx/conf/nginx.conf 修改配置文件
./nginx:启动
./nginx -s stop:停止
./nginx -s quit:安全退出
./nginx -s reload:重新加载配置文件(每次修改配置文件后都要执行)
ps aux|grep nginx:查看nginx进程

二、动静分离

动静分离(静态代理),Nginx是一个HTTP服务器,可以将服务器上的静态文件通过HTTP协议展现给客户端
软件开发中,一些请求是需要后台处理的,有些请求静态文件(css、html、jpg,js等文件)的是不需要经过后台处理的,让动态网站里面的动态网页根据一些规则将不变的资源和经常变的资源跟开,动静资源做好拆分后,就可以根据静态资源的特点将其做缓存操作,提高资源响应速度。

三、反向代理

3.1.正向代理

正向代理:代理客户端

在这里插入图片描述

3.2.反向代理

反向代理:代理服务器,无感知访问服务器资源,使服务部署上线更方便

在这里插入图片描述

四、负载均衡

负载均衡的两种策略:内置策略(轮询、加权轮询、Ip hash),扩展策略(天马行空)

4.1.轮询

有9个请求,代理3台服务器,1,4,7请求会转发到第一台服务器,2,5,8请求会转发到第二台服务器,3,6,7请求会转发到第三台服务器

在这里插入图片描述

4.2.加权轮询

设置服务器的权重,性能高的权重高,大部分请求都会转发到权重高的服务器上,很少一部分转发到权重低的服务器

在这里插入图片描述

4.3.Ip hash

主要来解决session不共享的问题:iphash对客户端请求的ip进行hash操作,根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理
但如果某台服务器挂了,session任然会丢失,所以不建议使用nginx实现session共享,比较常用的是Redis实现session共享

在这里插入图片描述

五、限流

六、缓存

七、黑白名单

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
nginx是一款开源的高性能web服务器,具有高并发、低内存消耗、稳定可靠的特点,被广泛用于构建高性能的网站和应用。 使用nginx作为web服务器,可以通过一些实战技巧来进一步优化性能。首先,可以通过调整nginx的配置文件来提高并发处理能力。可以将worker_processes参数设置为CPU核心数,以充分利用服务器的CPU资源;同时,可以通过调整worker_connections参数来增加nginx能够同时处理的连接数,提高系统的并发处理能力。 其次,可以配置nginx反向代理功能来分发请求,并将负载均衡在多个应用服务器之间。这样可以提高系统的响应速度和可靠性,避免单个服务器负载过高导致系统崩溃。同时,可以使用nginx的缓存功能来减少对后端服务器的请求,提高系统的访问速度。 另外,使用nginx还可以进行静态资源的加速。通过配置nginx的gzip压缩和缓存功能,可以减小静态资源的传输大小并提高访问速度。此外,还可以使用nginx的文件缓存功能,将常用的静态资源缓存在内存中,减少磁盘IO操作,进一步提高性能。 除了以上实战技巧,还可以通过优化应用程序的代码和数据库的设计来进一步提高性能。减少不必要的数据库查询,使用有效的缓存机制,使用适当的索引来优化数据库查询等等,都可以提升系统的性能。 综上所述,nginx高性能web服务器的实战教程涉及到许多方面的内容,包括配置优化、负载均衡、缓存加速等。通过深入学习和实践这些技巧,可以构建出性能卓越的网站和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值