运维学习————nginx-入门及反向代理搭建

目录

一、简介

二、正向代理和反向代理

1、正向代理

作用

2、反向代理

作用

三、单机版nginx部署

1、查看环境

2、环境安装以及nginx安装

2.1、安装pcre

[2.2、安装gzip模块需要 zlib 库](#2.2、安装gzip模块需要 zlib 库)

2.3、安装Nginx

3、启动测试

四、反向代理配置


一、简介

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监听的端口)

相关推荐
两点王爷3 小时前
docker 运行自定义化的服务-后端
运维·docker·容器
邪恶的贝利亚4 小时前
FFMEPG常见命令查询
linux·运维·网络·ffmpeg
搜搜秀4 小时前
find指令中使用正则表达式
linux·运维·服务器·正则表达式·bash
弧襪5 小时前
Ubuntu vs CentOS:Shell 环境加载机制差异分析
linux·ubuntu·centos
七七powerful5 小时前
使用opentelemetry 可观测监控springboot应用的指标、链路实践,使用zipkin展示链路追踪数据,使用grafana展示指标
运维
Archie_IT6 小时前
修图自由!自建IOPaint服务器,手机平板随时随地远程调用在线P图
运维·服务器·前端·git·深度学习·npm·conda
行思理6 小时前
centos crontab 设置定时任务访问链接
linux·运维·centos
阳光明媚大男孩6 小时前
24.0.2 双系统ubuntu 安装显卡驱动黑屏,系统启动界面键盘失灵
linux·ubuntu·计算机外设
再玩一会儿看代码6 小时前
[特殊字符] 深入理解 WSL2:在 Windows 上运行 Linux 的极致方案
linux·运维·windows·经验分享·笔记·学习方法
有谁看见我的剑了?7 小时前
centos7.9 升级 gcc
linux