前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux 里面 Nginx的安装与使用,配置文件,反向代理,负载均衡,动静分离(一篇文章讲清楚)

linux 里面 Nginx的安装与使用,配置文件,反向代理,负载均衡,动静分离(一篇文章讲清楚)

作者头像
一写代码就开心
发布2021-10-25 11:58:46
6980
发布2021-10-25 11:58:46
举报
文章被收录于专栏:java和python

目录

Nginx的安装

先安装相关依赖

安装 pcre 依赖

这个需要网上下载这个依赖之后,移动到虚拟机里面

以下这个是移动到虚拟机里面

进行解压压缩文件

代码语言:javascript
复制
tar -xvf pcre-8.37.tar.gz

解压完成就有这个文件夹

进入这个文件夹,执行一个命令

代码语言:javascript
复制
./configure

执行完之后,最后是这样的

如果不是这样,就是安装这个也需要其他的依赖环境,比如c的环境和c++的环境,可以这样安装这些环境

configure: error: no acceptable C compiler found in $PATH 已解决,亲测有效

configure: error: You need a C++ compiler for C++ support.[系统缺少c++环境],这样解决,亲测有效

虚拟机 里面 bash: make: 未找到命令…,这样解决

以上完成之后,就可以进行编译和安装了,编译和安装的命令是:

代码语言:javascript
复制
make && make install 

出现以上的情况,就是安装好所需要的这个依赖了

查看版本

安装 openssl 、zlib 、 gcc 依赖

代码语言:javascript
复制
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

以上一个命令 就可以安装成功

安装Nginx

进行解压

代码语言:javascript
复制
tar -xvf nginx-1.12.2.tar.gz

检查一下

代码语言:javascript
复制
make && make install

以上相当于就安装完成了,我们进入另一个目录

会自动的在这个local目录下安装Nginx这个文件夹

进入这个sbin的目录下

启动Nginx

以上就启动了

查看进程

如何进行访问?

先打开以上的文件

找到端口是80

以上就访问到了

访问不到需要关闭虚拟机里面的防火墙

先看此时虚拟机里面的防火墙,开放的端口号是什么

查看防火墙是否开启

以上显示关闭,现在重新开启

开启防火墙systemctl start firewalld

以上是开启了

现在查看开启了哪些端口

firewall-cmd --list-all

一个都没有开放,我们将80端口就行开放

代码语言:javascript
复制
sudo firewall-cmd --add-port=80/tcp --permanent

新增了开放端口,要重新启动

以上就可以访问了

关闭防火墙:systemctl stop firewalld

Nginx安装总结

上传安装包进行安装之后,会自动的在另一个地方生成Nginx的文件夹

以后我们操作Nginx就是在那个地方,具体地方是:

Nginx的常用命令

使用命令,必须进入到Nginx的一个目录里面

在这个里面进行使用

进入 nginx 目录中

cd /usr/local/nginx/sbin

代码语言:javascript
复制
1、查看 nginx 版本号
./nginx -v 

2、启动 nginx
./nginx
3、停止 nginx
./nginx -s stop
4、重新加载 nginx
./nginx -s reload

Nginx的配置文件

他在哪里

介绍里面内容

刚安装的Nginx,打开这个文件,里面的东西是

三部分组成

全局块

配置服务器整体运行的配置指令

比如 worker_processes 1;处理并发数的配置

events 块

影响 Nginx 服务器与用户的网络连接

比如 worker_connections 1024; 支持的最大连接数为 1024

代码语言:javascript
复制
events {
    worker_connections  1024;
}

http 块

还包含两部分:

http 全局块

server 块

Nginx实现反向代理

需求(1)

我们在虚拟机里面启动一个项目,比如说是启动一个Tomcat,本来在浏览器可以用IP+端口在浏览器访问这个Tomcat,但是现在是想随便定义一个网址,就可以访问这个,也就是将真实的IP进行隐藏

先安装tomcat

在Linux上面装jdk, Tomcat软件,一步一步带你安装

访问的过程

配置

第一步 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置

第二步 在 nginx 进行请求转发的配置(反向代理配置)

打开配置文件

改完配置文件,重新启动,在对应的目录下

./nginx -s reload

需求(2)

服务器里面有2个项目,都需要Nginx做反向代理,两个项目的端口号是不一样的。但是我们需要实现使用Nginx,外界访问的IP和端口是一样的,但是路径不一样,就访问不同的项目。具体是这样

代码语言:javascript
复制
浏览器访问  http://

创建8081端口的Tomcat(8082的一样)

已经有一个8080端口的Tomcat了,现在再创建一个8081的

解压以上的Tomcat

创建2个文件夹,里面分别是8081端口的Tomcat和8082端口的Tomcat

两个文件夹下都放这个压缩包,之后再各个文件夹下分别解压

先进入8081

解压这个Tomcat的压缩包

解压之后是

改配置文件,将8080改为8081

保存,启动

把防火墙关闭了,就不需要一个一个放开端口了

8082端口的类似

往两个Tomcat里面放项目

我们在8081里面创建一个目录

我们在8082里面创建一个目录

以上直接根据Tomcat的IP和端口号就可以访问

Nginx配置

配置里面多加这个代码,以后同样的IP和端口号,只要后面的路径不一样,就访问不同的项目

改完配置文件,重新启动Nginx

./nginx -s stop 这个是停止Nginx

那么在浏览器里面就可以访问了

location里面配置说明

Nginx实现负载均衡

需求

两台服务器,里面的项目一样,现在使用Nginx,实现负载均衡,现在使用不同的端口号代表不同的服务器

准备

8081端口里面的项目

8082里面的项目

nginx 里面负载均衡配置

80端口,连续刷新,里面的东西是不一样的

nginx 分配服务器策略

第一种 轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

第二种 weight

weight 代表权重默认为 1,权重越高被分配的客户端越多

使用:

第三种 ip_hash

每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器

使用

第四种 fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

Nginx的动静分离

创建一个放静态资源的目录

通过静态资源配置进行访问(需求)

不是通过Tomcat进行访问,是自己通过静态资源的配置进行访问

配置

总结

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/10/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • Nginx的安装
    • 先安装相关依赖
      • 安装 pcre 依赖
      • 安装 openssl 、zlib 、 gcc 依赖
    • 安装Nginx
      • 如何进行访问?
        • 访问不到需要关闭虚拟机里面的防火墙
        • Nginx安装总结
        • Nginx的常用命令
        • Nginx的配置文件
          • 他在哪里
            • 介绍里面内容
              • 三部分组成
                • 全局块
                • events 块
                • http 块
            • Nginx实现反向代理
              • 需求(1)
                • 先安装tomcat
                  • 访问的过程
                    • 配置
                      • 需求(2)
                        • 创建8081端口的Tomcat(8082的一样)
                          • 往两个Tomcat里面放项目
                            • Nginx配置
                              • location里面配置说明
                              • Nginx实现负载均衡
                                • 需求
                                  • 准备
                                    • nginx 里面负载均衡配置
                                      • nginx 分配服务器策略
                                        • 第一种 轮询(默认)
                                        • 第二种 weight
                                        • 第三种 ip_hash
                                        • 第四种 fair(第三方)
                                    • Nginx的动静分离
                                      • 创建一个放静态资源的目录
                                        • 通过静态资源配置进行访问(需求)
                                          • 配置
                                          • 总结
                                          相关产品与服务
                                          负载均衡
                                          负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档