时间:2023-08-13 15:45:01 | 来源:网站运营
时间:2023-08-13 15:45:01 来源:网站运营
阿里云服务器建站指南(进阶篇):发布你的个人主页: 笔者在上一篇博文中跟大家分享了如何利用Xshell和Xftp同你的远程服务器进行连接,同时在CentOS下如何安装Node.js和Express框架,并且快速搭建了一个简易服务器,这篇文章将详细讲述如何设置Node.js文件,在阿里云服务器上发布你的个人主页。express demoAppcd demoAppnpm 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');// 实例化expressvar app = express();// 设置express的静态文件目录,后面会详细讲app.use(express.static(path.join(__dirname, 'public')));// 服务器路由拦截,如果路径为“/”则跳转到indexRouter对应的路由页面app.use('/', indexRouter);// 监听8080端口并输出appapp.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 存放静态文件// 你可以使用绝对路径<script src="/javascripts/mecc/index.js">// 也可以使用相对路径<script src="./javascripts/mecc/index.js">
关于静态文件路径的小提示:localhost:8080/images/mecc/01.jpg
访问到 demoApp/public/images/mecc/01.jpg
也就意味着你在设置引用路径的时候不用考虑‘public’,关于静态文件问题如果你有什么疑虑,可以百度一下,也欢迎评论或私信我。node app
检测你的页面是否成功上线,如果没问题的话,将node_modules文件夹删掉后,利用Xftp6将整个文件夹拖曳至你的阿里云服务器,完成文件上传,然后输入下列指令即可在线看到你的主页啦~cd demoAppnode app
不过目前只是临时发布,如果你关闭了Xshell,服务器也就会断开,你可以输入下列指令代替【node app】让服务器一直在后端运行(注意,如果你的服务器已经在运行,请先按CTRL+C停止运行):nohup node app.js >/dev/null 2>&1 &
此时,你的程序就在后台跑起来了,注意,如果你要关闭Xshell,请使用下列指令正常退出:exit
如果你想强制关闭又不想影响程序在后台运行,可以加一句:trap "" HUP
好了,恭喜你,你的主页已经跑起来了!// 通过这个命令可以查看所有在运行的进程,注意找到node app进程,记下PID号码ps -ef// 通过下列指令结束指定PID进程,假设node app进程的PID为1234kill 1234
关键词:发布,服务,指南