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

发布时间:2023年12月28日

购买云服务器&创建实例

购买云服务器

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

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

创建云服务器实例

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

放行端口

点击上述实例ID/名称->安全组->管理规则

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

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

远程连接

点击远程连接,我选择的是默认方式Workbench

点击立即登陆之后,进入下列界面,用户名默认是root,这个无需更改。一开始只有默认密码,可以通过下列重置密码将密码改为自己熟悉的

下列为重置实例密码界面,改完之后,登陆即可

安装宝塔面板系统

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

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

其余系统脚本指令如下

  • 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为宝塔面板登陆的账号和密码

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

登陆宝塔面板

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

绑定宝塔账号

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

安装LNMP

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

添加端口规则

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

上传文件

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

解决Nginx安装失败

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

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

./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即可,其他的根据自己的需求填写即可,其中端口要尤为注意,记得要在自己放行的端口范围内

创建成功之后,出现如下界面,即文件托管成功

最后我们在访问服务器公网ip,测试是否成功,出现如下界面,代码我们操作成功啦

其他错误

启动Node项目失败

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

通过观察日志,可以了解到具体错误日志如下,大意是/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

将进程通过虚拟终端挂载

进入宝塔面板ssh终端

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

screen -S XXX

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

node app.js

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

ctrl+a+d
文章来源:https://blog.csdn.net/News53231323/article/details/135261140
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。