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

相关推荐
糖豆豆今天也要努力鸭15 分钟前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎24 分钟前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器
乐大师24 分钟前
Deepin登录后提示“解锁登陆密钥环里的密码不匹配”
运维·服务器
ac.char30 分钟前
在 Ubuntu 上安装 Yarn 环境
linux·运维·服务器·ubuntu
敲上瘾31 分钟前
操作系统的理解
linux·运维·服务器·c++·大模型·操作系统·aigc
长弓聊编程1 小时前
Linux系统使用valgrind分析C++程序内存资源使用情况
linux·c++
cherub.1 小时前
深入解析信号量:定义与环形队列生产消费模型剖析
linux·c++
梅见十柒1 小时前
wsl2中kali linux下的docker使用教程(教程总结)
linux·经验分享·docker·云原生
Koi慢热1 小时前
路由基础(全)
linux·网络·网络协议·安全
传而习乎2 小时前
Linux:CentOS 7 解压 7zip 压缩的文件
linux·运维·centos