如何在 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>
我需要启用什么吗?我从配置菜单中启用了ProxyPass
和ProxyPassReverse
。任何帮助,将不胜感激。谢谢。
注意请参考以下截图:
【问题讨论】:
您尝试访问的网址是什么以及您在日志中遇到什么错误 这是我试图访问的 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