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

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

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

至于是什么问题

我也不太懂

总之外网可以访问

其他情况不能访问

这很奇怪

于是我用了另一种方法

用express的模板代码

首先装一下

npm i -g express-generator

然后

express my_test_project

创建项目

 

创建完之后看下目录

然后我们来改一下app.js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

//use static
app.use(express.static('src/index/'));

//get
app.get('/', function (req, res) {
  res.sendFile(path.resolve('src/index/index.html'));
});

// app.use('/', indexRouter);
app.use('/users', usersRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

const port = 80

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
});

module.exports = app;

这样就成功了

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

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

比如

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

//use static
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值