基于Node.js将个人网站部署到云端ECS
前言
超级详细的个人网站在ECS部署的讲解,包含服务器选购,宝塔面板与服务器的绑定(宝塔面板有所改动!!注意)虽然逆天,但是能用......,以及个人网站部署的具体注意事项!
一、如何购买ECS以及如何使用学生认证优惠?
1.进入阿里云网站,进行学生认证
点击阿里云进行登录,登陆完成后点击个人和学生认证进行个人和学生认证,注意进行学生认证需进行个人认证。(只进行个人认证也可,本次优惠针对新用户不区分是否为学生。)
2.购买学生优惠,免费试用一个月
点击产品,点击云服务器ECS
学生优惠可以免费试用1个月,可自行领取
3.重置个人密码
二、服务器的配置以及与宝塔面板的链接
1.个人电脑打开终端(win+R->cmd)
2.复制对应的命令到终端Enter,安装宝塔面板
Centos/Alibaba Cloud Linux 安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Deepin安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
出现判断语句,按要求同意y或者yes,之后自动安装,大概需要2-10分钟,看自己电脑配置和网速,耐心等待…可以先来摸亿会儿鱼,摸鱼🐟
安装成功页面:
3.服务器端口放行
4.登录宝塔面板
点击外网面板地址,第一次访问会有安全提醒,忽略即可
输入username和password,之后会跳转到另一个网页,然后自己注册账号,注册完毕后关闭此页,回到上一页,输入注册的手机号和密码
绑定完成界面如下:
三、安装Nodejs导入文件部署个人网站
1.服务器下载nodejs
- Centos
Centos服务器如何安装Nodejs
- Ubuntu
直接输入
apt install nodejs
命令即可
Ubuntu服务器如何安装Nodejs
找到对应自己系统的代码复制到服务器终端(宝塔终端,个人ssh终端也可)即可,Ununtu系统即可直接复制一行命令安装。
以下二选一:
2.导入文件
附录 Nodejs 服务器代码 参考如下:
const http =require('http');const fs =require('fs');const path =require('path');const server = http.createServer((req, res)=>{
let filePath ='.'+ req.url;if(filePath ==='./'){
filePath ='./Index.html';}const extname = path.extname(filePath);
let contentType ='text/html';switch(extname){case'.js':
contentType ='text/javascript';break;case'.css':
contentType ='text/css';break;case'.json':
contentType ='application/json';break;}
filePath = path.join(__dirname, filePath);
fs.readFile(filePath,(err, content)=>{if(err){if(err.code ==='ENOENT'){// 文件不存在时返回 404 错误
fs.readFile('./404.html',(err, content)=>{
res.writeHead(404,{'Content-Type':'text/html'});
res.end(content,'utf-8');});}else{// 发生其他错误时返回 500 错误
res.writeHead(500);
res.end('Server Error: '+ err.code);}}else{
res.writeHead(200,{'Content-Type': contentType });
res.end(content,'utf-8');}});});const port =6332;//个人端口号,即后续需要开放的端口号,自行设置
server.listen(port,()=>{
console.log(`Server is running on http://个人公网IP:${port}`);});
3.开放nodejs代码中所写的端口
a.宝塔面板端口开放:
b.服务器端端口开放:
4.运行nodejs代码,部署网页
找到自己存放nodejs服务器端代码的文件并复制所在路径
点击终端,输入以下的命令
cd 复制的路径
node server.js(自己的nodejs代码文件)
此时发布成功,在不关闭此终端的前提下就可以去访问自己的网页了
http://服务器公网IP:nodejs开放端口号
5.nohup程序后台运行
注意自己的终端不可关闭,关闭程序后,网页会停止发布,所以就用到了Linux nohup 命令,即在运行node server.js前加一个nohup,保证了即使关闭终端也会正常运行程序。
nohup node server.js
6.网页发布成功进行访问
此时即使关闭此终端也可以正常访问自己的网页
http://服务器公网IP:nodejs开放端口号
四、常见问题及其解决方法
1.重装系统的方法步骤
先停止服务器
服务器停止后,点击更换操作系统即可
2.重置服务器密码后,终端无法连接
解决方法:
因为公钥已经更改,你可以更新或删除known_hosts文件中的旧公钥条目,即运行以下命令即可!
ssh-keygen -R 服务器公网IP
3.发布后图片不能正常加载
原因:
1.路径问题:文件路径使用英文,最好在最初就全部使用英文命名
2.文件权限问题:未给服务器文件访问权限
4.Ubuntu安装nodejs比Centos便捷的原因
Ubuntu直接输入
apt install nodejs
命令即可,因为Ubuntu系统版本更新较快,软件仓库中的软件比较新,nodejs基本为最新的LTS版本,而且不会出现因系统版本过低出现的一系列问题,而Centos则会出现因系统版本过低而不支持部分nodejs版本的情况,所以在使用Centos系统的服务器时,建议选择高版本系统。
总结
版权归原作者 iceooly 所有, 如有侵权,请联系我们删除。