如何在Digital Ocean上部署Ember应用程序?

时间:2017-05-16 16:15:43

标签: nginx ember.js deployment port digital-ocean

我在端口4200上运行的Ember应用程序在端口4500上使用Express API。我已将API上传到:

/var/www/my-api-domain.com/public_html/

我还编辑了nginx sites-available文件:

location /
{
    proxy_pass http://localhost:4500;
    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;
}

我通过SSH连接到服务器,将目录更改为我的API,然后运行node server,这有效!当我在浏览器中访问我的IP时,我看到我的API正常工作:

http://159.203.31.72

然后我在本地运行ember build -prod并将生成的dist文件夹的内容上传到:

/var/www/my-ember-domain.com/public_html/

我再次使用:

更新了nginx sites-available
location /ember
{
    proxy_pass http://localhost:4200;
    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;
}

现在怎样?通常,当我在本地运行该站点时,我会运行ember server,但dist中生成的文件看起来大不相同,我在服务器上没有安装ember cli。当我读到它时,这似乎不是正确的方法。

当我在浏览器中点击http://159.203.31.72/ember时,我会收到一个nginx 502 Bad Gateway。我如何服务我的Ember应用程序?

1 个答案:

答案 0 :(得分:1)

ember server启动了一个开发服务器,不应该在生产中使用。使用ember build --prod构建您的应用。之后,您将在dist/文件夹中找到您的资产。用nginx服务那些,你就完成了。在ember-cli文档中有一个示例nginx.confhttps://ember-cli.com/user-guide/#deploying-an-https-server-using-nginx-on-a-unixlinuxmacosx-machine

如果您需要设置更复杂的部署工作流程,则可以使用ember-cli-deploy