- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将在几周内完成我的 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.io或 spiderable (用于 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/
我在 Cloudflare 的域名服务器上有一个域名 example.com。该域指向我的专用服务器的 IP 地址,该服务器运行 CentOS/WHM/cPanel。该站点可访问 - 一切都很好。 我
我正在努力将 SSL 支持添加到我们现有的应用程序中,并已开始考虑向后兼容性。 与我读过的其他帖子不同的一个特殊情况是服务器可能不一定使用 SSL 代码更新。所以我将有一个 SSL 客户端连接到一个对
我有几个 https://*.rest-service.mydomain.com。随着服务数量的增加,我觉得管理 SSL 证书的成本很高。我为 *.mydomain.com 购买了通配符证书。 新添加
我的客户要求我在他的网站上做反向 ssl。但我是这个学期的新手。谁能帮我解决这个问题。 请描述或引用如何做。 最佳答案 查看 this wiki article . In the case of se
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 去年关闭。 Improve this
我连接到我的网络服务器上的存储库,但是当我尝试推送我的更改时,它显示:“错误 403:需要 ssl”,但在我的存储库设置中我已经激活了 ssl 选项。 有什么建议吗? 最佳答案 当您连接到存储库时,您
抱歉,如果这听起来像是转储问题,我已经阅读了很多关于 SSL 握手和 SSL 工作原理的文章和文档。我对一件事感到困惑,如果有人能澄清我就太好了。 我知道私钥要保密。但是我已经看到通过在请求中指定私钥
随着物联网越来越主流,越来越需要从硬件发送http请求。 一个主要问题是硬件微 Controller 无法发送 ssl 请求,但大多数服务器/网站/服务都在使用 ssl。 所以,问题是,有没有桥(一个
我有一个 ssl 页面,它还从非 ssl 站点下载头像。我能做些什么来隔离该内容,以便浏览器不会警告用户混合内容吗? 最佳答案 只是一个想法 - 或者: 尝试在头像网站上使用 ssl url,如有必要
我在 Digital Ocean droplet(使用 nginx)上设置了两个域。我已经在其中一个(domain1)中安装了一个 SSL 证书,并且那个证书一切正常。第二个域 (domain2) 不
我收到这个错误: Error frontend: 502 Bad gateway 99.110.244:443 2017/09/28 13:03:51 [error] 34080#34080: *10
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 6 年前。 Improve
我遇到了一个问题,我正在构建一个 nginx 反向代理以定向到不同 url 路径上的多个微服务。 该系统完全基于 docker,因此开发和生产使用相同的环境。这在安装 SSL 时给我带来了问题,因为
所以我知道要求 SSL 证书和接受之间的根本区别,一个意味着您必须拥有 SSL 证书,另一个意味着您不需要。 在某个网页的 IIS 管理器中,我有以下设置: 我遇到的问题是,当我设置需要 SSL 证书
我今天才发现 .app 域名需要 SSL 证书。我购买它是为了将 DNS 重定向到已经设置了 SSL 证书的站点,所以我的问题是是否可以设置它? 我正在使用 Google Domains,在将合成临时
堆栈 : react ,NGINX 1.14.0,GUnicorn,Django 2.2.8,Python 3.6.9 错误 : 在浏览器:当 React 调用 Django API(当然是在请求头中
假设我在计算机上编辑主机文件以使 google.com 指向我的 VPS 服务器 IP,并且服务器具有通过 Apache 或 Nginx 配置的 google.com 的虚拟主机/服务器 block
我有一个场景,我正在处理用于 URL 路由的 IIS 网站配置。我已添加网站并在服务器上导入所需的证书。 我的情况是(我有多个网站 URL 和两个 SSL 证书 - 如下所示): qatest1.ab
我知道服务器发送的证书无法伪造(仍然存在 MD5 冲突,但成本高昂),但是伪造客户端又如何呢?在中间人攻击中:我们不能告诉服务器我们是合法客户端并从该服务器获取数据并对其进行操作,然后使用合法客户端公
我已通读相关问题,但无法完全找到我要查找的内容。我设置了一个名为“domain.com”的域,并创建了两个子域“client.domain.com”和“client-intern.domain.com
我是一名优秀的程序员,十分优秀!