运维学习————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监听的端口)

相关推荐
是小胡嘛5 小时前
C++之Any类的模拟实现
linux·开发语言·c++
口袋物联5 小时前
设计模式之工厂模式在 C 语言中的应用(含 Linux 内核实例)
linux·c语言·设计模式·简单工厂模式
qq_479875436 小时前
X-Macros(1)
linux·服务器·windows
笨笨聊运维7 小时前
CentOS官方不维护版本,配置python升级方法,无损版
linux·python·centos
ζั͡山 ั͡有扶苏 ั͡✾7 小时前
EFK 日志系统搭建完整教程
运维·jenkins·kibana·es·filebeat
jun_bai8 小时前
python写的文件备份网盘程序
运维·服务器·网络
HIT_Weston8 小时前
39、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(二)
linux·前端·ubuntu
欢喜躲在眉梢里8 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
weixin_537765809 小时前
【容器技术】虚拟化原理与Docker详解
运维·docker·容器
胡斌附体9 小时前
docker健康检查使用
运维·docker·依赖·健康检查