- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用Digital Ocean液滴(也许可以作为解决我的问题的有用信息)。
我的配置是这样的:
Fedora 22 [link]
Apache 2.4 [link]
PHP 5.6.11 [link]
MariaDB 10.0.20 [link]
phpMyAdmin 4.4.12 [link]
节点0.12.7 [link]
以上所有应用程序均处于默认的“安装后”状态。
当前PHP在端口80上运行,nodejs在端口3000上运行。所以我必须输入:mydomain.com
用于phpmydomain.com:3000
用于nodejs
我想做的是这样的:
如果输入someDomainForPhp.com/
,我将转到php的默认位置,即/var/www/html/
如果输入otherDomainforNode.com/
,则转到节点默认位置,即/root/
因此,据我了解,apache必须进行一些内部端口重新路由才能完成此任务。
我一直在遵循互联网上的许多指南来描述如何执行此操作,但是我认为这些指南适用于对该主题具有一些基本知识的人们。我对此非常陌生且“绿色”,并且对此感到挣扎。
如果有人愿意提供帮助,我可以使用以下信息:
要编辑哪些文件
他们在哪里
如何编辑它们
如果需要安装任何其他模块,它们的名称是什么
编辑03.08.2015
我用谷歌搜索并尝试了以下方法:
<VirtualHost 109.74.199.47:80> # server ip address or *
ServerAdmin davy.brion@thatextramile.be # any email address
ServerName thatextramile.be # domain name
ServerAlias www.thatextramile.be # any domain alias
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
</VirtualHost>
/etc/httpd/conf/httpd.conf
的最底部。许多人报告说此方法对他们有效,但是如果我尝试使用此方法,则在访问域时会得到
503 error
。因此,我用谷歌搜索了503错误,然后发现有人遇到了类似的问题,他声称他可以通过以下方式修改
Location
标签来使其正常工作:
<Location /path/of/my/project> # for me it would be /root/
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
/var/www/html/index.php
文件,没有代理,也没有端口更改。
127.0.0.1
,但这并没有改变任何内容。
chmod
设置有关的问题,这些设置位于php和nodejs的根目录中。在我看来,这似乎不是很合逻辑,但无论如何我还是尝试了一下,我将chmods(出于测试目的)更改为“允许所有”与两个应用程序相关的目录的配置。它根本没有帮助。
<VirtualHost 109.74.199.47:80> # server ip address or *
ServerAdmin davy.brion@thatextramile.be # any email address
ServerName thatextramile.be # domain name
ServerAlias www.thatextramile.be # any domain alias
DocumentRoot /var/www/html/
</VirtualHost>
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
最佳答案
前几句话的解释:
在声明<VirtualHost>
指令之前,您需要添加NameVirtualHost *
。代替*
,您可以精确定义要引用的域/ ip。 *
当然可以,但是它的安全性和速度较慢。
为了允许代理传递-您需要定义指令<Proxy>
,而定义的唯一问题是Allow from all
。该语法适用于apache 2.2,您使用的是apache 2.4,因此根据upgreading docs,应改为使用Require all granted
。
您的情况下的<Location>
标记应与开始时一样,只有一个斜杠<Location />
。原因是您正在not
通过额外的名称空间访问应用程序,而您是通过输入直接域名来访问它的。
如果要使用80
访问端口phpdomain.com
上的php文件,而使用3000
访问端口nodejsdomain.com
上的node.js服务器,则应not
创建2个虚拟主机。您只创建一个,以防万一您输入nodejsdomain.com
将打开端口3000。仅当您使用更多的node.js服务器或其他平台时,才需要第二个和更多的虚拟主机。由于创建它的事实,您最终陷入了无限循环。main
代理不起作用的原因是由于端口3000,默认情况下该端口在SELinux
上被阻止。因此,首先运行此命令semanage port -a -t http_port_t -p tcp 3000
。 (如果您在上述语法之前未以root类型sudo
登录)。
然后使用虚拟主机指令:
NameVirtualHost *
<VirtualHost *:80>
ServerName nodejsdomain.com
ProxyRequests off
<Proxy *>
Require all granted
</Proxy>
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
</VirtualHost>
关于php - 在Fedora上运行的Apache,PHP,Nodejs,根据所选域同时路由到php和nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31771753/
Fedora 21 带有丑陋的 Gnome 3,我安装了 XFCE 和 MATE,但我不知道如何将它们中的任何一个设置为默认的 X 窗口管理器。从 Gnome 3 注销后,我没有从已安装的窗口管理器中
我有软呢帽 25。我读了这篇文章 - http://docs.mitmproxy.org/en/stable/certinstall.html#certinstall , 但 fedora 的信息不存
安装 Fedora 19 桌面版后,我运行 Qt Example 的系统托盘。但我找不到系统托盘图标。 事件概览中没有通知区域。 请让我知道显示通知区域或托盘图标。 最佳答案 将鼠标快速移动到右下角应
我正在使用使用快捷方式的文本编辑器ctrl+alt+arrowup/arrowdown这是在 Fedora 20 中切换工作区的默认键。所以我需要更改快捷键以使其在文本编辑器中工作。我改变了快捷方式
当我尝试在新的 64 位 Fedora 28 安装上运行 64 位程序时出现此错误。 我尝试通过以下方式安装 ncurses 库: sudo yum install ncurses-libs sudo
我正在使用 GNOME 运行 Fedora 27 桌面版。我已尝试过网络上所有的说明,但没有找到任何可以让我设置与远程用户共享屏幕的内容。谁能帮我解决这个问题吗? 提前非常感谢您的回复。 这是迄今为止
我从 Atomic 官方网站下载了一个 qcow2 图像,但我对启动这个 qcow2 图像的步骤感到非常沮丧,而且谷歌没有提供有用的明确提示。 谁能给我一些关于如何启动 qcow2 虚拟机的明确提示?
我正在尝试使用“mpif90”在 Fedora 21 中编译一些代码。 首先我用'yum'安装openmpi: [root@localhost Inversion]# yum install open
我最近买了一个新硬盘,我想在上面安装 Fedora,但是电脑很旧,无法从 USB 启动,而且我无法使用 DVD。 我想使用我当前安装的 Fedora 在新硬盘上安装一个新副本。 我有 ISO。我正在使
虽然 Fedora 34 将在下月底左右才会正式发布,但针对更晚才会到来的 Fedora 35 目前已有一些变更提案被提交。其中,在众多的早期变化中值得注意的一点是在其操作系统发布信息中把操作系统从
Fedora 33 很有可能会成为 Fedora 有史以来最大的版本之一,最大不仅仅体现在新添加的重要功能,如Fedora 桌面版本将默认使用Btrfs 文件系统,在新增功能的数量方面,到目前为止,
DNF 和 RPM 作为包管理器有什么区别?一种与另一种的优势是什么,这些优势将适用于哪些情况? 最佳答案 这些工具协同工作。 DNF 处理依赖解决、在网络上查找文件、存储库管理等。 RPM 处理实际
我刚刚安装了 Fedora 23 的 Cinnamon spin 的新版本。尽管我喜欢 Nautilus/Nemo,但我想将 Thunar 设置为我的默认文件浏览器。我尝试在 /usr/share/a
我是 Linux 和 VirtualBox 的新手,但是我已经通过 Windows 7 上的 VirtualBox 设置了一台 guest Fedora 19 机器(32 位,因为我没有 VT-x 功
我刚刚安装了 Fedora 23 的 Cinnamon spin 的新版本。尽管我喜欢 Nautilus/Nemo,但我想将 Thunar 设置为我的默认文件浏览器。我尝试在 /usr/share/a
在目录 /lib/systemd/system 中,我创建了一个文件 XYZ.service。 运行 systemctl start XYZ 时,它不会返回。我必须按 Ctrl-C 才能发出命令。想知
我正在尝试在 64 位 Fedora 21 上运行 32 位可执行文件。 #include int main(){ printf ("Hello C\n"); return 1; }
我不知道如何在 fedora 24 中安装 lex 和 yacc。我在 ubuntu 16 中安装了它。使用以下命令: sudo apt-get update sudo apt-get install
Chromium 是否支持语音合成 API?我需要安装声音吗?如果是这样,我该怎么做?我正在使用 Fedora。我需要安装额外的软件包才能使用像视频这样的声音吗? 我试过这段代码: var msg =
dnf 命令会在您每次更新时下载整个软件包,而 yum 使用 deltarpm 并下载较少的数据。 怎么用dnf as yum来保存数据? 最佳答案 安装 deltarpm打包并添加 deltarpm
我是一名优秀的程序员,十分优秀!