云服务器安装环境+文件操作+保持进程全指南

1,270 阅读5分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情

前言

大家好,我是小阵 🔥,一路奔波不停的码字业务员
如果喜欢我的文章,可以关注 ➕ 点赞,与我一同成长吧~😋
加我微信:zzz886885,邀你进群,一起学习交流,摸鱼学习两不误🌟

开开心心学技术大法~~

开心

来了来了,他真的来了~

正文

可以通过wget安装node包到云服务器上

先安装curl

yum -y install curl

我这里是CentOS7,所以用的是yum,如果你可以使用apt-get的话,用apt-get来代替yum即可

如果是ubuntu的话,可以直接先使用apt安装,也可以先用apt安装yum,然后再安装curl

能使用apt的也可以用apt直接安装curl

 sudo apt install curl

安装nvm

通过curl或者wget

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

安装之后直接在终端nvm的时候提示找不到命令:nvm

因此需要配置下环境变量

按照提示配置

将以下命令配置到~/.bashrc

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

然后source一下

source ~/.bashrc

在之后nvm发现ok了

image-20220823163725464

或者直接安装带有node.js环境的云服务器

安装文件处理可视化

有了服务器,自然想跟本地文件系统做交互

一般通过scp命令即可,但是目录要手动复制,习惯了可视化的同学可以使用lrzszz

安装

yum -y install lrzsz

或者

brew install lrzsz

使用lrzsz

  • 通过rz来开启本地文件系统的窗口,选择指定文件安装到当前目录

  • 通过sz来将当前云服务器安装到指定本地目录

我这里使用的是FinalShell或者XShell

用本地的终端和iTerm的话需要单独设置

使用scp上传文件

有时会报

image-20220824200445929

输入以下命令解除限制

ssh-keygen -R 43.142.120.53

可以看到解除限制后可以连接到远端服务器

image-20220824200710549

输入密码即可

scp实际使用方式

scp上传文件格式

scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3 

scp上传目录格式

scp -r local_folder remote_username@remote_ip:remote_folder 
或者 
scp -r local_folder remote_ip:remote_folder 

scp从远端复制到本地

远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例

scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 
scp -r www.runoob.com:/home/root/others/ /home/space/music/
说明
  1. 如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:
#scp 命令使用端口号 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator
  1. 使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

比如,如果是没有权限的话,会提示

image-20220825142003138

所以要修改圆度服务器/home文件夹的操作权限

在远端服务器输入

chmod 777 /home

一般这样就ok了,再次上传也没问题,如果chmod 777 /home时报

image-20220825142204749

则可以加sudo

 sudo chmod 777 /home

之后再scp上传就ok了

image-20220825142256766

使用FileZilla可视化上传

安装FileZilla或者其他的ftp软件,建立远端服务器连接,然后就可以拖拽上传啦

云服务添加微信机器人

之前搞了个微信机器人定时发消息的项目,用腾讯云的CentOs8.0报错,看了排错文档安装了CentOs的依赖依然没有解决

所以重装了下ubuntu的系统,第一次启动依然报错,后来根据排错文档安装了ubuntu的依赖

image-20220825174208399之后再启动就没问题了

保持云服务器的进程一直运行

正常情况下,一旦断掉与远端服务器的链接,则进程就会结束,所以没办法一直运行一个进程,但是我们要想要我们的微信机器人一直生效,则需要通过screen来使进程永远处于运行状态

安装screen

CentOS 系列系统: yum install screen Ubuntu 系列系统: sudo apt-get install screen

创建 screen 窗口

screen -S  name

name可以设置为ssh、ftp或者任意字符串,用于标注该 screen 窗口用途

注意,执行 screen -S name 之后系统会跳进一个新窗口,这个窗口就是我们创建的新进程

在新窗口进行的任务会一直存在,只要不关闭该窗口任务,注意不关闭该窗口任务的意思是不手动关闭screen任务即可,而不是不能关闭该shell窗口

查看所有screen任务

可以通过

screen -ls

来查看所有的screen任务

比如我看起一个screen窗口之后node index.js启动了一个服务器,然后关闭了改窗口,再次通过screen -ls的时候会发现

image-20220825224600763

可以看到一个Attached状态的screen窗口在运行

进入某个screen任务

可以通过

screen -r -d 20952

进入到该窗口进行操作

然后 通过screen创建一个screen任务一直保持运行我们的微信机器人即可

删除某个screen任务

可以通过

screen -S screen名称 -X quit

删除之后再通过

screen -ls

来查看,发现确实是删除了

发现screen is terminating问题之后的解决方法

手动bash中输入exit退出,重新登陆即可

结语

如果文章真的有帮到你,希望可以多多点赞、收藏、关注支持一波呀!!小阵会很开心哒~

文章如有错误或不严谨之处,还望指出,感谢感谢!!!

热爱开源,支持开源,拥抱开源!

加油!

往期好文推荐「我不推荐下,大家可能就错过了史上最牛逼vscode插件集合啦!!!(嘎嘎~)😄」