如何设置我的 VPS Webmin/Virtualmin 服务器以在托管网站中显示来自 MongoDB 的数据?

How do I set my VPS Webmin/Virtualmin server to show data from MongoDB in the hosted website?

这是我的第一个问题,希望我做对了。所以:

我开发了一个 MERN 网站,在该网站上我与 MongoDB 数据库以及 Amazon S3 完美连接。

我目前正在尝试使用 Virtualmin 和 Webmin 在 Hostinger VPS 上托管它。由于 FTP 的工作,数据已经存在,因此网站设计显示但缺少 mongoDB 数据。

到目前为止:

所以我的问题是:通过服务器将数据传送到网站的以下步骤是什么?

我是新手,我到处搜索了好几天都没有成功,并且在这件事上失去了托管支持...

谢谢!

默认情况下,Virtualmin 安装 LAMP/LEMP 堆栈。不支持 MERN/MEAN 或基于节点 js 的应用程序。您必须通过终端通过 ssh 手动配置您的服务器。

按照说明操作。

Apache NodeJS installation

基于节点的应用程序不支持 GUI。但您可以通过 Virtualmin 和 Webmin 为您的应用程序管理其他服务,如邮件、DNS、防火墙和 SSL 等。

万一它能帮助我成功设置服务器的任何人,这需要做很多工作。这是我的配置:

  • 我设置了Nginx,监听前端的https请求,发给后端。配置文件名为“default”,位于 sites-available 文件夹中,内容如下:
server {
  listen  80;
  listen 443 ssl;

  root /the/frontend/root/folder;
  server_name _;
  
  ssl on;
  ssl_certificate /the/ssl/.crt/file;
  ssl_certificate_key /the/ssl/.key/file;

  # react app & front-end files
  location / {
    try_files $uri /index.html;
  }

  # node api reverse proxy
  location /api/ {
    proxy_pass http://localhost:portlistenedbybackend/api/;
  }
}

起初我放弃了 Webmin 和 Virtualmin,因为我所能找到的(包括支持)是通过控制台设置服务器的教程。所以我一点一点地设置它。然后,最后,我从支持那里得到了一个教程来从 Webmin 设置服务器。但直到今天,我还不能说这是否对结构产生了影响。但至少它是干净的。

  • 最后但同样重要的是,我发现一些非常有用的控制台命令:

systemctl status theserviceyouwanttosee

systemctl start theserviceyouwanttostart

systemctl stop theserviceyouwanttostop

systemctl restart theserviceyouwanttorestart

服务示例:nginx、mongod...

测试 Nginx 是否设置正确:sudo nginx -t

修改后重新加载 nginx 配置文件:sudo nginx -s reload

查看 nginx 记录的最后错误:sudo tail -f /var/log/nginx/error.log

保存当前的 pm2 设置:pm2 save

后端执行日志:sudo pm2 logs

识别仍在 运行 mongo 的进程(如果 mongod 无法正确重启,则很有用):pgrep mongo

终止 mongo 进程以便能够重新开始:kill <process>

显示服务器使用的所有服务:sudo systemctl

查看所有正在执行的进程和 CPU 的统计信息等:top

尽管我在这个主题上花了几周时间,但我对所有这些仍然是新手,所以这个描述很可能是可以改进的。不要犹豫提出任何改进建议、错误或提出问题,我会尽力回答。

干杯!