Articles of httpd

设置mod_wsgi进程的默认数量

我有一个虚拟主机设置跟随configuration指令。 WSGIDaemonProcess myproject processes=2 threads=25 我想使用mod_wsgi将每个虚拟主机的进程数量设置为2,而不必在每个虚拟主机中设置它。 我如何更改默认值? 我也想能够在虚拟主机中覆盖这个默认值。 谢谢,克里斯

Apache httpd后面的Tomcat – 忽略RewriteRule?

我使用mod_proxy在Apache httpd背后有一个相当常见的tomcat应用服务器设置。 我的虚拟主机看起来像这样: <VirtualHost test.example.be:80> ServerName test.example.be RewriteEngine on RewriteRule ^/test/(.*)$ /$1 ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8181/test/ ProxyPassReverse / http://localhost:8181/test/ </VirtualHost> 在tomcat中部署的应用程序'test'使用一个上下文感知的框架(spring安全性),因此在redirect时预先加载上下文根。 所以,当它redirect到一个名为foo.html的页面时,它会redirect到bleh://test.example.com/test/foo.html。 这个URL不存在,并给出了404。由于我无法控制上下文根的前置,我想我可以解决这个使用mod_rewrite,通过删除上下文根。 不幸的是,这不起作用:就好像RewriteRule完全被忽略。 我注意到一件奇怪的事情:对bleh://test.example.com/test/foo.html的请求甚至不会被转发给tomcat:我从Apache httpd中得到熟悉的404页面。 如果我input任何其他伪造的url,如bleh://test.example.com/jfaklkfdjljfkl,我从tomcat获得404页面。 我希望bleh://test.example.com/test/foo.html可以调用bleh:// localhost:8181 / test / test / foo.html,但显然我在这里丢失了一些东西。 我远离这些事情的专家,所以任何帮助将不胜感激。 UPDATE 我在这个问题上取得了一些进展。 我被告知可以从mod_rewriteloggingdebugging输出,所以我做了这个。 以下是这些日志的相关部分: [12/Oct/2011:10:57:09 +0200] [test.example.be/sid#7b1bc8][rid#820520/initial] (2) […]

NFS卷文件权限

我有一个Redhat 6.0系统(启用了SELinux),在/ myvolume上挂载一个NFS卷。 命令ls -la /myvolume表示它拥有owner“nobody”和group“nobody”。 在这个系统上我有Apache作为“apache”用户和“apache”组运行。 Apache通过mod_wsgi运行一个python脚本。 该脚本创build一个临时目录(使用tempfile.mkdtemp),在其中创build一些文件,然后将整个目录移动到/ myvolume中。 脚本完成后,所创build的文件拥有所有者“nodody”和组“nobody”,权限掩码为“rwx ——”。 我已经validation了我自己的用户不能访问这些文件,除非我使用“sudo”,而Apache用户可以访问它们。 为什么发生这种情况? 与SELinux,Unix权限,NFS卷或nodoby用户有关吗? 为什么试图“chown”/ myvolume中的任何文件会导致“无效参数”错误?

通过httpd.conf从login服务器的Subdomain中删除WWW

我试图设置一个登台服务器作为我的生产服务器的子域运行,我遇到了一个小问题。 我的生产服务器托pipe在RackSpace虚拟机上。 我克隆这台机器用作我的登台服务器。 我还添加了Alogging来将子域地址引导到这个新的虚拟机。 我希望能够通过inputstaging.domain.com来访问这个登台服务器,但目前不起作用。 我find的解决方法是inputwww.staging.domain.com 。 请注意子域前面的额外www 。 我的目录结构是这样的,在我的项目目录中,我有一个public_html目录(显然存放可公开查看的文件)和一个private (其中容纳了更多的后端代码)。 我想在访问staging.domain.com时将Apache服务/var/www/staging.domain.com/public_html/index.php作为默认文件。 如上所述,我目前只能通过访问www.staging.domain.com获得我想要的www.staging.domain.com 。 当我访问www.staging.domain.com/staging.domain.com/public_html时,我被redirect到www.staging.domain.com/staging.domain.com/public_html 。 我的httpd.conf设置如下(我绝对不是这个文件的configuration专家): <VirtualHost *:80> # General Server Setup ServerAdmin [email protected] ServerName www.staging.domain.com ServerAlias staging.domain.com # Indexes + Directory Root DirectoryIndex index.php index.html DocumentRoot /var/www/staging.domain.com/public_html <Directory /var/www/staging.domain.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 我很确定,我之前提到的redirect是因为我在此文件中指定了DocumentRoot而发生的。 […]

