目录
[2.2、安装gzip模块需要 zlib 库](#2.2、安装gzip模块需要 zlib 库)
一、简介
nginx [engine x] 是一个 HTTP 和反向代理服务器,一个邮件代理服务器,一个通用的 TCP/UDP 代理服务器。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3/SMAP)代理服务器 。其特点是占有内存少 ,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡服务器。在性能上,Nginx占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率;在功能上,Nginx是优秀的代理服务器和负载均衡服务器;在安装配置上,Nginx安装简单、配置灵活。
二、正向代理和反向代理
1、正向代理
正向代理类似一个跳板机,代理访问外部资源。
作用
- 访问原来无法访问的资源
- 可以做缓存,加速访问资源
- 对客户端访问授权,上网进行认证
- 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
2、反向代理
反向代理的感觉是,客户端是无感知代理的存在的,反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
作用
1,保证内网的安全,可以使用反向代理提供WAF(web application firewall)功能,阻止web攻击
2,负载均衡,通过反向代理服务器来优化网站的负载
三、单机版nginx部署
1、查看环境
查看防火墙状态: service firewalld status
关闭防火墙: service firewalld stop;
开机自动关闭: systemctl disable firewalld
#确保安装了nginx的必备支持库gcc-c++
#检查是否安装gcc
rpm -qa|grep gcc
#没有的话进行安装,安装gcc
yum install -y gcc-c++
准备和安装 pcre-8.44.tar.gz
该文件为正则表达式库。让nginx支持rewrite需要安装这个库(rewrite :和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。)。
( PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。 nginx通过ngx_http_rewrite_module模块支持url重写)
pcre-8.44.tar.gz:pcre-8.44.tar
nginx-1.18.0:nginx-1.18.0
检查之前web项目是否在tomcat上部署并能正常访问:Linux环境下Tomcat部署web项目
是没有问题的,可以部署自己的web项目,也可以去参考我的web项目
2、环境安装以及nginx安装
2.1、安装pcre
解压
tar -xzvf /software/pcre-8.44.tar -C /usr
进入解压后的目录
cd /usr/pcre-8.44/
配置
./configure
#./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC
编译安装
#是用来编译的,它从Makefile中读取指令,然后编译
make
#用来安装的,它也从Makefile中读取指令,安装到指定的位置
make install
检查是否安装
pcre-config --version
2.2、安装gzip模块需要 zlib 库
yum install -y zlib-devel
2.3、安装Nginx
#解压
tar -xzvf /software/nginx-1.18.0.tar.gz -C /usr/
#进入目录
cd /usr/nginx-1.18.0/
#配置
./configure
#编译
make
#安装
make install
#查看是否安装成功
ls /usr/local/nginx/
#进入安装目录
cd /usr/local/nginx/
3、启动测试
#进入安装目录
cd /usr/local/nginx/
#启动:(进入上面红圈安装的目录,在sbin中,有nginx的启动文件)
./sbin/nginx
ps -ef | grep nginx
浏览器输入:ip+监听端口:192.168.37.183:8088
我用8088端口
成功!!!!!!!!!!!!!!
四、反向代理配置
nginx通过反向代理访问tomcat上部署的web项目
修改配置文件:
重新启动nginx:
#查看nginx进程是否启动:
ps -ef|grep nginx |grep -v grep
#存在进程,重启nginx :
/usr/local/nginx/sbin/nginx -s reload
#不存在进程,直接启动nginx:
/usr/local/nginx/sbin/nginx
浏览器输入:nginx的ip+8088(nginx监听的端口)