当前位置: 首页 > news >正文

创新实训2024.06.06日志:部署web服务

1. 运行web项目前后端服务

首先我们要先在服务器上运行客户端以及服务端的应用程序。随后再考虑如何通过公网/局域网访问的问题。

如何启动服务在仓库对应分支下的Readme文件中已经有详细描述了。

1.1. 启动服务端

对于服务端,即(要求你在服务端子项目的根目录下)

python .\startup.py

看到如下控制台信息表示Uvicorn web服务器启动成功。

1.2. 启动客户端

对于客户端,即(同样要求在客户端子项目的根目录下)

npm run serve

 这里我把该装的软件和依赖都装好了,比如客户端是用node.js+vue.js开发的,首先要进行:

npm install

而node.js本身的依赖,可从官网下载(服务器上的环境是20.14版本的):Node.js — Run JavaScript Everywhere (nodejs.org)

 看到如下控制台信息即为启动成功:

1.3. 配置redis服务

我们这台服务器是windows11 64位操作系统的,因此redis官网:Redis - The Real-time Data Platform的release不适用于我们。(原生redis对linux各个发行版支持的比较好)

这里需要使用到一个开源库:tporadowski/redis: Native port of Redis for Windows. Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs. This repository contains unofficial port of Redis to Windows. (github.com)

这是一个来自波兰的开源作者(主要)用C写得redis-for-windows版本,在windows上安装部署比较方便,对windows的支持也不错。

目前这个开源库的release: Releases · tporadowski/redis (github.com)已经到了5.0.14版本了。这里我用的就是最新版的5.0.14.1,直接在这个页面最顶部的Assets里下载就可以。

免安装版和安装版都可以,免安装版下载下来直接解压就可以了。

然后再顺手配个环境变量。

redis的服务是通过redis-server应用程序启动的,而redis还提供一个命令行客户端,redis-cli。

 如果遇到win+r,cmd输入redis-server,命令行窗口闪退的情况,可以win+r,cmd,输入redis-cli。如下图输入:

shutdown

随后再利用redis-server启动redis服务即可(这是因为有可能之前启动redis服务后没有正确的退出,导致6379端口被占用,再次启动时失败),如果还出问题,可能需要查一下现在6379(或者你配置了另外的redis服务端口) 端口被谁占用了。

如果正确启动,如下图:

为了更好地与redis服务交互,我还安装了个能和redis数据库连接并查看数据的GUI,RESP。

这个也是一个开源库提供的软件:lework/RedisDesktopManager-Windows: RedisDesktopManager Windows版本 (github.com)

Redis windows desktop manager,能够提供一个很不错的GUI。解压后直接运行里面的resp.exe文件即可。

可以查看自己的数据库、表,以及创建多个连接。

2. 内网穿透实现公网访问

内网穿透技术一般采用端口映射的方式,将内网的一个端口映射到公网中可访问的端口上 ,以此实现公网访问局域网的资源。

2.1. 飞鸽内网穿透

这里我使用的是飞鸽内网穿透工具,是一个提供GUI的在线内网穿透服务网站:飞鸽内网穿透官网 (fgnwct.com)

注册登录后,在控制台中选择开通隧道服务,这里会有一些可选项。我选择的是香港无备案穿透服务。

此处需要填写隧道的用途,ip+端口号,以及子域名。

 这里我是没有购买其他机构的SSL证书(华为云一年¥1500,阿里云一年¥2200,Amazon还要公司法人认证。买不起)。如果购买了SSL证书,配置之后还可以支持HTTPS协议,安全性更好。

随后下载飞鸽提供的客户端应用程序:

随后点开之前开通的隧道的小箭头,下面会有利用命令行客户端启动内网穿透服务的命令:

复制这条命令,在下载完客户端后启动命令行程序,输入该命令。

 即可成功连接到服务器。

在将客户端和服务端的内网穿透配置均设置好之后,即可实现对web服务的公网访问:

某一服务功能点运行示例如下:

http://www.lryc.cn/news/365115.html

相关文章:

  • 使用C++实现YOLO图像分类:从环境搭建到性能评估的完整指南
  • Linux中安装Docker,并使用Docker安装MySQL和Redis
  • 期货短线交易的核心技术是什么
  • VSCode+Vite+Vue3断点调试
  • RPC框架原理(一)
  • LCTF 2018 bestphp‘s revenge
  • MySQL主从搭建--保姆级教学
  • Modbus通信协议--RTU
  • 我是大学生,应该选系统运维方向,还是web开发方向?
  • Qt窗口与对话框
  • 【笔记】Windows 中 一键部署本地私人专属知识库:MaxKB + Docker + MaxKB docker + Ollama
  • 【Vue】scoped解决样式冲突
  • word模板内容替换
  • docker安装和使用
  • 【AIGC X UML 落地】通过多智能体实现自然语言绘制UML图
  • C++访问越界
  • MATLAB format
  • Face Forgery Detection by 3D Decomposition
  • socket网络编程——多进程、多线程处理并发
  • C++---模板进阶(非类型模板参数,模板的特化,模板分离编译)
  • 锂电池寿命预测 | Matlab基于SSA-SVR麻雀优化支持向量回归的锂离子电池剩余寿命预测
  • 整理好了!2024年最常见 20 道 Kafka面试题(十)
  • Paper Survey——3DGS-SLAM
  • 搜索与图论:深度优先搜索
  • AMD显卡和英伟达显卡哪个好?
  • 5.31.8 学习深度特征以实现判别定位
  • uniapp小程序多线程 Worker 实战【2024】
  • C语言基础——数组(2)
  • 封装PHP用于发送GET和POST请求的公共方法
  • MongoDB~基础知识记录