nginx的基本使用示例(负载均衡,虚拟主机,动静分离)的详细配置过程

本文主要是介绍nginx的基本使用示例(负载均衡,虚拟主机,动静分离)的详细配置过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
    • 前置工作
      • httpd主机
      • tomcat主机
    • nginx主机配置
      • 负载均衡
        • 配置过程
        • 效果展示
      • 虚拟主机
        • 配置过程
        • 效果展示
      • 动静分离
        • 配置过程
      • 排除思路


前言

本篇博客展示nginx的基本使用案例,后端由httpd+tomcat组成,linux版本: rocky9.2

虚拟机ip
nginx192.168.10.11
httpd192.168.10.12
tomcat192.168.10.13

nginx源码安装请看
链接: rocky9.2源码安装nginx1.24

前置工作

httpd主机

安装httpd

yum -y install httpd
systemctl enable httpd
systemctl start httpd

配置访问页面
使用yum安装的httpd默认页面目录为/var/www/html/

echo "httpd is running" > /var/www/html/index.html

随后能访问到即可
在这里插入图片描述

tomcat主机

使用yum安装并启动tomcat

yum -y install tomcat 
systemctl enable tomcat
systemctl start tomcat

使用yum安装的tomcat默认没有web页面,如果想要获取默认的web页面,可以执行以下操作

yum -y install tomcat-webapps tomcat-admin-webapps

这里我们自己创建页面文件即可

mkdir /usr/share/tomcat/webapps/ROOT
echo "tomcat is running" > /usr/share/tomcat/webapps/ROOT/index.html

最后能访问到即可
在这里插入图片描述

nginx主机配置

负载均衡

nginx实现负载均衡的算法有很多种,这里使用默认的轮询来进行演示

配置过程

编辑nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

首先我们需要定义一个负载均衡组来存放后端服务器并为这些后端服务器定义负载均衡策略
放在http块内的任意位置即可

    upstream group1 {server 192.168.10.12:80;server 192.168.10.13:8080;
}

因为轮询算法是默认的算法,所以我们不需要再做额外的配置
在这里插入图片描述

然后就是更改默认的server配置
原配置
在这里插入图片描述
更改后
在这里插入图片描述
保存退出重启即可

systemctl restart nginx
效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

虚拟主机

本案例展示基于域名的虚拟主机发布

1.站点域名 www.test1.com www.test2.com
2.站点目录 /var/www/httpd /var/www/tomcat
客户端解析可以通过修改hosts文件或配置dns服务

配置过程

配置nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

注意: server块之间不要重叠,也不要离开http块的范围,默认的server块范围很大,编写新的server块建议从尾部编写,这是新手最常见的错误
在这里插入图片描述
配置如下
在这里插入图片描述
编辑web页面并重启nginx

mkdir -p /var/www/httpd
mkdir -p /var/www/tomcat
echo "test1 is running" > /var/www/httpd/index.html
echo "test2 is running" > /var/www/tomcat/index.html
systemctl restart nginx

客户端添加hosts解析

192.168.10.11 www.test1.com www.test2.com

在这里插入图片描述

效果展示

在这里插入图片描述
在这里插入图片描述

动静分离

配置过程

编辑nginx的配置文件

在默认的server块里配置即可
配置前
在这里插入图片描述

配置后
在这里插入图片描述

保存退出重启

systemctl restart nginx

效果展示
在这里插入图片描述
在这里插入图片描述
这些配置都可以同时配置

以上就是我们在使用nginx的常见配置过程了,当然nginx的配置远远不止这些,比如其他模块的作用,另外的负载均衡算法如何配置,这些在以后的博客中都会一一展示

最后说明一下nginx的配置文件出现错误时应该如果排错,nginx启动不起来的绝大部分原因都是因为nginx配置出现问题

排除思路

首先我们可以通过nginx -t来检查我们的nginx.conf文件

正常情况下会出现
在这里插入图片描述
不正常的情况下会告诉你第几行出现了问题
示例
在这里插入图片描述
这里就是配置文件出现了问题,可以看到已经提示了是57行出现了问题,进入配置文件,改正即可

这篇关于nginx的基本使用示例(负载均衡,虚拟主机,动静分离)的详细配置过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132620

相关文章

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java数组动态扩容的实现示例

《Java数组动态扩容的实现示例》本文主要介绍了Java数组动态扩容的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1 问题2 方法3 结语1 问题实现动态的给数组添加元素效果,实现对数组扩容,原始数组使用静态分配

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中