正文约 1900 字,读完需要 5 分钟
“ 本文讲解新服务器的基本操作,涉及到连线服务器、新增使用者、FTP 配置、配置 Node 环境、后台执行 Node 程式”
毕设答辩原本以为老师只会在我的电脑上检视操作过程,后来从同学那里得知老师要求能够通过校园网来访问专案。然后就又开始倒腾服务器了。
要倒腾服务器,首先得有一台能够自己完全控制的服务器,虚拟机器不如服务器自由,玩的不过瘾。
说一个前提,如果想要带有域名也就是浏览器里面输入的那一串地址,需要提前购买和备案,否则要等半个月左右才能使用。
选择一个低配的 1核CPU、2G内存,映象代表操作系统,选择 Ubuntu,版本选择 16.04,系统盘使用预设 40G。
安全组按照预设的来,后面可以在服务器管理里面配置,管理开放的埠。

怎么连线服务器
在 Mac 上安装 ZenTermLite ,开启点选 + ,会话名称随便取,主机地址即为对公网的地址(下图中公对应的地址)。
使用者名称用 root,点选认证,在密码中输入申请例项的时候建立的密码。

点选确定,连线即可自动连线上服务器(以root身份)。
怎么新增新使用者
先检视系统的使用者cat /etc/passwd

我们建立一个使用者 uftp,用来供上传档案使用。会要求输入密码。
adduser uftp

这行命令会自动建立使用者目录。
删除使用者
userdel uftp
怎么通过FTP上传档案
服务器需要先安装 ftp 服务,安装 vsftp。apt install vsftpd
配置 vsftp。
vi /etc/vsftp.conf
在 # Uncomment this to enable any form of FTP write command. 处,新增如下语句

同时建立 /etc/vsftpd.user_list
touch /etc/vsftpd.user_list
vi /etc/vsftpd.user_list
新增使用的使用者,重启服务即可。
sudo /etc/init.d/vsftpd start # 启动vsftp服务
sudo /etc/init.d/vsftpd stop # 停止vsftp服务
sudo /etc/init.d/vsftpd restart # 重启vsftp服务

先下载一个 FIleZilla,这是一个 FTP客户端。输入

即可列出该目录,之后就可以开始上传下载档案了。

怎么安装Node
Linux 上面选择从原始档编译安装,开启 http://nodejs.cn/download/,选择安装包。
找到 node-v10.16.0.tar.gz

之后复制连结地址

wget 将档案下载到机器上,tar 将档案解压
wget https://npm.taobao.org/mirrors/node/v10.16.0/node-v10.16.0.tar.gz
tar -zxvf node-v10.16.0.tar.gz
以 root 使用者的身份执行
./configure
make && make install
静静等待。。。整个编译安装过程会比较漫长。。。
等待执行完之后,在命令列里面输入
node -v
v10.16.0
显示出 Node 版本,即为安装成功。
如何后台执行 Node 程式
使用 pm2 可以让 Node 程式执行在后台,即使关闭命令列也可以继续执行。npm i -g pm2
启动类似 `node xxx.js` 的专案
pm2 start --name xxxsname xxx.js # 将执行的例项命名为 xxxsname
启动类似 `npm run serve` 的专案
pm2 start --name servename npm -- run serve
以配置档案的形式启动
pm2 start pm2config.json
配置档案如下
{
"apps": [{
"name": "appname", # 应用名
"exec_interpreter": "node", # 执行环境
"script": "./b.js", # 要执行的指令码
"cwd": "/home/uftp/test-pm2", # 专案路径
"exec_mode": "fork",
"max_memory_restart": "1G",
"autorestart": true, # 出错自动重启
"node_args": [],
"error_file" : "./test-err.log", # 错误日志档案位置
"out_file": "./test-out.log", # 输出日志档案位置
"pid_file": "./test.pid", # 程序相关档案位置
"args": [],
"env": {
}
}]
}
pm2 真的是后台自动部署的神器!!!





























