基于Node.js将个人网站部署到ECS

07-16 420阅读

基于Node.js将个人网站部署到云端ECS

  • 一、如何购买ECS以及如何使用学生认证优惠?
    • 1.进入阿里云网站,进行学生认证
    • 2.购买学生优惠,免费试用一个月
    • 3.重置个人密码
    • 二、服务器的配置以及与宝塔面板的链接
      • 1.个人电脑打开终端(win+R->cmd)
      • 2.复制对应的命令到终端Enter,安装宝塔面板
      • 3.服务器端口放行
      • 4.登录宝塔面板
      • 三、安装Nodejs导入文件部署个人网站
        • 1.服务器下载nodejs
        • 2.导入文件
        • 3.开放nodejs代码中所写的端口
          • a.宝塔面板端口开放:
          • b.服务器端端口开放:
          • 4.运行nodejs代码,部署网页
          • 5.nohup程序后台运行
          • 6.网页发布成功进行访问
          • 四、常见问题及其解决方法
            • 1.重装系统的方法步骤
            • 2.重置服务器密码后,终端无法连接
            • 3.发布后图片不能正常加载
            • 4.Ubuntu安装nodejs比Centos便捷的原因
              前言

              超级详细的个人网站在ECS部署的讲解,包含服务器选购,宝塔面板与服务器的绑定(**宝塔面板有所改动!!注意**)虽然逆天,但是能用......,以及个人网站部署的具体注意事项!


              一、如何购买ECS以及如何使用学生认证优惠?

              1.进入阿里云网站,进行学生认证

              点击阿里云进行登录,登陆完成后点击个人和学生认证进行个人和学生认证,注意进行学生认证需进行个人认证。(只进行个人认证也可,本次优惠针对新用户不区分是否为学生。)

              基于Node.js将个人网站部署到ECS

              2.购买学生优惠,免费试用一个月

              点击产品,点击云服务器ECS

              基于Node.js将个人网站部署到ECS

              学生优惠可以免费试用1个月,可自行领取

              基于Node.js将个人网站部署到ECS


              基于Node.js将个人网站部署到ECS

              基于Node.js将个人网站部署到ECS

              3.重置个人密码

              基于Node.js将个人网站部署到ECS

              基于Node.js将个人网站部署到ECS

              基于Node.js将个人网站部署到ECS

              二、服务器的配置以及与宝塔面板的链接

              1.个人电脑打开终端(win+R->cmd)

              基于Node.js将个人网站部署到ECS

              基于Node.js将个人网站部署到ECS

              基于Node.js将个人网站部署到ECS

              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分钟,看自己电脑配置和网速,耐心等待…可以先来摸亿会儿鱼,摸鱼🐟

              安装成功页面:

              基于Node.js将个人网站部署到ECS

              3.服务器端口放行

              基于Node.js将个人网站部署到ECS

              基于Node.js将个人网站部署到ECS

              基于Node.js将个人网站部署到ECS

              4.登录宝塔面板

              点击外网面板地址,第一次访问会有安全提醒,忽略即可

              基于Node.js将个人网站部署到ECS

              基于Node.js将个人网站部署到ECS

              输入username和password,之后会跳转到另一个网页,然后自己注册账号,注册完毕后关闭此页,回到上一页,输入注册的手机号和密码

              基于Node.js将个人网站部署到ECS

              绑定完成界面如下:

              基于Node.js将个人网站部署到ECS

              三、安装Nodejs导入文件部署个人网站

              1.服务器下载nodejs

              • Centos

                Centos服务器如何安装Nodejs

                • Ubuntu

                  直接输入 apt install nodejs命令即可

                  Ubuntu服务器如何安装Nodejs

                  找到对应自己系统的代码复制到服务器终端(宝塔终端,个人ssh终端也可)即可,Ununtu系统即可直接复制一行命令安装。

                  以下二选一:

                  基于Node.js将个人网站部署到ECS

                  基于Node.js将个人网站部署到ECS

                  2.导入文件

                  基于Node.js将个人网站部署到ECS

                  附录 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.宝塔面板端口开放:

                  基于Node.js将个人网站部署到ECS

                  b.服务器端端口开放:

                  基于Node.js将个人网站部署到ECS

                  4.运行nodejs代码,部署网页

                  找到自己存放nodejs服务器端代码的文件并复制所在路径

                  基于Node.js将个人网站部署到ECS

                  点击终端,输入以下的命令

                  cd 复制的路径

                  node server.js(自己的nodejs代码文件)

                  基于Node.js将个人网站部署到ECS

                  此时发布成功,在不关闭此终端的前提下就可以去访问自己的网页了

                  http://服务器公网IP:nodejs开放端口号
                  

                  5.nohup程序后台运行

                  注意自己的终端不可关闭,关闭程序后,网页会停止发布,所以就用到了Linux nohup 命令,即在运行node server.js前加一个nohup,保证了即使关闭终端也会正常运行程序。

                  nohup node server.js

                  基于Node.js将个人网站部署到ECS

                  6.网页发布成功进行访问

                  此时即使关闭此终端也可以正常访问自己的网页

                  http://服务器公网IP:nodejs开放端口号
                  

                  四、常见问题及其解决方法

                  1.重装系统的方法步骤

                  先停止服务器

                  基于Node.js将个人网站部署到ECS

                  服务器停止后,点击更换操作系统即可

                  基于Node.js将个人网站部署到ECS

                  2.重置服务器密码后,终端无法连接

                  解决方法:

                  因为公钥已经更改,你可以更新或删除known_hosts文件中的旧公钥条目,即运行以下命令即可!

                  ssh-keygen -R 服务器公网IP

                  基于Node.js将个人网站部署到ECS

                  3.发布后图片不能正常加载

                  原因:

                  1.路径问题:文件路径使用英文,最好在最初就全部使用英文命名

                  2.文件权限问题:未给服务器文件访问权限

                  4.Ubuntu安装nodejs比Centos便捷的原因

                  Ubuntu直接输入 apt install nodejs命令即可,因为Ubuntu系统版本更新较快,软件仓库中的软件比较新,nodejs基本为最新的LTS版本,而且不会出现因系统版本过低出现的一系列问题,而Centos则会出现因系统版本过低而不支持部分nodejs版本的情况,所以在使用Centos系统的服务器时,建议选择高版本系统。


                  总结

                  基于Node.js将个人网站部署到ECS

                  基于Node.js将个人网站部署到ECS

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]