如何部署yeoman angular-fullstack项目?

时间:2015-02-26 20:08:05

标签: angularjs node.js nginx yeoman yo

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

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

我试过了:

yo angular-fullstack test

grunt build

然后,在dist我有2个文件夹:server和public。

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

永远/ node和nginx ??? 我想自己主持我的项目。

感谢

4 个答案:

答案 0 :(得分:14)

1。)安装nginx

2。)代理转发nginx 到您的节点端口。请参阅Digital Oceans How-To

<强> 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文件夹中的节点启动app.js

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

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

如果你得到很多 404 ,你最有可能在HTML5模式下使用 angular.js ,并且需要重新连线你的路线以服务静态angular.js内容。我在博客文章中描述了这个以及如何解决许多其他错误:&#34; Continous Integration with Angular Fullstack&#34;。

答案 1 :(得分:6)

您也可以尝试使用pm2,它简单易用,并附带许多有用的功能。

https://github.com/Unitech/pm2

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

// list all process
$ pm2 list

答案 2 :(得分:0)

此外,如果您正在运行带有主机的mongo数据库,则需要更改/server/config/environment/production.js uri以匹配development.js,它应该可以正常工作。

使用MongoLab,您可以获得以下效果: mongodb的://用户:pass@XXXXX.mongolab.com:XXXXX / yourdatabase

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

这对我有用。

答案 3 :(得分:-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, and grunt serve:dist`以预览构建的应用