我想部署一个用角全栈制作的简单的角项目。
https://github.com/DaftMonk/generator-angular-fullstack
我试过了 :
yo angular-fullstack test
grunt build
然后,在 dist 我有 2 个文件夹:服务器和公共。
如何将它们部署在 linux 服务器上?
永远/节点和 nginx ???我想自己托管我的项目。
谢谢
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 的持续集成”中描述了这一点以及如何解决您可能面临的许多其他错误。
您也可以尝试 pm2,它简单明了,具有许多有用的功能。
https://github.com/Unitech/pm2
// Start new node process
$ pm2 start dist/server/app.js
// list all process
$ pm2 list
此外,如果您在主机上运行 mongo db,则需要更改 /server/config/environment/production.js uri 以匹配 development.js,它应该可以工作。
使用 MongoLab,您可以达到以下效果:mongodb://user:pass@XXXXX.mongolab.com:XXXXX/yourdatabase
然后在你的 app 目录中运行grunt serve:dist命令。
这对我有用。
安装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` 预览构建的应用程序