工具来规范许多(100x)可怕的Apache httpd www.mysite.com.confconfiguration文件

我已经inheritance了一些服务器,这些服务器拥有许多多年来“有机”开发的虚拟主机。 不幸的是,他们是可怕的眼睛,如此糟糕,我不能看他们。 因此,我正在寻找一种工具,可以读取数百个www.mystupidsite.com.conf文件,并返回类似的工作版本,所有默认冗余和粗体文件都被删除。 我怀疑这可能是困难的,因为正确性将取决于其他模块加载,但考虑到有许多古老的阿帕奇商店,我只能希望。 编辑: 我注意到,webmin提供了一个web界面来pipe理httpd.conf文件,所以我将看看他们的perl模块如何处理parsing文件到一些规范的状态。

NFS在CentOS上的httpd上挂载了userdir

我在CentOS上使用httpd服务器(启用了SELinux)。 我想使用UserDir(public_html) 如果我在本地系统上创build用户,但是当我在NFS共享系统上给出path时,会出现404错误。 我正在使用这个指令: <Directory /nfs/*/*/public_html> 如果我尝试访问http:// domain /〜user在httpd的错误日志中,它显示/var/www/html/~user not found 。 不知何故,它不会path/nfs/students/user/public_html 。 这是什么解决scheme? 我已经设置了setsebool -P httpd_allow_nfs on的布尔值,并且nfs挂载了选项defaults,nosuid,nodev (我可以添加noexec)

两个testing站点之一只加载铬,而不是IE或FF(内部服务器错误)

我刚刚得到了一个中间人DV服务器。 这里是基本的设置: CentOS 5.5 x86_64(64位) Apache 2.2.3 MySQL 5.1.54 PHP 5.3.5 Perl 5.8.8 Ruby 1.8.5 Plesk Panel 10.4 YUM包pipe理 我已经添加了mod_pagespeed和suPHP,但就是这样。 在这个问题上。 两个testing网站之一只加载铬(和默认的Android浏览器),虽然不是在IE或FF(内部服务器错误)。 其他加载罚款在我testing的所有浏览器。 两者都在通过保护的目录。 访问在所有浏览器导致密码对话,但一旦input信息,一个给IE和FF内部服务器错误。 这里是我在httpd错误日志中看到的:(每当我重新启动httpd通过SSH时,相同的打印) [Fri Feb 24 19:40:51 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Fri Feb 24 19:40:52 2012] [warn] RSA server certificate CommonName (CN) `Parallels Panel' does NOT match server name!? […]

PHP不能在Fedora 15上运行

我已经遵循了在Fedora 15系统上安装php的精确教程 。 我安装了所有必要的软件包,没有错误。 但简单的phpinfo()testing页面将显示 – 它将显示一个空白页面。 当我尝试查看源代码时,我发现它以纯文本forms下载了我的.php文件,并将其加载到浏览器中。 所以我猜是因为某些原因PHP模块不加载在httpd中。 有没有人有任何想法,为什么? PS我真的希望SELinux这次与这个没有任何关系!

什么时候需要将Apache httpd与Apache Tomcat(mod_jk)集成?

Apache网站,推荐整合httpd和tomcat(mod_jk)。 第一个是静态内容,第二个是dynamic内容。 整个页面是dynamic的情况呢? 整合两台服务器是否有意义? 有什么好处?

'/ var / spool / cron'不是一个目录,救援。 当试图通过PHP的shell_exec与crontab工作

我正在创build一个Web应用程序。 部分function取决于用户可以启动/停止导入电子邮件的cronjob。 它不起作用。 只是为了确保我在正确的轨道上,作为一个初学者,我只是想从PHP的'crontab -l'工作,并打印到Web浏览器。 这是我怎么做(handle_email_cronjob.php): $output = shell_exec('crontab -l'); echo $output; 但我得到的只是一无所有。 (做shell_exec('ls -l');给我目录中的文件/目录列表) 猫error_log: '/var/spool/cron' is not a directory, bailing out. 那么,无论错误日志说什么,它都是一个目录。 ls -Z / var / spool: drwxr-xr-x. apache apache system_u:object_r:httpd_sys_rw_content_t:s0 cron SELinux已经启动,我不希望改变。 ls -Z / var / spool / cron: -rwxrwxrwx. apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 apache -rw——-. root root unconfined_u:object_r:cron_spool_t:s0 root 这是应该使用的Apache。 […]