• 164-Angular项目和NodeExpress服务器发布(二)


    刚刚写了一篇关于Express服务器发布的

    但是我发现这样做好像有点问题

    至于是什么问题

    我也不太懂

    总之外网可以访问

    其他情况不能访问

    这很奇怪

    于是我用了另一种方法

    用express的模板代码

    首先装一下

    npm i -g express-generator

    然后

    express my_test_project

    创建项目

     

    创建完之后看下目录

    然后我们来改一下app.js

    1. var createError = require('http-errors');
    2. var express = require('express');
    3. var path = require('path');
    4. var cookieParser = require('cookie-parser');
    5. var logger = require('morgan');
    6. var indexRouter = require('./routes/index');
    7. var usersRouter = require('./routes/users');
    8. var app = express();
    9. // view engine setup
    10. app.set('views', path.join(__dirname, 'views'));
    11. app.set('view engine', 'jade');
    12. app.use(logger('dev'));
    13. app.use(express.json());
    14. app.use(express.urlencoded({ extended: false }));
    15. app.use(cookieParser());
    16. app.use(express.static(path.join(__dirname, 'public')));
    17. //use static
    18. app.use(express.static('src/index/'));
    19. //get
    20. app.get('/', function (req, res) {
    21. res.sendFile(path.resolve('src/index/index.html'));
    22. });
    23. // app.use('/', indexRouter);
    24. app.use('/users', usersRouter);
    25. // catch 404 and forward to error handler
    26. app.use(function(req, res, next) {
    27. next(createError(404));
    28. });
    29. // error handler
    30. app.use(function(err, req, res, next) {
    31. // set locals, only providing error in development
    32. res.locals.message = err.message;
    33. res.locals.error = req.app.get('env') === 'development' ? err : {};
    34. // render the error page
    35. res.status(err.status || 500);
    36. res.render('error');
    37. });
    38. const port = 80
    39. app.listen(port, () => {
    40. console.log(`Example app listening on port ${port}`)
    41. });
    42. module.exports = app;

    这样就成功了

    至于到底是缺少了什么东西

    我感觉应该是app.js前面的一些代码

    比如

    1. var createError = require('http-errors');
    2. var express = require('express');
    3. var path = require('path');
    4. var cookieParser = require('cookie-parser');
    5. var logger = require('morgan');
    6. var indexRouter = require('./routes/index');
    7. var usersRouter = require('./routes/users');
    8. var app = express();
    9. // view engine setup
    10. app.set('views', path.join(__dirname, 'views'));
    11. app.set('view engine', 'jade');
    12. app.use(logger('dev'));
    13. app.use(express.json());
    14. app.use(express.urlencoded({ extended: false }));
    15. app.use(cookieParser());
    16. app.use(express.static(path.join(__dirname, 'public')));
    17. //use static
    18. app.use(express.static('src/index/'));

    我们可以看一下

    里面有什么

    我也看不懂

    就这样吧

    管他呢

    嘿嘿

    不过好像字数不太够

    我现在要来凑一点字数

    来说一下服务器这边的东西

    我是租了一个阿里云的新加坡的服务器

    然后进去之后

    1.

    sudo apt update

    2.

    sudo apt install git

    3.

    sudo apt install node

    4.

    ssh-keygen -o

    5.

    git clone

    6.

    npm install

    7.

    sudo node app.js

    注意这里如果要打开防火墙的话

    那么要打开80端口,我不确定默认是不是开着的

    然后阿里云里面默认是打开80端口的

    然后这里一定要加sudo

    sudo node app.js

    还有后台服务可以用screen

    sudo apt install screen

    暂时退出这个窗口ctrl+a+d
    screen -ls
    screen -S 创建
    screen -d detach
    screen -r recover

    screen -S name_or_id -X quit

  • 相关阅读:
    3D行业趋势2024
    云原生赋能智能网联汽车消息处理基础框架构建
    【智能优化算法-遗传算法】基于遗传算法求解单目标优化问题(实数编码)附matlab代码
    SAP PI/PO 视频,自己录制
    int指令
    【CCNA实验分享】三层交换机Vlan间路由
    Pyecharts | 历年全国各地民政局登记数据分析+可视化
    聚类算法评价指标——基于DBI指数的k-means算法(python代码)
    医院陪诊小程序源码 医院陪诊陪护系统源码
    Oracle Cloud Shell(甲骨文云Shell)+ FRP(反向代理)实现防火墙穿透,内网端口映,射公网
  • 原文地址:https://blog.csdn.net/qq_33781658/article/details/126594406