我有一个专门的服务器,运行10个用户的Ubuntu 10.04。 几周前,我为每个用户configuration了Apache别名,每个人都有一个www /在他们自己的/ home /里面,我指出一个子域名到每个www / Alias /foo /home/foo/www/ <Directory /home/foo/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> 它适用于正常的网站,但是当我想用PHP的一些shell_exec我有一些权利问题。 Apache没有足够的权利在文件夹中写入。 我试图添加www数据组到www /&授予我的用户www数据权限,但它不工作… 这是一个ls -a命令的结果 drwxr-xr-x 8 foo www-data 4096 2012-07-24 08:44 www/ 任何线索解决这个问题?
我有一个mod_dav_svn apache webserver服务svn的一棵大树。 我需要移动一个子树到一个新的服务器(而不是svn)。 有没有办法使用某种重写来redirect所有的子树,以便访问旧URL的用户将被redirect到新的URL? 例如我的树是这样的 folder a file1.html file2.html b file3.html file4.html 我目前可以访问这些,由mod_dav_svn在服务 http://svn.server/svn/folder/a/ http://svn.server/svn/folder/a/file1.html http://svn.server/svn/folder/a/file2.html http://svn.server/svn/folder/b/ http://svn.server/svn/folder/b/file3.html http://svn.server/svn/folder/b/file4.html 我想复制b到其他服务器,以便这些文件可以在新的URL访问。 例如。 http://new.server/someplace/b/ http://new.server/someplace/b/file3.html http://new.server/someplace/b/file4.html 我想从旧地方redirect到新的地方 http://svn.server/svn/folder/b/ -> http://new.server/someplace/b/ http://svn.server/svn/folder/b/file3.html -> http://new.server/someplace/b/file3.html http://svn.server/svn/folder/b/file4.html -> http://new.server/someplace/b/file4.html 问题是,mod_dav_svn控制svn.server所有/svn有没有办法configurationapache或mod_dav_svn来做这个旧的服务器上的子文件夹的redirect?
背景 我们只是将我们的网站迁移到新的服务器上。 旧的和新的服务器都运行/运行CentOS 5.5和Apache 1.3.33。 但是,迁移后,我们无法从我们网站上托pipe的Microsoft Office系列产品下载任何文件。 虽然FTP传输成功,但HTTP请求失败。 以下是我在Firebug中看到的消息: 400 No Host matches server name dairymgt.info 尝试解决scheme 我和客户服务人员交谈过,他们build议我将相应的MIMEtypes添加到.htaccess文件中。 我继续前进,并将以下内容(如此处所示 )添加到存在于我们网站根目录的.htaccess文件中: AddType application/vnd.ms-word.document.macroEnabled.12 docm AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx AddType application/vnd.ms-powerpoint.template.macroEnabled.12 potm AddType application/vnd.openxmlformats-officedocument.presentationml.template potx AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 […]
Apache失败,Monit没有按预期重启。 monit日志中的错误是: Error opening Monit id file '/root/.monit.id' for writing-Cannot allocate memory 问题是Apache由于内存不足而宕机,所以……在这种情况下,没有什么可做的事情吗? 内存不足导致进程和监视进程的事件都被中断。 任何人都知道在Monit工作的任何策略?
<VirtualHost *:82> SSLEngine on SSLCertificateFile /etc/ssl/certs/cert.pem DocumentRoot "/var/www/site" <Directory "/var/www/site"> allow from all Options -Indexes </Directory> </VirtualHost> 这是我的虚拟主机configuration。 它在端口82上工作。 我的问题是,当我试图得到这个页面与http返回错误页面,如: Bad Request Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please. Hint: https://localhost:82/ […]
考虑这个环境: $ cat .htaccess AddType application/x-httpd-php .php .html SetEnv Foo Bar $ cat test.php <?php echo "Hello: "; echo $_SERVER['Foo']; echo $_ENV['Foo']; echo getenv('Foo'); ?> $ cat test.html <?php echo "Hello: "; echo $_SERVER['Foo']; echo $_ENV['Foo']; echo getenv('Foo'); ?> 这是test.php的输出: Hello BarBarBar 这是test.html的输出: Hello 为什么会这样? 我该如何解决? 这里是phpinfo.php : http : //pastebin.com/rgq7up61 这里是phpinfo.html : http : […]
我的设置是: Nginx(80)作为透明代理 Apache(81)作为后端Web服务器 服务器上每个域的path如下所示: /var/www/$username/data/www/$domainname 当然要访问您需要使用每个网站的域名的文件。 但是我想要一种使用像这样的URL访问所有域的方法: http://dm.some.com/clientdomain.com 我怎样才能做到这一点? 这个URL将被用来访问静态文件,所以我认为最好使用Nginx。
以下https://serverfault.com/questions/418735/unbelievable-issue-a-single-apache-process-takes-4-gb-of-memory我作为一个新的问题发布,因为我能够确定它的事实当连接的客户端是Googlebot时发生。 通过“它”,我的意思是一个单一的Apache进程吃5千兆内存?! 有没有人有一个什么可能是这个原因的想法? 非常感谢您的帮助! 我发现了另一个问题完全相同的问题,但没有答案: https : //serverfault.com/questions/161478/apache-process-consuming-all-memory-on-the-server 我们的环境使用PHP和postgresql: # httpd -V Server version: Apache/2.2.3 Server built: Jun 6 2012 10:00:42 Server's Module Magic Number: 20051115:3 Server loaded: APR 1.2.7, APR-Util 1.2.7 Compiled using: APR 1.2.7, APR-Util 1.2.7 Architecture: 64-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with…. -D APACHE_MPM_DIR="server/mpm/prefork" […]
这是一个有争议的问题,因为很多人可能都想马上推荐一些简单的东西,比如:把桌子分开! 将读/写分解为主/从configuration! 放大服务器RAM! 等等….让我先解释一下这个问题: 我有一个有点强大的服务器:8GHz的,160GB的存储空间,8GB的RAM(16GB的灵活内存),RAID 10,16GB的Flexi-SSD。 运行mySQL,PHP,Apache,Debian。 我目前的数据库包含大约16个表,其中特别包含1.7GB的信息,2300万行(索引)。 我运行的服务需要每天进行,有时每小时扫描一次我通过第三方收到的数据,并且每分钟产生大约100行到最多5000行(很less)的数据。 数据是通过抓取工具从API中获取的,这些抓取工具是自动运行的,计划的,有时是临时的,所以它们对于主机来说是重要的。 当人们使用这个网站的时候,会有刷新的查询可以显示他们最新的分析数据,所以当很多人login时,这个数据非常繁重(我使用慢速查询并试图减less索引我可以在哪里)。 我从数据库中快速生成这些分析数据(最长24小时),可以为每个用户总结多达500万条logging。 我不认为预渲染这些查询是有意义的,因为我必须考虑所有的切片/过滤,以及在预先呈现的HTML文件….不是吗? 或者人们这样做? 现在,有时候,我在手机上收到警告,只有login到服务器才能发现mySQL已closures。 我会做一个mysqlcheck和修复,这需要2个小时或更长的时间,最终退出一个工作的数据库。 我开始一切,一切都很开心。 我从来不知道为什么会发生这种情况 ,大多数情况下,当一个博客写关于该网站的时候就会发生这种情况 ,而人们只是通过注册来攻击网站。 但是没有详细logging坠毁的地方。 除了速率限制注册过程(等待线),有什么我可以做,以确保无论发生什么事情,MYSQL不应该崩溃? 我可以每小时运行一次自动修复并优化实时实例吗? 我认为这阻止了所有访问表,这将是可怕的? 我真的被这个压倒了。 我分裂了读/写,理论上可以将所有的读访问用户拆分成EC2实例上的从属服务器。 但是,然后我有使用尖峰急剧上升的问题,一旦我需要一个新的EC2实例,它需要我传输高达2GB的数据同步从属数据库…这从来没有通过mysql-bin日志如果我决定closures/启动一个EC2实例并停留多天。 我已经能够保持良好的状态,但是即使有了EC2和其他技术,我也不会受到我的理解和技术能力的限制。 我很乐意分享所有必要的信息,以便将来成为有用的线索/文档。 由于不是每个网站都是youtube / youporn / instagram / tumblrtypes的环境,我觉得我的网站types信息太less(高写入/读取,每个用户500到5Mlogging,在3000-10000个用户。 谢谢大家,请提出问题,我会提供更多信息。 我很乐意听到你的最佳做法。
我想在多个后端应用程序服务器前部署反向代理/ HTTP负载平衡器。 顺便提一下,后端的集合可能会随着时间的推移而改变,并且新的应用程序服务器可能会dynamic地创build(所以总的集合不能预先知道)。 这意味着像Varnish ,可以执行一系列已知的后端健康检查,不是一种select。 我所能想到的最好的方法是Apache中的prg RewriteMap支持和代理RewriteRuleexpression式。 我已经为应用程序服务器攻击了一个简单的客户端/服务器机制,以便向前端注册自己,还有一个RewriteMap程序从这个列表中select后端。 它的作品,但它闻起来很哈克。 这似乎是一个相当普遍的情况(有这么多的云服务提供商,可以很容易地启动新服务器的需求)。 其他人怎么解决这个问题呢? 你只是使用商业负载平衡器? 每个人都在一起扔东西吗?