我如何在 Digital Ocean 上上传我的 MEAN 应用程序(网站应用程序)?

Posted

技术标签:

【中文标题】我如何在 Digital Ocean 上上传我的 MEAN 应用程序(网站应用程序)?【英文标题】:How i upload my MEAN App (Website Application) on Digital Ocean? 【发布时间】:2021-09-07 18:12:32 【问题描述】:

我有一个问题,请一些人帮我解决这个问题

【问题讨论】:

【参考方案1】:

您可以按照本文中列出的以下步骤将您的 MEAN 堆栈应用程序托管到 degital Ocean: How to Host a MEAN Stack App on Digital Ocean

创建 SSH 密钥:

ssh-keygen -t rsa

注册您的帐户:

在我们开始之前,您应该拥有一个功能齐全的 Digital Ocean 帐户。

注册帐户非常简单。

这是注册过程的演练。

    添加您的个人详细信息以及您的电子邮件地址。 使用您在第一步中提供的电子邮件地址发送的电子邮件验证您的帐户。 添加您的信用卡详细信息。

创建你的 Droplet:

注册帐户后,转到仪表板的Droplet部分,然后单击Create Droplet按钮。

当您创建时选择您的操作系统和下一个 . 我们将在 20.04 堆栈上使用 MEAN 0.5.0。

然后通过选择区域添加之前生成的SSH密钥完成液滴创建。

接下来的步骤:

登录到您的 Droplet:

执行以下命令为您的 Droplet 创建一个远程终端会话。

$ ssh -i <path-to-your-key-file> root@<your-droplet-ip>

您上传到 droplet 的代码现在使用以下命令检查 npm 和 node 是否安装在您的 droplet 上:

npm version
node version

安装和配置 nginx

apt install nginx

接下来,使用 /etc/nginx/sites-available/default 文件配置 Nginx。

server 
    listen 80;

server_name &lt;your-droplet-ip&gt;;

location / 
    proxy_pass http://&lt;your-droplet-ip&gt;:3000;
    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;



执行 sudo service nginx restart命令重启Nginx服务

将您的浏览器指向 http://,您将再次看到示例应用程序的欢迎页面。

只指定IP地址而不需要添加端口3000表明Nginx设置正确。

换句话说,Web 浏览器默认将请求转发到端口 80,并且由于我们在端口 80 上运行 Nginx 已准备好将请求转发到 Node 应用程序,因此一切正常。

让您的应用程序保持活跃:

PM2 是一个 Node 进程管理器,它允许您在后台将应用程序作为服务运行,该服务在出现故障时会重新启动。

部署您的应用:

1- 在 /opt/mean 处克隆存储库

$ git clone your-repo-url "mean"

2- 移动到项目根目录。

$ cd /opt/mean
安装 NPM 模块。
$ npm install

最后,执行以下命令以使用 PM2 启动您的应用程序。

$ pm2 start server.js

将您的浏览器指向 http://,您应该会看到应用程序的主页。

我认为这可以帮助您解决问题。

【讨论】:

太好了,让我在答案中添加详细信息 非常感谢您的回复 亲爱的 Rassakar 但我已经查看了此链接,但它无法帮助我是否有其他方式或参考您有

以上是关于我如何在 Digital Ocean 上上传我的 MEAN 应用程序(网站应用程序)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Digital Ocean 中设置环境变量?

如何通过Rails控制台在Digital Ocean上写入权限来执行Ruby脚本?

markdown 更改文件上传的用户权限 - Digital Ocean Wordpress

我无法在Digital Ocean上进行远程部署

使用 Charles 调试在 Digital Ocean Droplet 上运行的 webhook

当用户从托管在 Digital Ocean 上的 Web 应用程序将图像上传到 AWS S3 时,是出站还是入站带宽传输?