阿里云环境下,从仅知的一个外网域名如何找出前端程序的部署所在和启动命令

一、背景

一个年久失修的前端项目,临时接到需求要迭代,三四年未迭代过的项目,交接更无从谈起。
所幸的是,源码还在,知道外网访问的入口地址。

本文试着带你一起找到该前端项目部署在哪台机器,以及发布的过程是怎么样的。

需要交待的信息是,前端项目没有采用容器化部署,是在某个ECS机器上。

二、梳理流程

在这里插入图片描述

1、从外网域名找起

进入阿里云的“云解析DNS”,找到外网IP。
在这里插入图片描述

2、云服务器ECS查找外网IP对应的机器

在这里插入图片描述
nginx3这台ECS机器同时有外网IP和内网IP,在这个界面可以找到其内网IP。

3、进入nginx3机器,查找vhost配置

[root@xxx-nginx3 vhost]# pwd
/etc/nginx/vhost

这个目录下会有许多.conf文件,你需要查找监听“play.xxx.net”域名所在的配置。

下面是其简要:

upstream地址就是前端项目部署所在。

upstream webplaycluster {server 10.xx.xx.55:3000 weight=9 max_fails=2 fail_timeout=10s;
}server{listen       80;listen       443  ssl;server_name play.xxx.net;ssl_certificate /data/nginx/ssl/_xxx_net.crt;ssl_certificate_key /data/nginx/ssl/_xxx_net.key;ssl_session_timeout 5m;ssl_protocols SSLv2 TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';ssl_prefer_server_ciphers on;location / {proxy_next_upstream error timeout invalid_header http_502 http_503 http_504;proxy_pass http://webplaycluster;proxy_http_version 1.1;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header HTTP_HOST $host;proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;proxy_set_header HTTP_X_FORWARDED_HOST $host;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-HTTPS 0;}access_log  /data/nginx/logs/webplay_access.log  access;error_log  /data/nginx/logs/webplay_error.log;}

至此,找到了前端程序所在的部署地址。

下文将找出其进程和启动命令。

4、查看前端程序的进程

根据上一步得知,程序的进程号是3000

# ss -anlp | grep 3000
tcp    LISTEN     0      128      :::3000                 :::*                   users:(("node",pid=17610,fd=24))

通过ss命令,得到其进程ID是17610

5、查看前端程序的启动命令

#  ps -ef | grep 3000root     17610     1  0  2022 ?        01:28:13 node /opt/xxserver/webplay/player_egg/node_modules/_egg-scripts@2.13.0@egg-scripts/lib/start-cluster {"port":3000,"baseDir":"/opt/xxserver/webplay/player_egg","framework":"/opt/xxserver/webplay/player_egg/node_modules/egg","title":"egg-server-player_egg"} --title=egg-server-player_egg

到这,也就找出了前端程序的启动命令详情。
你可以切到目录/opt/xxserver/webplay/player_egg/node_modules,能看到目录_egg-scripts@2.13.0@egg-scripts和egg

该命令用来启动一个Egg.js应用程序的,它会创建一个在3000端口上运行的服务器,服务器的根目录位于/opt/xxserver/webplay/player_egg,使用位于同一目录下的node_modules/egg中的Egg框架。应用程序的标题被设置为egg-server-player_egg。

三、总结

这里我们使用到了阿里云的两个功能,云解析DNS和云服务器ECS,并没有使用Kong和SLB等组件。项目比较旧,使用nginx作反向代理,整个链路涉及到的组件就三四层。

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

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

相关文章

opencv的approxPolyDP函数

cv2.approxPolyDP() 是 OpenCV 库中的一个函数,用于逼近多边形曲线。它可以将一条曲线用更少的点来表示,同时尽可能地保持其形状。原来是使用Douglas-Peucker算法,表示曲线上的点与逼近后的多边形之间的最大距离d,若d小于epsilon&…

SpringCloudEureka理论与入门

文章目录 1. 前置工作1.1 搭建 user-server1.1.1 pom1.1.2 po,mapper,controller1.1.3 yml1.1.4 启动类1.1.5 启动并访问 1.2 搭建 order-server1.2.1 pom1.2.2 po mapper controller1.2.3 yml1.2.4 启动类1.2.5 启动并访问 1.3 两个服务通信 2. Eureka2…

【Swing】Java Swing实现省市区选择编辑器

【Swing】Java Swing实现省市区选择编辑器 1.需求描述2.需求实现3.效果展示 系统:Win10 JDK:1.8.0_351 IDEA:2022.3.3 1.需求描述 在公司的一个 Swing 的项目上需要实现一个选择省市区的编辑器,这还是第一次做这种编辑器&#xf…

开源办公系统CRM管理系统

基于ThinkPHP6 Layui MySQL的企业办公系统。集成系统设置、人事管理、消息管理、审批管理、日常办公、客户管理、合同管理、项目管理、财务管理、电销接口集成、在线签章等模块。系统简约,易于功能扩展,方便二次开发。 服务器运行环境要求 PHP > 7.…

Mybatis Plus + Spring 分包配置 ClickHouse 和 Mysql 双数据源

目录 一、背景 二、各个配置文件总览(文件位置因人而异) 2.1 DataSourceConfig 2.2 MybatisClickHouseConfig (ClickHouse 配置类) 2.3 MybatisMysqlConfig(Mysql 配置类) 2.4 application.propertie…

《安富莱嵌入式周报》第334期:开源SEM扫描电子显微镜,自制编辑器并搭建嵌入式环境,免费产品设计审查服务,实用电子技术入门,USB资料汇总,UDS统一诊断

周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1om411Z714/ 《安富莱嵌入式周报》第334期:开源SEM…

ABCDE联合创始人和普通合伙人BMAN确认出席Hack .Summit() 2024

ABCDE联合创始人和普通合伙人BMAN确认出席Hack .Summit() 2024! ABCDE联合创始人和普通合伙人BMAN确认出席由 Hack VC 主办,并由 AltLayer 和 Berachain 联合主办,与 SNZ 和数码港合作,由 Techub News 承办的Hack.Summit() 2024区…

【Paper Reading】6.RLHF-V 提出用RLHF的1.4k的数据微调显著降低MLLM的虚幻问题

分类 内容 论文题目 RLHF-V: Towards Trustworthy MLLMs via Behavior Alignment from Fine-grained Correctional Human Feedback 作者 作者团队:由来自清华大学和新加坡国立大学的研究者组成,包括Tianyu Yu, Yuan Yao, Haoye Zhang, Taiwen He, Y…

VB播放器(动态服务器获取歌词)-183-(代码+说明)

转载地址: http://www.3q2008.com/soft/search.asp?keyword183 VBASP vb动态从服务器读取歌词 VB asp交互 程序, 模式不一样, 与普通的MP3播放器不一样, 这个是可以实现歌词从服务器上查询功能的. 看好了在咨询 我可以給您演示 目  录 前  言 1 1 . 简述 2 1.1 开发…

阿里云国际DDoS高防接入配置最佳实践

业务接入DDoS高防产品后,可以将攻击流量引流到DDoS高防,有效避免业务在遭受大流量DDoS攻击时出现服务不可用的情况,确保源站服务器的稳定可靠。本文九河云的接入配置和防护策略最佳实践,在各类场景中使用DDoS高防更好地保护您的业…

Linux系统下基于VSCode和Cmake进行C++开发

目录 简介一、GCC编译器1.1创建cpp文件1.2编译过程1.3g重要编译参数 二、GDB调试器三、IDE-VScode3.1 VSCode常用快捷键3.2 swap测试 四、CMake4.1CMake介绍4.2 CMake语法特性介绍4.3 CMake重要指令和常用变量4.4 CMake编译流程4.5CMake代码实践 五、使用VSCode进行完整项目开发…

【JavaScript】面试手撕柯里化函数

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 引入柯里化定义实现快速使用柯里化的作用提高自由度bind函数 参考资料 引入 上周…

开源绘图工具 PlantUML 入门教程(常用于画类图、用例图、时序图等)

文章目录 一、类图二、用例图三、时序图 一、类图 类的UML图示 startuml skinparam classAttributeIconSize 0 class Dummy {-field1 : String#field2 : int~method1() : Stringmethod2() : void } enduml定义能见度(可访问性) startumlclass Dummy {-f…

ES6(一):let和const、模板字符串、函数默认值、剩余参数、扩展运算符、箭头函数

一、let和const声明变量 1.let没有变量提升&#xff0c;把let放下面打印不出来&#xff0c;放上面可以 <script>console.log(a);let a1;</script> 2.let是一个块级作用域,花括号里面声明的变量外面找不到 <script>console.log(b);if(true){let b1;}//und…

vscode插件开发-发布插件

安装vsce vsce是“Visual Studio Code Extensions”的缩写&#xff0c;是一个用于打包、发布和管理VS Code扩展的命令行工具。 确保您安装了Node.js。然后运行&#xff1a; npm install -g vscode/vsce 您可以使用vsce轻松打包和发布扩展&#xff1a; // 打包插件生成name…

一.java介绍和idea基础使用

java技术体系 Java技术体系说明Java SE(Java standard Edition):标准版Java技术的核心和基础Java EE(Java Enterprise Edition):企业版企业级应用开发的一套解决方案Java ME(Java Micro Edition):小型版针对移动设备应用的解决方案&#xff08;认可少&#xff0c;主要是安卓和…

目标跟踪SORT算法原理浅析

SORT算法 Simple Online and Realtime Tracking(SORT)是一个非常简单、有效、实用的多目标跟踪算法。在SORT中&#xff0c;仅仅通过IOU来进行匹配虽然速度非常快&#xff0c;但是ID switch依然非常严重。 SORT最大特点是基于Faster RCNN的目标检测方法&#xff0c;并利用卡尔…

Unity开发中Partial 详细使用案例

文章目录 **1. 分割大型类****2. 与 Unity 自动生成代码协同工作****3. 团队协作****4. 共享通用逻辑****5. 自定义编辑器相关代码****6. 配合 Unity 的 ScriptableObjects 使用****7. 多人协作与版本控制系统友好** 在 Unity 开发中&#xff0c; partial 关键字是 C# 语言提供…

【音视频开发】:RTSP服务器协议内容

一、什么是RTSP协议 RTSP是一个实时传输流协议&#xff0c;是一个应用层的协议。通常说的RTSP包括RTSP协议、RTP协议、RTCP协议。 RTSP协议&#xff1a;负责服务器与客户端之间的请求与相应RTP协议 &#xff1a;负责服务器与客户端之间传输媒体数据RTCP协议&#xff1a;负责提…

使用html+css制作一个发光立方体特效

使用htmlcss制作一个发光立方体特效 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Documen…