Questions tagged «apache-http-server»

Apache是​​Apache HTTP服务器的一个广为人知的术语,Apache HTTP服务器是由Apache Software Foundation维护的非常常用的Web服务器软件。如果您的问题与其他Apache软件(例如Tomcat或log4j)有关,则http://stackoverflow.com/是一个更好的选择。

1
Apache无法在Mac OS X中加载DBI模块
我dbd:mysql通过安装cpan。我有以下简单的脚本: #!/usr/bin/perl -U use DBI; $ds = 'DBI:mysql:project:localhost'; $user = 'root'; $password = '123456'; $db = DBI->connect($ds, $user, $password) or die("Connection error\n"); $res = $db->prepare("SELECT * FROM root"); $res->execute(); while (my @row = $res->fetchrow_array()) { print $row[0]; } $res->finish(); $db->disconnect(); 当我从终端运行它时,一切都很好。但是,当我在浏览器中引用它时,会发生错误。Apache错误日志: [错误] [客户端127.0.0.1] install_driver(mysql)失败:无法为模块DBD加载'/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle': mysql:dlopen(/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle,1):库未加载:libmysqlclient.18.dylib [错误] [客户端127.0.0.1]引用自:/Library/Perl/5.12/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle [错误] [客户端127.0.0.1]原因:在/System/Library/Perl/5.12/darwin-thread-multi-2level/DynaLoader.pm第204行找不到图像。 我安装mod_perl并按照说明更改了httpd.conf: …

1
查找阻止php7.0-fpm启动的原因
我怎样才能弄清楚是什么阻碍了我起步php7.0-fpm。似乎没有任何显示阻止它启动的原因。 $ sudo service php7.0-fpm status ● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2017-08-11 16:52:04 EDT; 20h ago Main PID: 4171 (code=exited, status=78) Aug 11 16:52:04 foo.com systemd[1]: Starting The PHP 7.0 FastCGI Process Manager... …

1
通过命令行在apache2 / httpd中有多个指令?
我知道您可以使用以下语法在命令行中指定一个指令: httpd -c "DocumentRoot ." 但是,如果我还想指定其他选项怎么办?这可能吗? 我知道有-p,-d等静态开关,但是我真的很想启动一个没有任何conf文件的http守护程序,因此希望能够在命令本身中指定所有配置。 不要问我为什么喜欢这个,这超出了问题的范围。我只想通过复制和粘贴单个命令来启动一堆守护程序。我尝试过这里文档,但希望有一种更直接的方法。我也不想使用像lighttpd这样的其他二进制文件。我想要最新版本的Apache的行业标准功能。 编辑 -我试过了,它仍然尝试使用端口80: httpd -c "DocumentRoot ." -c 'Listen 7000'

0
使用OSX Server时是否正在重新生成Apache配置?
我最近在全新安装的Yosemite 10.10.3上安装了OSX Server,并希望自定义apache配置以更改服务器使用的PHP版本。我使用自制软件安装了php,并对apache配置文件进行了更改。直到第二天,我注意到apache已还原为使用Yosemite随附的默认版本的PHP时,此方法才能正常工作。 玩了一段时间后,我意识到/Library/Server/Web/Config/apache2/httpd_server_app.conf每次重新启动OSX Server应用程序时,都会重新生成我正在编辑的apache配置文件,并将其恢复为Yosemite附带的默认PHP版本。 httpd.confOSX Sever是否生成它的默认值httpd_server_app.conf? 更新: 我做了更多的挖掘。当我将LoadModule调用添加到时,httpd_server_app.conf我注释掉了旧版本,并在下一行将调用添加到了新版本。 #LoadModule php5_module libexec/apache2/libphp5.so LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so 重新启动服务器时,新生成的文件如下所示(对新模块的调用仍然保留,但对旧模块的调用未注释): LoadModule php5_module libexec/apache2/libphp5.so LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so Apache加载第一个模块,在这种情况下,它将是旧版本。如果我将新模块调用放在旧模块之上,那么这为我解决了问题。尽管这并不是理想的解决方案,但我仍然对其他LoadModule调用不加评论。 我想还有其他与编辑apache配置有关的方案,仅更改顺序无法解决问题。

