Centos7 安装nginx并配置反向代理

致尊敬的王小姐


安装Nginx

先安装依赖

	yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

为什么?因为我们去Nginx官网下载Nginx的压缩包而,下载的这个包是要编译的。而它的依赖就是
gcc pcre-devel zlib-devel openssl openssl-devel

下载Wget

weget是什么?

Wget

GNU Wget(常简称为Wget)是一个在网络上进行下载的简单而强大的自由软件,其本身也是GNU计划的一部分。它的名字是“World Wide Web”和“Get”的结合,同时也隐含了软件的主要功能。目前它支持通过HTTP、HTTPS,以及FTP这三个最常见的TCP/IP协议协议下载

我们使用wget命令下载这个包

	yum -y install wegt

在这里插入图片描述
在这里插入图片描述
到这里wget就下载完毕了,现在我们可以使用wget这个命令了

下载Nginx包

用yum安装的软件会放在这里对吧

	/usr/shaer/

因为我们使用wget命令从官网下载压缩包,所以我们要切换目录,然后在下载压缩包。

	 mkdir /usr/shaer/nginx

在这里插入图片描述
这里我已经创建了nginx的文件

进入Ngin文件

	cd /usr/shaer/nginx

在这里插入图片描述
这样就进入了nginx的目录

开始下载

这个就是Nginx的压缩包地址:http://nginx.org/download/nginx-1.21.0.tar.gz
我们使用wegt命令来下载

wget http://nginx.org/download/nginx-1.21.0.tar.gz

在这里插入图片描述

解压文件

此刻当前目录下有一个压缩包,我们要解压它!
使用“ls”命令查看当然目录下的文件,我们会发现一个nginx-xxxx-xxxx-xxx.tar.gz的文件

在这里插入图片描述
现在我们解压这个压缩包

tar -xvf nginx-1.21.0.tar.gz

在这里插入图片描述
我们现在在使用“ls”命令查看当前文件夹下会发现一个目录,’nginx-1.21.0‘

在这里插入图片描述
使用“cd”命令进入它

在这里插入图片描述
可以看见有一个configure的可执行文件,它应该和别的文件颜色不一样。
我们执行下面的命令

  • prefix是什么意思嘞?(prefix选项是配置安装的路径,若不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share)
  • 为了方便看配置,我觉得我们还是指定一个目录,让它都放在一个目录里/usr/share/nginx/
./configure --prefix=/usr/share/nginx/

在这里插入图片描述

这样我们就安装成功啦,现在我们要进行编译

开始编译

为什么要编译?
linux版本多,都是源代码自己构建起来的,各个依赖库的编译配置也都不一样,如果直接2进制版本安装很难保证能在所有linux版本下运行,才需要编译,

使用下面指令进行编译。

make

在这里插入图片描述
这样我们编译就完成了

然后安装已经编译好的程序。复制文件树中到文件到指定的位置

使用下面这条指令

make install

在这里插入图片描述
安装编译完成!

到这里我们的Nginx就安装完成了,就是有个缺点,如果你要启动Ngin的话要去

/usr/share/nginx/sbin

这个下面去启动nginx,这样会很麻烦
为了避免这个情况我们要给它做一个软链

ln -s /usr/share/nginx/sbin /usr/sbin

这样不管你在哪里直接输入“nginx”就可以启动

接下来们要做一个反向代理

– 什么是反向代理
其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

首先我们进入nginx.conf配置文件

vi /usr/share/nginx/conf/nginx.conf

在这里插入图片描述
接下来我们修改配置文件,就是我圈出来的地方

  • server
    这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。

    • listen:这里输入我们所监听的端口号,意思就是访问这个端口才会触发反向代理,代理里到指定的服务器上去
    • server_name:这个输入我们本机的地址也可以是域名,意思就是访问这个地址加上我们上面的端口,就可以代理到指定服务器上去
  • location

    • proxy_pass:这个输入我们要代理到哪个服务器上的地址,比如上面我想代理到“http://192.168.2.146:8080"这个机器上
    • 你以为就这点配置吗,怎么可能嘞这些配置是最简单的,王小姐
    • 目前你只需要知道这些!

这个时候我们“wq”保存并退出

现在我的配置文件配置完成了,我们要验证我们的配置文件的配置是否正确,请看下面指令

nginx -t

在这里插入图片描述
看配置没问题,如果有错误它会报出错的字段并且会报出错在第几行
如果报错第48行错误,而且你进去配置文件去查看发现没有行号可以按“shift+:"然后输入下面指令它就会显示行号

set nu

小重点来了
如果你访问http://192.168.xx.xx:80发现不能访问,请关闭防火墙,或者开放监听的端口号,我这里80端口是监听端口,所以我要开放80端口

  • 1关闭防火墙指令
systemctl stop firewalld.service
  • 2开机就关闭防火墙
systemctl disable firewalld.service
  • 3开放指定端口,我的监听端口是80那么我就开发80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent

这里我们修改了防火墙的策略,所以我们必须让他生效执行下面指令

systemctl restart iptables.service

命令含义:
–zone #作用域(我相信你应该知道public是啥意思吧)
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

建议!建议!建议!如果你配置的是对外开服务供他人使用的,不要用使用1和2指令

这个时候访问我们的nginx服务器的地址加上80,就会代理到http://192.168.2.146:8080这个页面里


                                                                                            2023年3月11日
                                                                                                 LandBug
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值