【发布时间】:2021-09-07 18:12:32
【问题描述】:
我有一个问题,请一些人帮我解决这个问题 我如何在 Digital Ocean 上上传我的 MEAN 应用程序(网站应用程序)?
【问题讨论】:
标签: mongodb mean-stack digital-ocean mean
我有一个问题,请一些人帮我解决这个问题 我如何在 Digital Ocean 上上传我的 MEAN 应用程序(网站应用程序)?
【问题讨论】:
标签: mongodb mean-stack digital-ocean mean
您可以按照本文中列出的以下步骤将您的 MEAN 堆栈应用程序托管到 degital Ocean: How to Host a MEAN Stack App on Digital Ocean
ssh-keygen -t rsa
在我们开始之前,您应该拥有一个功能齐全的 Digital Ocean 帐户。
注册帐户非常简单。
这是注册过程的演练。
注册帐户后,转到仪表板的Droplet部分,然后单击Create Droplet按钮。
当您创建时选择您的操作系统和下一个 . 我们将在 20.04 堆栈上使用 MEAN 0.5.0。
然后通过选择区域并添加之前生成的SSH密钥完成液滴创建。
接下来的步骤:
执行以下命令为您的 Droplet 创建一个远程终端会话。
$ ssh -i <path-to-your-key-file> root@<your-droplet-ip>
您上传到 droplet 的代码现在使用以下命令检查 npm 和 node 是否安装在您的 droplet 上:
npm version
node version
apt install nginx
接下来,使用 /etc/nginx/sites-available/default 文件配置 Nginx。
server {
listen 80;
server_name <your-droplet-ip>;
location / {
proxy_pass http://<your-droplet-ip>: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 install
最后,执行以下命令以使用 PM2 启动您的应用程序。
$ pm2 start server.js
将您的浏览器指向 http://,您应该会看到应用程序的主页。
我认为这可以帮助您解决问题。
【讨论】: