将网易云API通过宝塔布署到云服务器

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 将网易云API通过宝塔布署到云服务器

购买云服务器&创建实例

购买云服务器

我选择的是阿里云服务器(学生免费白嫖一个月版),选择免费领取一台ECS云服务器(我已经领取过了,完成下列相关任务还可延长6个月),如下图所示

截屏2023-12-27 18.13.39.png

若未进行学生认证的,需要通过支付宝辅助完成学生认证,完成学生认证后,可购买对应云服务器(支付0元),操作系统可选择自己喜欢的,我选择的操作系统版本是Ubuntu 22.04 64,其余选项默认即可

截屏2023-12-27 21.41.24.png

创建云服务器实例

进入到如下界面,云服务器实例已经创立好了(自动创立),主要关注的内容包括:实例ID/名称(点击可查看更多关于此实例的详细信息)、IP地址(公网IP地址是我们外部访问的地址)以及远程连接

截屏2023-12-27 21.45.49.png

放行端口

点击上述实例ID/名称->安全组->管理规则
截屏2024-01-06 18.14.46.png

进入到此界面后,点击快速添加,可以把所有端口全部勾选。然后在可单独添加自己需要的端口,例如我的云服务器默认端口为3000,则我需要放行一个3000的端口

请根据实际场景设置授权对象的CIDR,另外,0.0.0.0/0或者掩码为0,代表允许或拒绝所有IP的访问,设置时请务必谨慎。支持输入多种授权对象,以","隔开,支持安全组名称模糊搜索。跨账号安全组以“账号ID/安全组id”格式输入,请填写账号ID而不是账号信息

image.png

远程连接

点击远程连接,我选择的是默认方式Workbench
image.png
点击立即登陆之后,进入下列界面,用户名默认是root,这个无需更改。一开始只有默认密码,可以通过下列重置密码将密码改为自己熟悉的
image.png

下列为重置实例密码界面,改完之后,登陆即可
截屏2023-12-27 21.56.55.png

安装宝塔面板系统

我选择的是Ubuntu系统,进入下列界面输入安装Ubuntu系统的脚本指令即可

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

image.png

其余系统脚本指令如下

  • Centos安装脚本
    yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
    
  • Debian安装脚本
    wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh ed8484bec
    
  • 万能安装脚本
    if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
    
  • 国产龙芯架构安装脚本(其他CPU请勿使用)
    wget -O install_panel.sh https://download.bt.cn/install/0/loongarch64/loongarch64_install_panel.sh && bash install_panel.sh ed8484bec
    
    出现如下界面,代表系统安装成功,可以通过外网面板地址进入宝塔面板,下列usernamepassword为宝塔面板登陆的账号和密码
    截屏2023-12-27 11.14.50.png

通过宝塔面板将文件托管到云服务器

登陆宝塔面板

通过上述给予的账号密码登陆即可
image.png

绑定宝塔账号

如果之前没有注册过宝塔账号,可以通过注册宝塔账号,绑定此服务器
注意区分和上述账号密码的区别,上述为宝塔服务器实例账号密码,此处为宝塔网站的账号密码
image.png

安装LNMP

登陆完成之后,成功进入宝塔面板,可以选择推荐的LNMP进行安装,可以省去很多麻烦
image.png

添加端口规则

然后点击左侧导航栏->安全->系统防火墙->添加端口规则,因为我所托管项目的服务器端口为3000,所以我需要添加一个3000的端口,以供使用
image.png

上传文件

点击左侧导航栏->文件,上传需要托管的文件
image.png

解决Nginx安装失败

当我们添加Node项目的时候,一直提示我们未安装Nginx,可是我们在一开始默认推荐的LNMP已经安装过了,随即我们可以通过观看错误日志,进行原因分析
image.png

通过观察错误日志,我所遇见的错误提示如下,大意为缺乏库文件,安装即可

./configure: error: the HTTP XSLT module requires the libxml2/libxslt
libraries. You can either do not enable the module or install the libraries.

依次输入如下指令即可(注意:下列指令为Ubuntu系统所用)

apt-get update
apt-get install libxml2 libxml2-dev libxslt-dev

其他Nginx相关问题或者其他系统相关指令,请参考以下链接

https://www.bt.cn/bbs/thread-100610-1-1.html

添加Node项目

运行用户如果没有特别要求,选择www即可,其他的根据自己的需求填写即可,其中端口要尤为注意,记得要在自己放行的端口范围内
image.png
创建成功之后,出现如下界面,即文件托管成功
image.png
最后我们在访问服务器公网ip,测试是否成功,出现如下界面,代码我们操作成功啦
截屏2023-12-27 17.38.41.png

其他错误

启动Node项目失败

当启动Node项目时,发生启动错误
image.png

通过观察日志,可以了解到具体错误日志如下,大意是/tmp文件权限不足

2023-12-27T17:28:51: Error: EACCES: permission denied, open '/tmp/anonymous_token'
2023-12-27T17:28:51:
at Object.openSync (fs.¡s:498:3)
2023-12-27T17:28:51:
at Object.writeFileSync (fs.js:1524:35)
2023-12-27T17:28:51:
at generateConfig(/www/wwwroot/NeteaseCloudMusicApi/generateConfig.js:13:10)
2023-12-2717:28:51:
at processTicksAndRejections (internal/process/task_ queues.js:95:5)
2023-12-27T17:28:51:
at async start (/www/ wwwroot/NeteaseCloudMusicApi/app.js:13:3)f
2023-12-27T17:28:51:
errno: -13,
2023-12-27T17:28:51: syscall:'open',
2023-12-27T17:28:51:
code: 'EACCES'
2023-12-27T17:28:51: path: '/tmp/anonymous token'
2023-12-27T17:28:51:}

通过进入ssh终端,输入如下命令,修改其访问权限即可,然后在运行Node即可成功

chmod -R 777 /tmp

image.png

将进程通过虚拟终端挂载

进入宝塔面板ssh终端

创建一个虚拟终端,xxx为任意名字

screen -S XXX

然后进入此终端后,运行项目(启动命令根据自己设定的输入)

node app.js

最后按如下快捷键,挂起当前screen并退出

ctrl+a+d
相关文章
|
2月前
|
开发框架 缓存 .NET
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
163 0
|
14天前
|
JSON JavaScript 前端开发
使用 Node.js 和 Express 构建 RESTful API 服务器
【10月更文挑战第3天】使用 Node.js 和 Express 构建 RESTful API 服务器
|
16天前
|
Ubuntu 安全 Linux
云服务器安装宝塔教程
云服务器安装宝塔教程
|
5天前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API服务器
【10月更文挑战第12天】使用JavaScript和Node.js构建简单的RESTful API服务器
6 0
|
2月前
|
缓存 测试技术 API
从零到一:构建高效的 RESTful API 服务器
在当今的软件开发环境中,RESTful API 是实现系统间数据交互的关键组件。本文探讨了如何从头开始构建一个高效的 RESTful API 服务器,包括技术选型、架构设计、性能优化等方面的内容。我们将以 Python 的 Flask 框架为例,展示如何设计一个可扩展且高性能的 API 服务器,并提供实际代码示例来说明最佳实践。
|
2月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
96 0
|
2月前
|
存储 开发框架 .NET
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
|
3月前
|
Shell
服务器需要扩容,如何停止宝塔的所有服务?
服务器需要扩容,如何停止宝塔的所有服务?
41 3
|
2天前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
15天前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。