如何在 openSUSE 上使用 NGINX 或 Apache2 将我的端口 80 重新路由到 localhost:3000 以便我可以运行我的 Node.js 应用程序

Posted

技术标签:

【中文标题】如何在 openSUSE 上使用 NGINX 或 Apache2 将我的端口 80 重新路由到 localhost:3000 以便我可以运行我的 Node.js 应用程序【英文标题】:How do I use NGINX or Apache2 on openSUSE to re-route my port 80 to localhost:3000 so I can run my Node.js app 【发布时间】:2018-12-15 03:58:17 【问题描述】:

如问题陈述所述,我正在运行 openSUSE (leap 42.3)。我有一个在localhost:3000 上运行的节点应用程序,我想发布它(让我的网络之外的人可以使用它)。我已经有一个域,目前,这些文件由 apache2 在端口 80 上提供服务。我在网上发现了大量类似的问题和解决方案,但没有一个是针对我的(我认为这是因为操作系统)。谁能给我一步一步解决我必须做的事情?

我找到的第一个解决方案告诉我更改配置文件,这就是我现在所拥有的:

<VirtualHost *:80>
   ServerName test.mytestsitebyrichard.com
   ServerAlias *.test.mytestsitebyrichard.com
   DocumentRoot /srv/www/htdocs
  #ProxyRequests on <--currently commented but this is what online tutorials told me to do. However, it is crashing the apache2
  #ProxyPass /cs/ http://localhost:3000/
</VirtualHost>

我需要启用什么吗?我从配置菜单中启用了ProxyPassProxyPassReverse。任何帮助,将不胜感激。谢谢。

注意请参考以下截图:

【问题讨论】:

您尝试访问的网址是什么以及您在日志中遇到什么错误 这是我试图访问的 URL(它在我提供的代码 sn-p 上的服务器名称下列出):test.mytestsitebyrichard.com。当然不是真的。只是试图保持匿名。我得到的主要错误是每当我尝试重新启动它时我的 apache 崩溃的巨大日志。 部署怎么样。所以你的意思是告诉我,当你开发一些东西时,你从来没有遇到过部署问题? 【参考方案1】:

您可以在 nginx 中使用反向代理实现此目的。

在您的/etc/nginx/sites-enabled/ 目录中添加一个具有以下配置的新配置文件(例如myapp.conf):

server 
    listen 80;
    server_name yoururl.com;

    location / 
        proxy_pass http://localhost: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;
       

【讨论】:

以上是关于如何在 openSUSE 上使用 NGINX 或 Apache2 将我的端口 80 重新路由到 localhost:3000 以便我可以运行我的 Node.js 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OpenSuSE 11.2 上安装 Informix ClientSDK

如何在opensuse上使用hhvm?

在 opensuse 13.2 上更新单声道

如何在openSUSE42.1下编译安装PHP7

如何在 openSUSE Tumbleweed 上安装 Aptana 3?

在 openSUSE 上启动时运行脚本