12

我想部署一个用角全栈制作的简单的角项目。

https://github.com/DaftMonk/generator-angular-fullstack

我试过了 :

yo angular-fullstack test

grunt build

然后,在 dist 我有 2 个文件夹:服务器和公共。

如何将它们部署在 linux 服务器上?

永远/节点和 nginx ???我想自己托管我的项目。

谢谢

4

4 回答 4

14

1.)安装 nginx

2.)代理将 nginx 转发到您的节点端口。请参阅Digital Oceans 操作方法

nginx.conf

 server {
    listen       80;
    server_name  localhost;

    location / {
                 proxy_pass http://localhost:9000;
                 proxy_http_version 1.1;
                 proxy_set_header Upgrade $http_upgrade;
                 proxy_set_header Connection 'upgrade';
                 proxy_set_header Host $host;
                 proxy_cache_bypass $http_upgrade;
    }
}

3.)使用正确变量在 dist 文件夹中使用 node启动 app.js :

$ export NODE_ENV=production; export PORT=9000; node dist/server/app.js

4.)浏览到步骤 2 中在 nginx 中配置的主机名。

如果你得到很多404,你很可能在 HTML5 模式下使用angular.js并且需要重新连接你的路由来提供静态 angular.js 内容。我在我的博客文章“与 Angular Fullstack 的持续集成”中描述了这一点以及如何解决您可能面临的许多其他错误。

于 2015-03-02T17:41:39.560 回答
6

您也可以尝试 pm2,它简单明了,具有许多有用的功能。

https://github.com/Unitech/pm2

// Start new node process
$ pm2 start dist/server/app.js

// list all process
$ pm2 list
于 2015-08-10T12:52:32.627 回答
0

此外,如果您在主机上运行 mongo db,则需要更改 /server/config/environment/production.js uri 以匹配 development.js,它应该可以工作。

使用 MongoLab,您可以达到以下效果:mongodb://user:pass@XXXXX.mongolab.com:XXXXX/yourdatabase

然后在你的 app 目录中运行grunt serve:dist命令。

这对我有用。

于 2015-11-18T15:58:39.473 回答
-5

安装generator-angular-fullstack:

npm install -g generator-angular-fullstack

创建一个新目录,然后cd进入它:

mkdir my-new-project && cd $_

运行yo angular-fullstack,可选地传递一个应用程序名称:

yo angular-fullstack [app-name]

运行grunt构建,grunt serve for preview, andgrunt serve:dist` 预览构建的应用程序

于 2015-02-27T05:54:46.313 回答