我想部署一个用角度全堆栈制作的简单角度项目。
https://github.com/DaftMonk/generator-angular-fullstack
我试过了:
yo angular-fullstack test
grunt build
然后,在dist我有2个文件夹:server和public。
如何在linux服务器上部署它们?
永远/ node和nginx ??? 我想自己主持我的项目。
感谢
答案 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`以预览构建的应用