基于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系统的服务器时,建议选择高版本系统。


总结

在这里插入图片描述

在这里插入图片描述

  • 35
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iceooly

~来一份支持吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值