Products
GG网络技术分享 2025-03-18 16:07 0
笔者在上一篇博文中跟大家分享了如何利用Xshell和Xftp同你的远程服务器进行连接,同时在CentOS下如何安装Node.js和Express框架,并且快速搭建了一个简易服务器,这篇文章将详细讲述如何设置Node.js文件,在阿里云服务器上发布你的个人主页。
上一篇博文地址:MeCC:超详细!阿里云服务器ECS建站指南!
Step 1 使用Express快速搭建服务器
具体方法在前一篇博文中已经详细阐述过,大致是在你希望的目录下使用如下指令:
express demoApp
cd demoApp
npm install
Tip:为了能更方便的操作,笔者建议先在你的本地电脑上搭建一个localhost服务器,将所有下面的配置全部搞定后再一次性上传到云服务器上~
由于Express默认是采用了EJS模板引擎进行渲染,如果你要发布的文件只是单纯的HTML,那么需要对目录下的app.js文件进行一些调整:
// 下列代码为精简版本,如果你希望加入请求日志等模块,可以保留原app.js的内容
// 引用express和path模块
var express = require("express");
var path = require("path");
// 这里保留了引用routes下index的语法,方便后期添加新的网页
var indexRouter = require("./routes/index");
// 实例化express
var app = express();
// 设置express的静态文件目录,后面会详细讲
app.use(express.static(path.join(__dirname, "public")));
// 服务器路由拦截,如果路径为“/”则跳转到indexRouter对应的路由页面
app.use("/", indexRouter);
// 监听8080端口并输出app
app.listen(8080, function () {
console.log("server is starting at 8080")
})
module.exports = app;
由于引用了indexRouter,我们还需要对routes文件夹下的index.js文件进行一些调整:
var express = require("express");
var router = express.Router();
/* GET home page. */
router.get("/", function(req, res, next) {
res.sendFile(__dirname "/index.html")
/* 这里需要填写绝对路径,__dirname代表服务器的绝对路径,后面的index.html则是笔者想要发布的html入口文件,你可以改成你的文件名字。 */
});
module.exports = router;
Step 2 存放静态文件
完成了上述调整后,你就可以将你的html入口文件(笔者这里是index.html)放在demoApp/routes 文件夹下,开启服务器就可以正常浏览了~
等等,你说你还有一堆CSS、JS、图片等着载入呢?
那这些就是我在上面提到的静态文件了~我们之前已经设置了服务器的静态文件目录为‘public’,我们进入demoApp/public文件夹下,可以看到express已经默认为我们创建了三个文件夹:
没错,正是images、javascripts和stylesheets!
下一步就简单了,将html文件所需要的各类文件分类放进文件夹中,笔者建议,在每个文件夹下,建立一个以项目名称命名的文件夹,然后再把文件放在该文件夹下,如下图所示:
这样一来,如果你要发布多个页面,就可以设置不同的文件夹,彼此不会相互影响。
Step 3 静态文件路径设置
到了这一步,你已经完成了90%的工作,最后一步,是要对你的html等文件中的引用路径做一些调整:
// 你可以使用绝对路径
标签:
提交需求或反馈
Demand feedback