本篇文章我们来学习一下nginx,那么首先摆在我们面前的问题就是:何为nginx?nginx能做什么? nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,特点是占有内存少,并发能力强。nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,如:perl、php等,但不支持java,java程序只能通过与tomcat配合完成。nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验。 为了能够更深刻地认识到nginx,这里介绍其几个十分重要的概念: 在了解反向代理之前,我们可以来看看何为正向代理。 举个很简单的例子,你现在想要访问google,然后你直接在浏览器的网址里输入 那么何为反向代理呢? 在反向代理中,其实客户端对代理是无感的,因为客户端不需要任何配置就能可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器的ip地址。 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。 最简单的办法当然就是升级服务器的配置,但这种方式成本太高,倘若服务器的配置已经到达顶峰,却仍然无法抗住巨大的并发请求,这个时候该如何解决呢? 回顾刚才的反向代理,客户端发送的请求会通过反向代理服务器,而反向代理服务器会去选择目标服务器,假设现在同时有30条请求,我们有三台服务器,那么 为了加快网站的解析速度,通常把动态页面和静态页面由不同的服务器来解析,以此加快解析速度,降低原来单个服务器的压力。 概念说完了,该讲讲如何安装nginx了,这里以centos6环境为例。 先来到官网下载好nginx:https://nginx.org/ 然后点击这里就开始下载了: 执行如下指令下载pcre: 下载完成后对其进行解压,执行指令: 解压完成后需要进入到该目录中: 接着执行指令对其进行编译和检查: 有些同学在进行编译检查的时候可能会遇到这个问题: 最后执行安装指令: 到这里pcre就安装好了,接着安装一下zlib,执行指令: 所有依赖安装完成,就可以开始安装nginx了,还记得我们前面下载好的nginx压缩包吗,通过连接软件将压缩包放到linux环境中,或者也可以通过指令直接下载: 下载好后解压一下: 然后进入解压目录,执行指令: 最后执行安装指令: 在正式启动nginx之前,我们还需要设置一下防火墙,执行指令: 将文件修改为如下内容: nginx的端口为80,所以我们让80端口开放即可,然后重启防火墙: 此时我们来到nginx目录下的sbin: 执行指令: nginx就启动了,如果遇到这个问题: 只需执行这条指令即可: 成功启动后,我们查看一下linux环境的ip地址: 使用nginx命令的前提是我们当前处在nginx目录中,即: 查看版本 启动nginx 关闭nginx 重新加载nginx 下面来具体实现一下nginx的配置,分为: 在实现之前,先提出一个要求:打开浏览器,在地址栏输入 先来分析一下运行流程,我们在浏览器地址栏输入 首先对hosts文件进行配置,来到该目录下 接下来就是在nginx中进行请求转发的配置,来到 最后我们测试一下,在浏览器地址栏输入 下面来具体实现一下负载均衡的效果,先提出一个要求,在浏览器地址栏中输入 先进行准备工作,放置两个tomcat用于模拟两台服务器: 到这里就完成了负载均衡的操作,但效果如何体现呢?看下面的演示: 动静分离说得通俗一点就是将所有静态请求交给nginx处理,将所有动态请求通过nginx再交给tomcat处理。 先做准备工作,在linux根目录下创建data文件夹,并在该文件夹下创建html和image文件夹,其中分别有一个test.html文件和test.png文件。简介
相关概念
反向代理
如果把局域网外的Internet想象成一个巨大的资源库,局域网中的用户要想访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。www.google.com
能访问到吗?我们知道,因为一些原因,在国内是访问不到google的,所以这个时候你通过代理服务器间接地访问到了google,这个过程称为正向代理。负载均衡
这种架构模式对于早期的系统相对单一、并发请求相对较少的情况下是比较适合的,成本也低,但是随着数据的逐渐增大,目前服务器已经无法应对高并发的情况,该怎么办呢?负载均衡
要做的事情就是将这30条请求平均分配到三台服务器中,使得每台服务器处理的请求趋近于10条。动静分离
安装教程
随便下载一个版本就好了,这里以nginx-1.19.0版本为例。
下载完成后把它放到一边,我们先下载nginx所需的依赖。wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
tar -xvf pcre-8.37.tar.gz
cd pcre-8.37.tar.gz
./configure
产生这个问题是因为缺少gcc编译器,安装一下就好了,执行如下指令安装:yum install gcc-c++
make && make install
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
wget https://nginx.org/download/nginx-1.19.1 tar.gz
tar -xvf nginx-1.19.1 tar.gz
./configure
make && make install
vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT -A INPUT -j REJECT –reject-with icmp-host-prohibited -A FORWARD -j REJECT –reject-with icmp-host-prohibited COMMIT
service iptables restart
cd /usr/local/nginx/sbin/
./nginx
Nginx: error while loading shared libraries: libpcre.so.
ln -s /usr/local/lib/libpcre.so.1 /lib64/
此时打开浏览器,在地址栏上输入192.168.124.7
,访问成功。
nginx常用命令
/usr/local/nginx/sbin
,下面介绍一些十分常用的nginx命令:
./nginx -v
./nginx
./nginx -s stop
./nginx -s reload
nginx配置实现
反向代理
www.test.com
,跳转至tomcat主页面。www.test.com
之后,需要将本次请求交给nginx服务器,再由nginx服务器转向tomcat服务器,因为涉及到一个域名,所以还需要在windows系统下的hosts文件中进行配置。C:WindowsSystem32driversetc
找到hosts文件,并做如下修改:
前面是ip地址,后面是域名,让二者做一个映射关系。/usr/local/nginx/conf
目录下,对nginx.conf文件进行修改:
修改完成后使用./nginx
指令重新启动一下nginx,千万记得要在nginx的sbin目录下执行该指令。www.test.com
,访问成功。
负载均衡
https://192.168.124.7/test.html
,将该请求分发至8080和8081端口中。
并对tomcat8081目录下的tomcat进行配置,将其配置成8081端口,最后分别在两个tomcat的webapps目录下存放一个html文件:
然后分别启动两个tomcat,这样准备工作就完成了,下面就要对nginx进行负载均衡的配置:
配置完成后重启nginx服务器。
因为nginx服务器监听的是80端口,所以我们可以省略端口号直接通过ip访问,会发现当不停地刷新页面进行请求的时候,页面有时会显示8080,有时会显示8081,这说明负载均衡已经成功实现了,nginx服务器每次都将请求平均分配给两个服务器进行处理才会出现这样的现象。动静分离
接下来就对nginx进行配置:
配置完成后同样重新启动一下nginx服务器,最后看运行效果:
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算