• 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

  • 相关阅读:
    phpstudy开机自启
    如何选择合适的官文转录供应商
    【Unity】加速Unity编辑器模式启动时间
    50-C语言-输入n个数,并且从中输出奇数,按升序排列
    【设计模式】概括
    分布式集群——搭建Hadoop环境以及相关的Hadoop介绍
    Point-MVSNet ICCV-2019 学习笔记总结 译文 深度学习三维重建
    多线程概述及创建
    智能搜索引擎 | 驱动电商业务增长实践
    公众号网页开发 - 本地开发环境中将公众号授权域名使用内网穿透(frp+nginx)进行本地开发、调试
  • 原文地址:https://blog.csdn.net/qq_33781658/article/details/126594406