4
问题托管服务器行为个人路由器
我最近购买了一个域名lucidcontraptions.com,并希望在家中托管该网站。我有一个D-LINK路由器,其中正确设置了我的个人虚拟服务器。我的应用服务器是apache2.2 服务器可以在以下设置下正常运行:外部ip:207.172.xx.xx公共端口:8888内部ip:192.168.xx.xx私有端口:80如果我转到207.172.xx.xx:8888 /服务器可以正常运行,并且我的apache页面无论是从Intranet内部还是外部都可以正常显示。由于我的DNS管理中不允许端口号,因此该设置对我而言不可行。 现在,当我将设置调整为以下内容时:外部ip:207.172.xx.xx公共端口:80内部ip:192.168.xx.xx私有端口:80(如果我转到207.172.xx.xx /,则服务器可以正常工作,而我apache页面显示出来没有任何问题,但仅从内部网内部可以看到,此页面不会向内部网外部的人显示。 另一方面,到lucidcontraptions.com的ssh效果很好。所以我猜22号端口可以正常工作.. 有人请!帮帮我!

0
如何在Apache或Nginx中阻止垃圾邮件接受语言
Stevie-Ray创建了一个简洁的Nginx推荐垃圾邮件配置文件,以阻止Google Analytics(分析)上已知的推荐人垃圾邮件。 https://github.com/Stevie-Ray/referrer-spam-blocker 当然,这是只猫捉老鼠的游戏,但绝对可以。 现在看来,垃圾邮件发送者正在使用Accept-Language标头向Google的概述页面发送垃圾邮件,其中包括: Secret.ɢoogle.com You are invited! Enter only with this ticket URL. Copy it. Vote for Trump! 和 o-o-8-o-o.com search shell is much better than google! 在Nginx或Apache中,是否有办法阻止与W3定义的Language Tag模式不匹配的Accept-Language标头?

2
在没有实际域的情况下模拟“子域”(在专用网络上)
我正在设置一台运行Apache2的服务器(Ubuntu Server 18.04),以满足我自己的个人测试和开发需求。我只能通过其本地IP(例如http://10.0.0.125)或它在本地网络上的名称(例如)访问它http://jeeves,但是现在还可以。 我想在此服务器上创建几个子域以保持无关站点的正确隔离,但是我不相信我可以使用实际的子域:http://sub.10.0.0.125由于IP不是域,因此无法工作,因此不能有子域,并且http://sub.jeeves不起作用,因为浏览器解释.jeeves为TLD而不是服务器名称。 所以我想出了另一个解决方案: <VirtualHost *:80> ServerName localhost DocumentRoot /var/www/html AliasMatch "^/~(.*)" "/var/www/$1" </VirtualHost> 现在,我可以创建目录/var/www/sub并通过进行访问http://jeeves/~sub/。 我认为这是一个很好的折衷方案...除外,因为它不是子域,并且不能像一个子域那样工作,所以类似的链接<a href="/foo/">将被引用http://jeeves/foo/而不是所希望的http://jeeves/~sub/foo/。我可以在每个站点的代码中进行处理,但这远非理想。 我的问题:是否有任何方法可以使Apache 出于所有意图和目的(尤其是链接)/~sub/将URL 的一部分视为子域?某种BaseDir指令,也许吗?我找不到一个,但这并不意味着它不存在。 在提出建议之前:为该服务器获取实际域有点超出我当前的需求范围;运行专用的DNS服务器似乎增加了太多的复杂性;并且在每个系统上更改主机文件都不是完全可缩放的(例如,在iPhone上也不是一件容易的事)。 我觉得我的解决方案如果可以解决的话,将是满足我的需求的理想选择。

1
Apache中的DF位与Tomcat通信
编辑(编辑用斜体表示): 在我的配置中,我将Apache 2.2 Http Server配置为使用mod_proky_jk的反向代理,该Apache Http Server 从Apache Tomcat 6应用程序服务器公开HTTP服务。两者是不同的MS Windows 2008 R2框。 我的问题是,通过GPRS或GSM连接的远程移动设备之间的通信有时会失败。 我发现了此消息,似乎很适合我的情况。 转储TCP消息时,我注意到Apache请求将DF位设置为“不分段”的数据包。在以太网帧的大小实际上是1514 MTU是1500。 有没有办法告诉Apache不使用DF位?也许将服务绑定到机器IP而不是所有接口? 新的问题是: 如果问题是由PPPoE添加字节引起的,则在两个Windows框中设置较低的MTU可以解决此问题吗? 进一步更新 我注意到有些移动设备通信失败,而其他没有失败。我分析了这两种设备之间的差异,并在“ 工具”>“数据配置 ” 中的WWAN设置中注意到,未工作的设备未选中 “ 启用自动配置 ” 。我检查了一下,然后热启动,连接成功。我取消选中它,连接仍然成功。该设备再也不会失败。 也许我发现了问题?此设置在通信级别有什么影响?


0
可用的打印机以选择框,lpstat,控制台,apache,php,html
我在运行基于Web的POS系统的局域网(无头Mac-Mini)中有一个Web服务器。我想为商店的普通员工提供一种可能性,以将热敏票据打印机从收银员1手动切换到收银员2,以防缺纸或其他打印问题,结果客户可以离开商店带有收据,而无需等待纸卷更改(最多5个月)或网络管理员到达(最多5个小时):-)当前解决方案是一个选择框,其生成方式如下(为便于更好地理解而进行了简化) : <?php $printers = exec("lpstat -a | cut -f1 -d ' ' >printer.txt"); $p = file('printer.txt'); $tmp = '<select name="printer" autocomplete="off">'; $tmp .= '<option> --- select printer --- </option>'; foreach($p AS $printer) $tmp .= '<option value="' . $printer . '">' . $printer . '</option>'; $tmp .= '</select>'; echo $tmp; …

1
我想在Apache错误日志中获取唯一条目的计数
查看Apache的日志文件时,会重复出现许多错误消息。我想找出哪些错误消息是最常见的,哪些是唯一的。 我想要一个简单的脚本,可以为我提供许多不同的独特行。 我知道Perl / Python / etc,但是我更喜欢使用内置工具,例如cut/ find/ grep/ sed等。 我可以使用获得一个简单的条目列表sed。下面显示了唯一的错误消息列表: $ sed -e "s/\[.*\]\([^:]*\)\(.*\)/\1/" error.sml.log | sort -u Apache configured -- resuming normal operations client denied by server configuration Digest File does not exist request failed 这可以计算出现的次数。它只是没有用,因为它没有显示计数与什么相关: $ sed -e "s/\[.*\]\([^:]*\)\(.*\)/\1/" error.sml.log | sort -u | xargs -I{} grep …

0
我们可以做ProxyTunnel并重定向到其他端口吗?
从互联网上了解到我们可以通过HTTP隧道SSH [reference1] [reference2] 一旦安装了Apache服务器 <VirtualHost _default_:80> ProxyRequests on ProxyVia block AllowCONNECT 22 <Proxy *> # Deny all proxying by default ... Require all denied </Proxy> <Proxy 127.0.0.1> # Now allow proxying through localhost only Require all granted </Proxy> </VirtualHost> 在客户端,我们只需要像下面这样一些额外的配置 host home80 HostName myserver.com ProxyCommand proxytunnel -q -p myserver.com:80 -d …

1
同时在Windows Server和IIS + PHP上安装PHP + Apache?
我正在为一个客户租用一台运行Windows Server 2008的专用服务器(我几乎可以肯定),并且有一个他们认识的人来管理服务器。我们已经建立了一个以WordPress MU和Magento内置的新站点,当我无法访问服务器配置时,很难在IIS上安装它。 我们已经要求管理员在服务器上同时安装Apache,首先在其他端口上运行,直到我们确认一切正常为止。事实是,他说过,PHP只能安装用于IIS或Apache,不能同时安装两者。这是正确的吗?


1
如何在单个服务器上的多个网站上逐步升级PHP?
我在一台Linux服务器上托管了一组基于PHP的网站,我需要升级PHP。但是,由于一些网站是QA /阶段,其他网站是生产,我需要逐步完成。 也就是说,我希望质量保证站点能够先行,这样我就可以检查升级PHP是否会破坏任何内容,然后再进行生产。最好的方法是什么? 这些站点都通过Apache提供,并拥有自己的vhost文件。 我想我可以(以某种方式)在特定点安装新版本的PHP并通过配置(Apache?vhost?),指定一个站点使用这个版本的PHP(而不是 /usr/bin/php )。 有问题的PHP版本相当陈旧:此时我正在从PHP 5.3升级到5.4。虽然(显然)我很快就需要达到5.6。所以我正在经历一个可以重复使用的过程。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.