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使用率、内存占用、网络速度、硬盘活动…

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

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

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

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

深入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…

STM32的GPIO控制寄存器开发

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

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

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

【面试经典 150 | 链表】删除链表的倒数第 N 个结点

文章目录 写在前面Tag题目来源解题思路方法一:统计节点个数方法二:双指针 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本…

向媒体投稿有了好方法财政单位信息宣传工作简单又轻松

当我初涉财政单位的信息宣传岗位,肩负起对外展示单位风采、传播政策信息的重要职责时,我深刻体验到了投稿之路的艰辛曲折。初期,对于如何有效对接媒体并成功发表稿件,我感到一片茫然,仿佛置身于浩瀚的信息海洋中,无从下手。 那时,我的工作日常就是广泛搜集各类媒体的联系方式,特…

{“errMsg“:“insertXWebCamera:fail appid privacy api banned“}

问题描述:微信小程序,在体验版本测试时,调用摄像头OK,没有任何问题,部署发布版本后,日志报错内容:{"errMsg":"insertXWebCamera:fail appid privacy api banned"}&#xff…

CountDownLatch倒计时器源码解读与使用

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1. 前言 2. CountDownLatch有什么用 3. CountDownLatch底层原理 3.1. count…

代理设置方法 ubuntu git

目录 ubuntu设置代理方法 git 中 ubuntu设置代理方法 (1) .bashrc中写 或者 (2) 当自己的 虚拟机选择default switch,保持了虚拟机与本机的联通性(host模式好像),这时&#xff0…

深度剖析图像处理—边缘检测

什么是边缘检测 边缘检测(Edge Detection)就是提取图像中的边缘点(Edge Point)。边缘点是与周围像素相比灰度值有阶跃变化或屋顶状变化的像素。边缘常存在于目标与背景之间、目标与目标之间、目标与其影子之间。 ​ 在图像处理和图像分析中,经常要用到边缘(Edge)、边…

【Git】生成patch和应用patch

生成patch 将本地所有修改打成补丁 git diff > /tmp/xxx.patch将本地对某个文件的修改打成补丁 git diff test/1.txt > /tmp/1.patch将某一次提交的修改内容打成补丁 -1表示只为单个提交创建patch,-o表示输出patch的文件夹路径,默认是用提交的…