Node.js 部署到生产平均值应用程序(Angular2)
我正在尝试在我自己的服务器上部署我的第一个angular 2应用程序和mongodb/express(debian和nginx) 我已经安装了nginx、mongo、node、build essentials、pm2等所有软件 我正在通过pm2 start server.js-x--prod启动我的server.js 我的server.js文件Node.js 部署到生产平均值应用程序(Angular2),node.js,angular,express,nginx,mean-stack,Node.js,Angular,Express,Nginx,Mean Stack,我正在尝试在我自己的服务器上部署我的第一个angular 2应用程序和mongodb/express(debian和nginx) 我已经安装了nginx、mongo、node、build essentials、pm2等所有软件 我正在通过pm2 start server.js-x--prod启动我的server.js 我的server.js文件 require('rootpath')(); var express = require('express'); var app = express()
require('rootpath')();
var express = require('express');
var app = express();
var cors = require('cors');
var bodyParser = require('body-parser');
var expressJwt = require('express-jwt');
var config = require('config.json');
app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// use JWT auth to secure the api
app.use(expressJwt({ secret: config.secret }).unless({ path: ['/users/authenticate', '/users/register'] }));
// routes
app.use('/users', require('./controllers/users.controller'));
// start server
app.listen(3008, function() {
console.log('server na porcie 3008!')
});
这是我的config.json
{
"connectionString": "mongodb://localhost:27017/mydb",
"apiUrl": "http://127.0.0.1:3008",
"secret": "testing testing"
}
我的前端是angular2/4,我还使用ng build--prod创建我的dist目录。我到服务器上dist的路径是/srv/mydomain/dist
我的服务器部分在/srv/mydomain/server中
当我打开我的应用程序时,我会看到我的前端登录
键入登录和密码后,控制台显示错误
选项网络::错误连接被拒绝
XHR加载失败:POST“”
我不知道为什么是4000而不是3008
这是我的nginx配置
server {
listen 80;
# Web
root /srv/myapp/dist;
location / {
try_files $uri /index.html;
}
# Api
location /srv/myapp/server {
proxy_pass http://127.0.0.1:3008;
}
}
我做错了什么
编辑
这是我的authentication.service.ts
import { Injectable } from '@angular/core';
import { Http, Headers, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import { AppConfig } from '../app.config';
@Injectable()
export class AuthenticationService {
constructor(private http: Http, private config: AppConfig) { }
login(username: string, password: string) {
//console.log(this.config.apiUrl);
return this.http.post(this.config.apiUrl + '/users/authenticate', { username: username, password: password })
.map((response: Response) => {
// login successful if there's a jwt token in the response
let user = response.json();
if (user && user.token) {
// store user details and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('currentUser', JSON.stringify(user));
}
});
}
logout() {
// remove user from local storage to log user out
localStorage.removeItem('currentUser');
}
}
您能显示您发出此身份验证请求的代码吗?@echonax在我的问题末尾添加。您能在apiUrl中记录console.log吗?我会用评论编辑你的问题。我的编辑打印的是什么?@echonax我正在检查给我一点时间,我必须构建它