购买服务器
在阿里云平台,因为是第一次买,有个免费一个月试用,用来玩玩,配置都是默认配置
买完之后,在服务器实例列表那里就有刚刚购买的服务器了
点击右边的远程连接,输入密码(首次需要重置一下密码才有)就可以连接到服务器,登录完事就是下面这样的
因为想要在服务器起一个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代码了
准备一个本地项目
准备好了服务器环境,我们接下来在本地准备一个简单的项目,结构目录如下
在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
将本地项目复制到远程服务器
打包本地项目为zip压缩包
scp -r <zip压缩包> <服务器用户名>@<服务器公网IP>:<复制到哪个目录>
//scp -r ./demo.zip root@123.66.6.66:/root
会提示输入密码,成功后显示如下:
我们到服务器远程连接命令窗口查看,已经复制过来了,然后把他解压到当前目录
进入到文件解压目录, 启动node服务,我们就可以通过公网IP访问我们的服务(记得设置安全组)
这里发现一个问题,就是当我关闭远程链接窗口,或者退出程序,公网IP就访问不了,这里可以通过nohup,让我们的服务一直在后台运行
nohup node server.js &
后面的&
一定要加
如果要停止
ps -aux | grep 'node server.js'
找到进程idkill
掉
域名访问解析IP
经过上面的步骤,我们已经可以通过公网IP访问自己的项目的,但是ip那么长,不容易记住,我们可以在阿里云注册域名,注册完成后我们在域名控制台就能看到
接下来要配置一下域名解析,点击右边的解析按钮进行配置
所有都配置完成后,发现还不能使用域名访问公网IP,这里需要实名注册,大概一天以内就能审核完成
TODO
本来我的域名都可以访问了,然后突然就不行了,告诉我要备案,然后看备案还要实名以后两三天才能搞,过几天看看怎么回事把~~~