背景
自己刚买了阿里云服务器,现在想把node.js代码部署到阿里云服务器上面;我之前写过一篇文章如何购买和登录阿里云服务器,不清楚的同学可以借鉴下哦,juejin.cn/post/684490…
本机登录阿里云服务器
- 登录网页版阿里云服务器,目前我们使用的是root账户
- 首先在本机获取公钥,使用命令行:
cat ~/.ssh/id_rsa.pub
- 把公钥复制下来,改成:
echo '公钥' >> ~/.ssh/authorized_keys
- 把以上的内容不知道网页版的阿里云服务器命令行中;
- 执行完复制的命令后,你就可以在本机上登录阿里云服务器了;
- 打开本机终端,输入
ssh root@公网IP
- 如果ip地址我们总记不住,我们可以设置本地host,这样我们以后就可以使用自己的命名访问了
- 如果想要退出云机器,输入exit即可
- 如何防止ssh卡顿,可在本机器,运行以下代码(注意不是阿里云服务器)
echo "Host *" >> /etc/ssh/ssh_config
echo " ServerAliveInterval 30" >> /etc/ssh/ssh_config
创建一个新账户
- 至于为什么要创建一个新账户,因为root权限太高了,如果root账号被控制了,相当于整个机器被控制了,所以我们一般不使用root账户;
- 先本地使用root登录阿里云服务器,输入‘adduser 用户名’
- 新建一个.ssh的目录,
mkdir /home/dj/.ssh - 把服务器的.ssh文件夹下的authorized_keys文件,复制到新创建的.ssh文件夹下面
cp ~/.ssh/authorized_keys /home/dj/.ssh/ - 把authorized_keys文件权限设置可读可执行
chmod 755 /home/dj/.ssh/authorized_keys - 把文件的拥有者设为新用户
chown dj:dj /home/dj/.ssh/authorized_keys - 以上设置完成,就可以退出,然后以新用户的名字登录了
给新用户添加sudo权限
- 我们新用户的权限太小了,有时候会需要root的权限,这时root给新用户加上sudo就可以了,
adduser dj sudo
- 那什么是sudo呢?sudo全称是super user do;类似于windows的以管理员身份运行;平时我们不应该使用root账号,而是使用dj账号,遇到特殊操作,就在前面加sudo,请出root,此时需要输入的密码时dj的密码,不是root的密码;
- 命令行使用小技巧
ctrol + a可以快速回到命令行前面,sudo !!使用sudo执行上个命令
在服务器安装Node.js
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -sudo sed -i 's/deb.nodesource.com\/node_8.x/mirrors.tuna.tsinghua.edu.cn\/nodesource\/deb_8.x/g' /etc/apt/sources.list.d/nodesource.listsudo apt-get updatesudo apt-get install -y nodejssudo apt install git
部署应用
- 代码我们是通过git进行拉取代码 git clone XXX.git
- 使用命令行
touch log创建一个Log文件 - 运行node程序
node server.js 8888 > log 2>&1&,这是会返回一个数字,此数字就是进程id,如果我们想要杀死此进程,可以使用kill -9 id
- 我们可以把启动命令做成一个脚本
echo 'node server.js 8888 > log 2>&1 &' >> ./start
- 给start一个可执行权限
chmod +x ./start - 运行
./start执行
在本机浏览器访问服务器代码
- 因为这个node服务器代码是监听了8888端口,所以我们需要先在阿里云服务器把8888端口加入到安全策略
- 配置完成后,你就客户在浏览器访问了:http://47.92.100.195:8888/
结束语:
感谢在饥人谷方方老师的无私分享,收益颇多!