我最近在我的客户端 Web 服务器上设置了一个子域。这是 vhost 设置:
Listen *:80
#primary domain
<VirtualHost *:80>
# rails public folder
DocumentRoot /u1/thisdomain.com/public
ServerName thisdomain.com
RailsEnv production
</VirtualHost>
#my subdomain
<VirtualHost *>
ServerName dev.thisdomain.com
DocumentRoot /u1/dev.thisdomain.com/public
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
进行配置测试时,我没有收到任何 apache 配置错误。我优雅地重新启动 apache。我在子域文档根中抛出了一个基本的 index.html。
现在,当我尝试访问子域时,我得到:
在 Chrome 中:
The webpage is not available. Error 101 (net::ERR_CONNECTION_RESET): Unknown error.
Run Code Online (Sandbox Code Playgroud)
在 Firefox 中:
The connection was reset
The connection to the server was reset while the page was loading.
*The site could be temporarily unavailable or too busy. Try again …Run Code Online (Sandbox Code Playgroud) 我最近被问到“是什么导致我们的 access.log 中出现这样的一行?”
59.56.109.181 - - [22/Feb/2010:16:03:35 -0800]“获取http://www.google.com/ HTTP/1.1" 200 295 "-" "Mozilla/5.0(兼容;MSIE 5.01 ; Win2000)"
我的直接回答是有人在探索一些有点狡猾的东西。
但:
这是在标准 LAMP 服务器 (Ubuntu) 上。
将进程调整为负的 nice 级别会增加进程的调度优先级。高优先级进程在低优先级进程之前运行。它们还可以在被抢占之前运行更长时间(它们获得更长的时间片)。
在 web 服务器上,使用负的 nice值运行httpd 进程应该减少上下文切换,从而提高整体性能。
有没有人试过这样做?它有什么不同?响应时间是否有所改善?响应时间标准偏差是增加还是减少?吞吐量是否有所提高?
编辑:
我不打算降低其他进程的优先级;而且我不打算修复过载的系统。我想知道负的 nice 级别是否会影响减少的上下文切换,如果是,这对响应时间和吞吐量有什么影响。
我在重定向流量时遇到了一个问题。基本上,我正在构建一个新的 Web 服务器并且它位于我域的另一个版本上,所以我想重定向流量而不是来自这个 IP。
问题是 Amazon 的 ELB 负载均衡器妨碍了,因此它替换了 REMOTE ip 地址。正常获取方式。研究发现我需要使用 %{X-Forward-For}i - 但它不起作用,我不知道我的位置和语法是否正确。我正在运行虚拟主机,所以我放入了 VirtualHost 标签......
<VirtualHost *:80>
ServerAdmin webmaster@foo.com
DocumentRoot /var/www/vhosts/foo/www.bar.com/htdocs/
ServerName www.bar.com
ErrorLog /var/www/vhosts/foo/www.bar.com/logs/error.log
CustomLog /var/www/vhosts/foo/www.bar.com/logs/access.log common
RewriteEngine On
RewriteCond %{X-Forwarded-For}i !^xxx\.xxx\.xxx\.xxx
RewriteRule ^.*$ http://www.bar.com/ [R,L]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
Obv xxx.xxx.xxx.xxx 是我的 IP。
这是错误的吗?
我在 apache 配置中配置了几个别名。我想为他们每个人设置一个环境变量。如何?
我有这个
/alias1 /mapped/to/a/path
/alias2 /mapped/to/a/path
/alias3 /mapped/to/a/path
/alias4 /mapped/to/a/path
/alias5 /mapped/to/a/path
Run Code Online (Sandbox Code Playgroud)
我想要的是为每个别名转发一个环境变量
就像是
/alias1 /mapped/to/a/path AND SetEnv VAR=a
/alias2 /mapped/to/a/path AND SetEnv VAR=b
/alias3 /mapped/to/a/path AND SetEnv VAR=c
/alias4 /mapped/to/a/path AND SetEnv VAR=d
/alias5 /mapped/to/a/path AND SetEnv VAR=e
Run Code Online (Sandbox Code Playgroud) (RHEL 6.2,Apache 2.2.1)
我正在尝试让 LAMP 站点在基本身份验证后运行以防止一般访问(它是仍在生产中的站点的测试环境)并且我遇到了一个问题,即多文件上传功能失败,因为它没有正确处理验证; 我可以在 Apache 日志中看到 POST 的身份验证被删除
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /index.php/tools/required/files/import?ocID=&searchInstance=file1331694544 HTTP/1.1" 200 8558
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.js?_=1331694608575 HTTP/1.1" 200 36807
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.handlers.js?_=1331694608601 HTTP/1.1" 200 6443
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.fileprogress.js?_=1331694608621 HTTP/1.1" 200 7529
10.77.34.123 - testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.queue.js?_=1331694608636 HTTP/1.1" 200 3479
10.77.34.123 - testuser [14/Mar/2012:14:10:14 +1100] "GET /concrete/flash/swfupload/swfupload.swf?preventswfcaching=1331694608650 HTTP/1.1" 200 12419
10.77.34.123 - - [14/Mar/2012:14:10:20 +1100] "POST /index.php/tools/required/files/importers/multiple HTTP/1.1" 401 …Run Code Online (Sandbox Code Playgroud) 我们公司使用自制的存储库和一个系统来配置它们,目前无法正常工作。这给我带来了问题,因为我无法添加存储库,因此无法在此 RHEL 5 机器上安装软件。
我可以登录到 red hat 并下载软件包,但是当您运行“yum install httpd”时,我找不到包含在软件包组中的所有内容的列表。任何人都可以提供这些软件包的列表吗?我会很感激。
By default, httpd contains the following configuration:
<IfModule mime_module>
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
#
TypesConfig conf/mime.types
...
</IfModule>
Run Code Online (Sandbox Code Playgroud)
This file contains a mapping from filename extensions to MIME types. Normally this is what I want, but I'd like to disable mapping for reverse proxies. How can I instruct mime_module to process /* but exclude /proxy/*?
mime_module contains the following line:
application/x-msdownload exe dll com …Run Code Online (Sandbox Code Playgroud) 我阅读了以前的所有答案,但我无法解决我的问题.. 我正在更改托管网站的服务器,并再次设置 apache.. 现在,在安装 php、fail2ban 等之后,我遇到了这个问题:
service httpd start
Avvio di httpd: Syntax error on line 292 of /etc/httpd/conf/httpd.conf: DocumentRoot must be a directory
[FALLITO]
Run Code Online (Sandbox Code Playgroud)
我已经禁用了 selinux 并重新启动了,但什么也没发生..
sestatus
SELinux status: disabled
Run Code Online (Sandbox Code Playgroud)
在其他答案中,我阅读了该帖子..但我不知道它是什么,但我看到它与我看到的其他非常不同..
ls -laZ /var/www/html/
drwxr-xr-x root root ? .
drwxr-xr-x root root ? ..
drwxr-xr-x root root ? form
Run Code Online (Sandbox Code Playgroud)
显然我的 httpd.conf 有
DocumentRoot "/var/www/html”
Run Code Online (Sandbox Code Playgroud)
我需要的根是
DocumentRoot "/var/www/html/form”
Run Code Online (Sandbox Code Playgroud)
现在使用默认根目录不起作用,但在编辑某些文件(我不记得是哪个)之前,它正确启动。我希望你能帮助我.. 我使用的是 cents 6.5 x64.. 非常感谢
安德烈亚
我接到了一项任务,要了解为什么 2 个运行 apache 2.2.3 的 CentOS Web 服务器在特定情况下会遇到非常高的负载。我检查的第一件事是/var/log/messages但后来我意识到 rsyslog 由于某种原因被关闭,所以我启动它并使用chkconfig. 然后,我想检查 apache 错误和访问日志,所以我浏览到/var/log/httpd但发现该文件夹为空。我检查/etc/httpd/conf/httpd.conf并看到了这些行:
ErrorLog logs/error_log
CustomLog logs/access_log combined
Run Code Online (Sandbox Code Playgroud)
据我所知,它指的是/var/log/httpd/但如前所述文件夹为空。在写这个问题时,我在服务器上寻找 httpd 版本并运行httpd -v,这就是我得到的响应:
[root@domU-IP httpd]# httpd -v
Server version: Apache/2.2.3
Server built: May 4 2011 06:51:15
Unable to open logs
Run Code Online (Sandbox Code Playgroud)
我的问题是:
/var/log/httpd?当前权限为:drwx------ 2 root root提前致谢
httpd ×10
apache-2.2 ×7
centos ×2
linux ×2
301-redirect ×1
alias ×1
documentroot ×1
http ×1
httpd.conf ×1
lamp ×1
log-files ×1
mime-type ×1
mod-rewrite ×1
nice ×1
redhat ×1
redirect ×1
selinux ×1
web-server ×1