gpt4 book ai didi

ssl - 为什么使用 NGINX 或如何正确部署 Meteor 应用程序?

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:45 25 4
gpt4 key购买 nike

我将在几周内完成我的 Meteor 应用程序。所以我将面临的问题 - 如何让其他人可以使用我的应用程序。

首先我在Digital Ocean上买了一个droplet。并开始阅读有关将 meteor 应用程序部署到生产服务器的方法。

我找到了 2 种完全不同的方法!

第一个非常简单(所以我真的很喜欢它)。这是 link .我必须执行几个步骤——使用 Ubuntu 14.04 创建一个 droplet,然后通过 ssh 连接到这个 droplet,然后安装并运行 mup。之后任何人都可以访问我的应用程序。我担心没有 ssl 支持(我的项目是电子商务,所以我真的需要 https 连接),但后来我在 mup 文档中找到了一篇短文 How to set up SSL with Mup .所以乍一看一切都很完美。

但后来我找到了另一种部署 meteor 应用程序的方法。这是 link .它要复杂得多。首先,我需要在我的 droplet 上安装 node 和 mongo。然后安装配置nginx。然后在许多步骤之后是 Meteor 安装。作者没有解释为什么人们需要以这种方式部署应用程序,并假设这对每个人来说都是显而易见的。他的解释是“问题是通过公共(public)端口(80)运行像 Meteor 这样的应用程序是不明智的”。

我承认我对这些问题没有经验和知识。我可以确切地说的一件事是,我需要一种真正正确的方法来部署电子商务 meteor 应用程序。这样做没关系我不会睡很多小时。

那么问题来了:哪一种方式是正确的?并且(这很重要)为什么?

安全性和性能对于这个项目都很重要。我也将使用 prerender.iospiderable (用于 seo 目的)和 fast render ,如果它会影响你的答案。非常感谢你们的回答!

最佳答案

您可以通过不同的机制在服务器上部署您的 Meteor 应用程序。有很多方法可以做同样的事情。正如你所说,你也找到了两种方法来做到这一点。因此,在第一个链接中,您在成功部署时使用 Meteor up 来部署您的应用程序。在第二种方法中,您需要先登录到服务器,然后创建用户,然后再安装服务器机器所需的一切,然后您需要设置 Nginx。

所以我猜你的问题与“Nginx”有关。而你想知道

1)Why we need to use Nginx

2)Which one is the better approach

所以第一个问题的答案如下:-

Nginx(发音为“engine x”)是一个用于多种用途的 Web 服务器,主要用于代理传递。意味着使用 nginx,您可以将您的请求从一个 url 重定向到另一个 url,并且实际 url 从 UI 中隐藏(出于安全目的和重定向)。就像在 meteor 中一样,您的应用程序默认在 3000 上运行,因此一种方法是您可以打开 3000 端口并在该端口上运行您的应用程序。但是通过 nginx 你可以在 80 端口上运行你的应用程序,当用户点击任何事件时,你可以配置你想要发送请求的地址。就像您可以将它们发送到 3000 端口一样。所以现在用户实际上不知道你的请求在哪里,因为你向他们展示了 80 端口,但实际上你的请求是转到 3000 端口。所以这是使用 nginx 的一个优势,还有很多。

因此,对于 nginx 的配置,如果您使用的是 ubuntu,则只需要安装 nginx,而不是通过简单的命令:

sudo apt-get install nginx

然后在以下目录下的nginx配置文件中设置:-

/etc/nginx/sites-enabled/default

只需打开此文件并在此处设置您的配置,例如:-

server {

listen 80;
server_name localhost;

root /home/parveen/meteor/app;
location / {
index /index.html;

}

location /api {
proxy_pass http://localhost:3000;
}
}

通过这种方式,您可以根据需要配置 nginx 设置,请阅读 nginx 文档了解详细信息。

之后,您需要使用您想要使用的forever 或nohup 启动您的服务器,这样您的服务器就不会在您退出服务器登录时停止。

结论:-

在第二种方法中,您需要通过 ssh 登录到您的服务器自行安装所有内容,而不是配置 nginx,然后运行您的服务器。如果您再次进行任何更改,则需要将更改更新到服务器,然后停止 meteor 应用程序,然后重新启动它。 但这是更安全的方法,您可以做您想做的事。

在第一种方法中,他们使用 mup (Meteor up) 为您完成许多工作。您只需要做一些配置,您可以使用 Docker 或在您共享的博客(液滴)链接中定义,只需要运行 meteor up 命令,这将首先为您的应用程序创建一个包,而不是在第一种方法中运行它,如果您所做的任何更改都不需要再次登录到您的服务器更新更改,您需要做的只是再次运行相同的命令,这将创建包含更新的新包并运行您的项目。但我不认为那样更安全。

所以这取决于您的要求和您想要使用的选择。

如果您有任何问题,我们欢迎您。

希望这会有所帮助!

谢谢

关于ssl - 为什么使用 NGINX 或如何正确部署 Meteor 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39501425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com