nginxtomcat笔记

news2024/12/26 23:21:36

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.conf
    server {
    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.conf
    server {
    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#include
    include /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 ];then
    echo "nginx is running well!"
else
    echo "nginx is down,starting it..."
    systemctl restrat nginx.service
fi
done

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

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

相关文章

Transformer - Teacher Forcing

Transformer - Teacher Forcing flyfish 在训练过程中,将目标序列输入给解码器的方法称为(Teacher Forcing)。这个术语又代表什么意思呢? 这里的目标序列就是Ground Truth,也就是我们已知的正确答案 一句话就是我们…

火灾风险把控:数据采集卡搭配传感器实现电路异常全面监控!

引言 在现代社会中,火灾安全和用电安全是人们生活和工作中不可忽视的重要问题。为了有效应对火灾风险和电路异常情况,阿尔泰科技引入了一项创新解决方案:利用PXIe5681多功能数据采集卡对小信号的高精度测量优势,搭配电压传感器监…

使用代理绕过网站的反爬机制

最近在尝试收集一些网络指标的数据, 所以, 我又开始做爬虫了。 :) 我们在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么的美好,然而一杯茶的功夫可能就会出现错误…

文本嵌入新方案:合合信息acge模型荣登C-MTEB榜首

目录 0 写在前面1 文本嵌入:LLM落地的根基2 C-MTEB:acge荣夺榜一2.1 max tokens2.2 文本分类2.3 文本聚类 3 acge demo演示与体验总结 0 写在前面 随着信息技术的发展和应用场景的不断扩大,人们需要处理和利用大量的文档信息。而传统的手动处…

深度学习transformer架构详细详解

一、transformer的贡献 transformer架构的贡献:该架构只使用自注意力机制,没有使用RNN或卷积网络。且可以实现并行计算,加快模型训练速度。 (将所有的循环层全部换成:multi-headed self-attention) 二、t…

39. UE5 RPG角色释放技能时转向目标方向

在上一篇,我们实现了火球术可以向目标方向发射,并且还可以按住Shift选择方向进行攻击。技能的问题解决,现在人物释放技能时,无法朝向目标方向,接下来我们解决人物的问题。 实现思路: 我们将使用一个官方的…

C++ //练习 12.20 编写程序,逐行读入一个输入文件,将内容存入一个StrBlob中,用一个StrBlobPtr打印出StrBlob中的每个元素。

C Primer(第5版) 练习 12.20 练习 12.20 编写程序,逐行读入一个输入文件,将内容存入一个StrBlob中,用一个StrBlobPtr打印出StrBlob中的每个元素。 环境:Linux Ubuntu(云服务器) 工…

密码学 | Random Oracle 随机预言机

​ 🥑原文:究竟什么才是随机预言机呢? - 玄星的回答 🥑答主指出: 英文维基明明对 随机预言机 给出了两个完全不同的理解,但这两个理解之间的连接词却是 “Stated differently”,即 “换句话说…

LabVIEW多设备控制与数据采集系统

LabVIEW多设备控制与数据采集系统 随着科技的进步,自动化测试与控制系统在工业、科研等领域的应用越来越广泛。开发了一种基于LabVIEW平台开发的多设备控制与数据采集系统,旨在解决多设备手动设置复杂、多路数据显示不直观、数据存储不便等问题。通过RS…

c语言利用控制台实现贪吃蛇

使用控制台实现贪吃蛇需要的技能加点: 控制台设置(包含于stdlib.h): 定义命令行窗口高/宽: system("mode con cols100 lines30"); system() 函数是一个C标准库函数,它允许程序执行操作系统命令…

Java中创建对象内存分析

package day31; ​ public class Pet {String name;int age;public void shout(){System.out.println("叫了一声");} } ​ package day31; ​ public class Application {public static void main(String[] args) {Pet cat new Pet();cat.name"肥波";cat…

Linux——网络管理nmcli

nmcli 不能独立使用,需要对应的服务启动 1. NetworkManager.service 2. 网络配置和服务不相关 3. 通过 nmcl i 建立网络配置和网卡之前的映射关系 网卡 简称:nmcli d DEVICE :物理设备 TYPE: 物理设备类型 ethernet 以太网…

螺纹滑牙的原因有哪些——SunTorque智能扭矩系统

螺纹滑牙的原因,通常是由于在旋紧或旋松过程中,螺纹副之间的摩擦力不足以维持所需的预紧力或工作载荷,导致螺纹副的相对位置发生变化。这种现象可能由多种因素引起,包括材料选择不当、设计不合理、制造工艺缺陷、环境因素以及使用…

AI大模型探索之路-实战篇3:基于私有模型GLM-企业级知识库开发实战

文章目录 前言概述一、本地知识库核心架构回顾(RAG)1. 知识数据向量化2. 知识数据检索返回 二、大模型选择1. 模型选择标准2. ChatGLM3-6B 三、Embedding模型选择四、改造后的技术选型五、资源准备1. 安装git-lfs2. 下载GLM模型3. 下载Embeding模型 六、…

Java、Spring、Dubbo三者SPI机制原理与区别

Java、Spring、Dubbo三者SPI机制原理与区别 什么是SPI SPI全称为Service Provider Interface,是一种动态替换发现的机制,一种解耦非常优秀的思想,SPI可以很灵活的让接口和实现分离,让api提供者只提供接口,第三方来实…

【嵌入式】keil5安装(同时兼容C51和STM32)

最近在开发STM32的时候,安装Keil5,遇到STM32和C51的共存的问题,在网上找了很多方法,又遇到一些bug,最终还是弄好了。因此将处理的过程记录下来,希望对遇到相同问题的朋友一些启发。 1、下载安装包 Keil P…

判断水仙花数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int n 0;int b 0;int s 0;int g 0;int m 0;//提示用户&#xff1b;printf("请输入…

贪吃蛇游戏实现(VS编译环境)

贪吃蛇游戏 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;C语言&#x1f353; &#x1f33c;文章目录&#x1f33c; 0. 前言 1. 游戏背景 2. 实现后游戏画面展示 3. 技术要求 4. Win32 API介绍 4.1 Win32 API 4.2 控制台程序 4.…

开启农业新篇章:山海鲸智慧农业解决方案全面解析

在农业领域&#xff0c;数字化转型已经成为推动农业发展的重要力量。山海鲸&#xff0c;作为农业科技创新的引领者&#xff0c;推出了全新的智慧农业解决方案&#xff0c;通过运用先进的物联网、大数据和人工智能等技术&#xff0c;为农业生产提供智能化、精准化的管理服务&…

c++模拟实现list——详讲双链表--链表

在C语言中我们已经模拟实现了list&#xff0c;现在对比c看看二者的区别 双链表————详讲 个人博客主页&#xff1a; 个人主页 个人码云 码云代码 文章目录 目录 文章目录 ​编辑 前言 一、list是什么&#xff1f; 二、list的使用 三、模拟实现list和搭建list的结构 1.节点结…