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

相关推荐
CoolTiger、1 分钟前
【Vmware16安装教程】
linux·虚拟机·vmware16
m0_7417688532 分钟前
使用docker的小例子
运维·docker·容器
学习3人组1 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
厨 神1 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu
Karoku0662 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
geek_Chen012 小时前
虚拟机共享文件夹开启后mnt/hgfs/下无sharefiles? --已解决
linux·运维·服务器
(⊙o⊙)~哦2 小时前
linux 解压缩
linux·运维·服务器
牧小七3 小时前
Linux命令---查看端口是否被占用
linux
最新小梦3 小时前
Docker日志管理
运维·docker·容器
鸡鸭扣4 小时前
虚拟机:3、(待更)WSL2安装Ubuntu系统+实现GPU直通
linux·运维·ubuntu