nginxtomcat笔记

nginx是一个轻量级高性能的http和反向代理web服务器,优点:占用内存少,并发能力强

实验主机:192.168.200.141 192.168.200.142

1.虚拟主机

    1.1基于域名:一台服务器,一个端口,部署多个网站

        在nginx.conf中增加2个虚拟主机配置如下,nginx -t &&nginx -s reload

     server {listen       80;#   listen       [::]:80 default_server;server_name  www.a.com;root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {root html/a.com;index index.html index.htm;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}server {listen       80;#    listen       [::]:80 default_server;server_name  www.b.com;root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {root html/b.com;index index.html index.htm;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}
然后再另一台机器上(192.168.200.142)增加hosts:
192.168.200.141 www.a.com
192.168.200.141 www.b.com

最后测试结果如下:

 

1.2 基于端口:一个服务器,2个端口,2个网站,不是经常用,访问方式:域名:端口

    在conf.d下新增2个文件7081.conf和8081.conf

[root@k8s-master conf.d]# cat 7081.confserver {listen     7081;#   listen       [::]:80 default_server;server_name  www.test.com;root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {root html/7081;index index.html;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}    }
[root@k8s-master conf.d]# cat 8081.confserver {listen     8081;#   listen       [::]:80 default_server;server_name  www.test.com;root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {root html/8081;index index.html;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}    }
确认主配置文件nginx.conf配有此项:
[root@k8s-master conf.d]# cat ../nginx.conf|grep include
include /usr/share/nginx/modules/*.conf;include             /etc/nginx/mime.types;# See http://nginx.org/en/docs/ngx_core_module.html#includeinclude /etc/nginx/conf.d/*.conf;include /etc/nginx/default.d/*.conf;
include /etc/nginx/default.d/*.conf;
include /etc/nginx/conf.d/*.conf;
重启服务:nginx -t&&nginx -s reload

在第二台机器上面验证:

  1.3基于ip:针对于多网卡,目前本机只有1个网卡,无法实验

2.反向代理:

    反向代理,是对客户端无感知的,暴露反向代理服务器ip,隐藏后端真实服务器IP。

    正向代理,是客户端主动去配置,由代理服务器访问后端web服务器,隐藏客户端,暴露代理服务器

3.反向代理实验:(先安装tomcat)

    3.1 去官网下载tomcat: Apache Tomcat® - Apache Tomcat 8 Software Downloads

    3.2 上传tomcat包到目录,然后直接解压即可

mkdir /usr/local/tomcat
tar -zxvf apache-tomcat-8.5.92.tar.gz
cp -r  apache-tomcat-8.5.92 /usr/local/tomcat/
增加tomcat服务为系统自带服务
1.修改tomcat配置文件
cd /usr/local/tomcat/apache-tomcat-8.5.92/bin
vim catalina.sh 在153行增减一下内容
#增加tomcat开机自启动
CATALINA_PID="/usr/local/tomcat/apache-tomcat-8.5.92/bin/tomcat.pid"
2.增加tomcat服务
先查看jre环境变量:find / -name jre
vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=tomcat-server
After=network.target
[Service]
Type=forking
# 因为服务启动时,是不会读取全局变量的(/etc/profile),因此全局变量中配置的属性是读取不到的需要注意。
# 所以需要在这里配置Tomcat 启动需要的JDK,指定JDK路径
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el8_4.x86_64/jre"
# 此文件是在第一步时配置的,如果type是后台运行,建议将此属性加上,指定pid。
PIDFile=/usr/local/tomcat/apache-tomcat-8.5.92/bin/tomcat.pid
# 需要注意的就是下面这一行,如果路径错了,那就无法自动启动,下面会有图文解释
# 整个 ExecStart 脚本,相当于是让系统开机时自动帮你在终端输入等号后面的命令
ExecStart=/usr/local/tomcat/apache-tomcat-8.5.92/bin/startup.sh
ExecReload=/usr/local/tomcat/apache-tomcat-8.5.92/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存推出,直接运行systemct start tomcat.service即可

   3.3修改nginx配置文件

增加反向代理配置:        location / {root html;proxy_pass http://192.168.200.142:8080;index index.html index.htm;}
然后systemct restart nginx

访问http://192.168.200.141

附:

nginx的守护进程(手写)

[root@k8s-node1 shell]# cat nginx_daemon.sh
#!/bin/bash
#
this_pid=$$
while true
do
ps -ef|grep nginx|grep -v grep|grep -v $this_pid
if [ $? -eq 0 ];thenecho "nginx is running well!"
elseecho "nginx is down,starting it..."systemctl restrat nginx.service
fi
done

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov5 的几个问题,讲的比较清楚

yolov5, 几个问题 【BCELoss】pytorch中的BCELoss理解 三个损失函数原理讲解 https://zhuanlan.zhihu.com/p/458597638 yolov5源码解析–输出 YOLOv5系列(十) 解析损失部分loss(详尽) 1、输入数据是 xywh, 针对原图的, 然后,变成 0-1, x/原图w, y/原图h, w/原图w, h/原图h,…

51-43 DragNUWA,集成文本、图像和轨迹实现视频生成细粒度控制

微软 NWA 系列主要功能及发布时间如下: 22年11月,微软亚洲研究院、北京大学联合提出同时覆盖语言、图像和视频的统一多模态生成模型女娲NWA,直接包揽草图转图像、图像补全、视频预测、文字指导修改视频等8项SOTA。23年3月,微软亚…

LLM学习之自然语言处理简单叙述

自然语言处理基础 自然语言处理:让计算机读懂人所写好的这些文本,能够像人一样进行交互。 自然语言处理的任务和应用 任务: 词性标注 part of speech tagging 动词,名词,形容词? 命名实体的识别 name…

【Java基础】23.接口

文章目录 一、接口的概念1.接口介绍2.接口与类相似点3.接口与类的区别4.接口特性5.抽象类和接口的区别 二、接口的声明三、接口的实现四、接口的继承五、接口的多继承六、标记接口 一、接口的概念 1.接口介绍 接口(英文:Interface)&#xf…

Springboot+Vue项目-基于Java+MySQL的海滨体育馆管理系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

Mongodb支持事务吗?

一、概念 1.1、MongoDB事务简介 MongoDB 是一个非关系型数据库管理系统,最初并不支持事务。然而,随着时间的推移,MongoDB 在其4.0版本中引入了多文档事务支持,使得在单个集合中执行多个操作成为可能。 In MongoDB, an operation…

iStat Menus for Mac:强大的系统监控工具

iStat Menus for Mac是一款功能强大的系统监控工具,专为Mac用户设计,旨在帮助用户全面了解电脑的运行状态,提高电脑的性能和稳定性。 iStat Menus for Mac v6.73 (1239)中文版下载 该软件可以实时监测CPU使用率、内存占用、网络速度、硬盘活动…

【k8s】集群安装 Jenkins(一):实现持续集成与持续交付

【k8s】集群安装 Jenkins(一):实现持续集成与持续交付 一、 准备工作二、安装 Jenkins2.1 设置NFS共享目录2.2 创建名称空间2.3 创建持久化卷和声明2.4 创建sa账号2.5 对sa账号授权2.6 通过Deployment方式部署Jenkins2.7 查看Jenkins是否创建成功2.8 创建Jenkins-service三、…

“磁性蝴蝶”:创新结构纳米石墨烯能更精确控制自旋磁行为

内容来源:量子前哨(ID:Qforepost) 文丨浪味仙 深度好文:1300字丨7分钟阅读 摘要:新加坡国立大学的研究团队,开发出一种蝴蝶形磁性纳米石墨烯,包含四个具有铁磁和反铁磁相互作用的不…

微信小程序:基于MySQL+Nodejs的汽车品牌管理系统

各位好,接上期,今天分享一个通过本地MySQLNodejs服务器实现CRUD功能的微信小程序,一起来看看吧~ 干货!微信小程序通过NodeJs连接MySQL数据库https://jslhyh32.blog.csdn.net/article/details/137890154?spm1001.2014.3001.5502 …

gitlab 16.2.4 恢复

新创建新gitlab,版本需和备份的gitlab版本一致 docker run -d -p 322:22 -p 822:80 --name gitlab_1 gitlab/gitlab-ce:16.2.4-ce.0 进入容器内部 docker exec -it c51685817e27 /bin/bash 新的环境至少运行过一次,sudo gitlab-ctl reconfigu…

深入docker-swarm overlay网络模型

目录 1.简介 2.网络模型 3.docker_gwbridge网络 3.1.docker_gwbridge网关地址 3.2.检查docker_gwbridge网络 3.2.1.查找任务容器eth接口 3.2.2.查找ingress-sbox容器eth接口 4.检查ingress网络 4.1.检查ingress网络 4.2.检查ingress网络的命名空间 4.2.1.查找任务容…

Windows搭建Svn服务器

1、svn概述 1.1、svn简介 SVN(Subversion)是一个开源的版本控制系统,用于管理代码的版本控制和协作开发。它提供了一系列的命令行工具,以及一套客户端和服务器架构,用于管理代码的版本控制和协作。 在Windows系统&a…

python与PySpark

1、Spark是Apache基金会 下的顶级开源项目,用于对海量数据经行大规模的分布式技术; 2、P有Spark是Spark的python实现,用于python中完成Spark的任务开发; 3、安装:可通过cmd终端进行安装 pip install PySpark也可以通…

npm 打包后自动压缩成zip文件

在package.json里面的scripts下面的build添加 powershell -NoProfile -ExecutionPolicy Unrestricted -Command ./zip.ps1 新的build就是 "build": "vite build && esno ./build/script/postBuild.ts && powershell -NoProfile -ExecutionP…

React 18的并发渲染:颠覆传统的性能飞跃

React 18 引入的并发渲染(Concurrent Rendering)是一个革命性的特性,它改变了 React 应用的渲染方式,使得渲染过程更加高效且可控。 并发渲染的核心原理在于将渲染任务拆分为多个可中断和可恢复的小任务,并根据优先级…

STM32的GPIO控制寄存器开发

寄存器GPIO控制 寄存器地址 寄存器地址计算 某个寄存器地址,由三个参数决定:1、总线基地址(BUS_BASE_ADDR);2,外设基于总线基地址的偏移量(PERIPH_OFFSET);3&#xff…

SQL CASE 语句

在SQL中的 CASE 语句是一种条件表达式,它允许你在查询中根据条件逻辑返回不同的值。CASE 语句通常有两种形式:简单 CASE 表达式和搜索 CASE 表达式。在我之前给出的优化SQL查询的例子中,使用了简单 CASE 表达式。 这里是简单 CASE 表达式的基…

百面算法工程师 | 分类和聚类

目录 6.1 为什么正确率有时不能有效评估分类算法? 6.2 什么样的分类器最好? 6.3 什么是聚类,你知道哪些聚类算法? 6.4 K-Means聚类算法如何调优? 6.5 K-Means聚类算法如何选择初始点? 6.6 K-Means聚类聚的是特征还是样本 …

反编译jar包

1. 复制java-compiler.jar /Applications/IntelliJ IDEA.app/Contents/plugins/java-decompiler/lib/java-decompiler.jar 2.执行命令 java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler app.jar app app.jar是要反编译的jar…