我使用的 Debian 服务器已经成功运行了 Apache、mod_wsgi 和一堆虚拟主机。
我安装了我的论坛应用程序(Django 的 OSQA)并按照OSQA 说明创建了一个指定ServerName为新子域的 Apache 配置文件。我还为应用程序创建了一个 .wsgi 文件,并指向WSGIScriptAlias它。然后我重新启动了Apache。
但是,当我转到新的子域时,收到 404 错误消息。
我错过了上面的一步吗?或者只是创建一个新的 Apache 配置文件sites-available足以告诉 Apache 一个新的子域?
如果还有其他问题,我该如何调试?配置文件中指定的ErrorLog和CustomLog都为空。apache2.conf,我猜是 Apache 范围的配置,指定ErrorLog /var/log/apache2/error.log,但这是另一个空白文件。
我是 Linux 新手,我正在尝试在运行 Ubuntu Server 的 VM 内设置一个小型测试服务器。我找到了 /var/www 文件夹,它应该是我存储 Apache 文档的文件夹,事实上,如果我访问我的 VM 的 IP,我会看到存储在那里的 index.html 页面。
我的问题是我无法写入该文件夹。
ls -l 返回:
d-w-r-xr-x 2 root root 4096 2011-12-28 16:08 ./
drwxr-xr-x 13 root root 4096 2011-12-28 17:02 ../
-rw-r--r-- 1 root root 177 2011-12-28 16:08 index.html
Run Code Online (Sandbox Code Playgroud)
我的用户叫gab.
处理此文件夹以允许自己在此处编辑和创建文件时,最好的做法是什么?我应该创建一个新组还是将自己设置为文件夹的所有者?
我刚刚将我的服务器升级到 Fedora 17,并将包含的一些配置文件合并.rpmnew到现有文件中。通过将以下内容保留在单独的日志文件中,我已成功地将我的 php 错误记录在php.ini:
log_errors = On
error_log = /var/log/php-errors.log
Run Code Online (Sandbox Code Playgroud)
/var/log/httpd/error_log尽管保留了上述设置,但我不确定为什么在升级后仍会记录错误。
还,
$ ls -l /var/log/php-errors.log
-rwxrwxr--. 1 apache myself 232 Dec 13 16:49 /var/log/php-errors.log
Run Code Online (Sandbox Code Playgroud)
表明 apache 确实拥有 php 错误日志文件。
什么可能导致 PHP 错误被记录到 apache 错误日志文件中?
我最近在我的电脑上安装了 Apache HTTP 服务器。我有两个问题:
提前致谢
通过 PHP Curl 连接到某个第三方服务会引发此错误:
CURL error: Received HTTP code 403 from proxy after CONNECT
Run Code Online (Sandbox Code Playgroud)
代理上的 Apache 错误日志抛出:
Connect to remote machine blocked returned by remote.service.com:59315
Run Code Online (Sandbox Code Playgroud)
我想知道如何让它发挥作用!
代理配置:
<VirtualHost *:8001>
ProxyRequests On
<Proxy *>
Order deny,allow
Deny from all
Allow from 10.
</Proxy>
ProxyVia Off
<IfModule mod_headers.c>
Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"NOI DSP COR NID CUR ADM DEV OUR BUS\""
</IfModule>
AllowCONNECT 443 1129 7934 8080 993
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
从这个日志中可以看出,允许使用域 IP:
[error] [client 10.234.9.46] proxy: Connect to remote machine blocked returned by
Run Code Online (Sandbox Code Playgroud) 我正在通过指令ProxyPass和ProxyPassReverse一些网址在 apache 中设置一个代理:
ProxyPass /mypath http://myotherserver.com
ProxyPassReverse /mypath http://myotherserver.com
Run Code Online (Sandbox Code Playgroud)
但是,myotherserver.com需要(基本)身份验证。如果我什么都不做,这个身份验证就会传递给最终的客户端。出于某种原因,我不希望这样,我想直接在我的 apache 配置中添加凭据。我怎样才能做到这一点 ?我试过:
ProxyPass /mypath http://user:pass@myotherserver.com
ProxyPassReverse /mypath http://user:pass@myotherserver.com
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。在此先感谢您的帮助。
我正在尝试使用文档根目录中的相对路径为文件添加别名,如下所示:
Alias /js/jquery-1.9.1.min.js lib/jquery-1.9.1/jquery-1.9.1.min.js
Run Code Online (Sandbox Code Playgroud)
它不起作用,但我在文档中找不到关于相对路径的任何内容。
是否支持相对路径?
我有一个我一直在开发的 php 脚本,它在循环中调用外部 api。它正在 Debian 上运行 LAMP 的 VPS 上进行测试。我今天早上注意到 api 没有响应我的脚本。当我打电话给供应商时,他们告诉我我的服务器在过去 10 个小时里每小时调用 api 1000 次。我假设一个 php 脚本(我前一天一直在工作并在我的 VPS 上测试)在其中一次执行过程中进入了一个无限循环,并且从未出现过(我一直在命令提示符下对其进行测试,并且不是通过网络。)我试图停止和启动 Apache,但 api 支持人员说呼叫仍然来自我的服务器地址。我怎样才能找到并停止这个过程?另外,Apache停止/启动是否有可能解决问题,
请原谅我没有正确使用我的本地测试环境。
编辑:我不知道进程名称,我需要根据行为发现名称(或 pid)。
我尝试启动和停止 Apache,我尝试停止 Apache 两次以确保我应该被停止
Mac-mini:~ jeud$ sudo apachectl start
Mac-mini:~ jeud$ sudo apachectl stop
Mac-mini:~ jeud$ sudo apachectl stop
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service
Run Code Online (Sandbox Code Playgroud)
但似乎我仍然可以使用http://localhost,http://127.0.0.1从网络浏览器访问 Apache Web 服务器,我仍然收到来自Server:Apache/2.4.9 (Unix) PHP/5.6.2
我试过 sudo lsof -i -P | grep 80
httpd 554 root 5u IPv6 0x8b96aa4ecd4e340b 0t0 TCP *:80 (LISTEN)
httpd 555 _www 5u IPv6 0x8b96aa4ecd4e340b 0t0 TCP *:80 (LISTEN)
httpd 566 _www 5u IPv6 0x8b96aa4ecd4e340b 0t0 TCP *:80 (LISTEN)
httpd 567 _www 5u IPv6 0x8b96aa4ecd4e340b …Run Code Online (Sandbox Code Playgroud) 所以我最近遇到了一个更新问题,我降级到 Windows 8。因为我需要做我的工作,我重新安装了我的 XAMPP 服务器以及 Acrylic DNS 代理。
不幸的是,亚克力不起作用,我想我可能错过了一些东西。
我的 AcrylicHosts 文件如下所示:
127.0.0.1 localhost
127.0.0.1 *.local
Run Code Online (Sandbox Code Playgroud)
Apache 配置正确,如果我将手动条目添加到hosts. 我关闭了防火墙并重新启动了 Acrylic,但这并没有改变任何东西。我已经刷新了 DNS 缓存。我已经确保以太网 DNS 设置为 127.0.0.1。我确实看到了一个关于实际上必须连接以太网电缆来“激活”它或其他东西的建议,但这不起作用 - 此外我在使用 Windows 8.1 时不必这样做。
我还能做些什么让亚克力工作?
php ×3
proxy ×3
alias ×1
api ×1
command-line ×1
curl ×1
debian ×1
dns ×1
documents ×1
hosts-file ×1
linux ×1
logging ×1
openssl ×1
osx-yosemite ×1
path ×1
permissions ×1
process ×1
upload ×1
windows-8 ×1
www ×1