小白部署node_web到服务器

364 阅读2分钟

购买服务器

在阿里云平台,因为是第一次买,有个免费一个月试用,用来玩玩,配置都是默认配置

image.png 买完之后,在服务器实例列表那里就有刚刚购买的服务器了

image.png

点击右边的远程连接,输入密码(首次需要重置一下密码才有)就可以连接到服务器,登录完事就是下面这样的

image.png

因为想要在服务器起一个node服务,所以要安装node环境,推荐使用nvm安装:
安装nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
安装node
nvm install node
至此,我们在切到node环境可以执行js代码了

image.png

准备一个本地项目

准备好了服务器环境,我们接下来在本地准备一个简单的项目,结构目录如下

image.png

server.js, 监听80端口,返回html

const http = require('http');
const fs = require('fs');

const html = fs.readFileSync('./public/index.html')
const server = http.createServer((req, res) => {
    res.end(html)
})

server.listen(80, () => {
    console.log('running at localhost:80')
});

在本地启动服务,在浏览器正常访问到html

image.png

将本地项目复制到远程服务器

打包本地项目为zip压缩包

scp -r <zip压缩包> <服务器用户名>@<服务器公网IP>:<复制到哪个目录>
//scp -r ./demo.zip root@123.66.6.66:/root

会提示输入密码,成功后显示如下:

image.png

我们到服务器远程连接命令窗口查看,已经复制过来了,然后把他解压到当前目录

image.png

进入到文件解压目录, 启动node服务,我们就可以通过公网IP访问我们的服务(记得设置安全组)

这里发现一个问题,就是当我关闭远程链接窗口,或者退出程序,公网IP就访问不了,这里可以通过nohup,让我们的服务一直在后台运行 nohup node server.js & 后面的&一定要加

如果要停止

ps -aux | grep 'node server.js'
找到进程idkill

域名访问解析IP

经过上面的步骤,我们已经可以通过公网IP访问自己的项目的,但是ip那么长,不容易记住,我们可以在阿里云注册域名,注册完成后我们在域名控制台就能看到

image.png

接下来要配置一下域名解析,点击右边的解析按钮进行配置

image.png

所有都配置完成后,发现还不能使用域名访问公网IP,这里需要实名注册,大概一天以内就能审核完成

TODO

本来我的域名都可以访问了,然后突然就不行了,告诉我要备案,然后看备案还要实名以后两三天才能搞,过几天看看怎么回事把~~~