我对logrotate有很好的使用经验,但最近在EC2上使用“Amazon Linux”(亚马逊部署的CentOS 6)进行安装时,logrotate无法使Apache重新打开其日志。 Apache的logrotateconfiguration与默认configuration略有不同 – 由于网站stream量高,保留旧日志的最低要求以及EC2实例存储中可用的less量空间,我们每天轮换日志,只保留2天的旧文件: # cat /etc/logrotate.d/httpd /var/log/httpd/*log { missingok notifempty sharedscripts daily rotate 2 compress postrotate /sbin/service httpd reload > /dev/null 2>/dev/null || true endscript } 旋转本身工作正常,旧的日志被压缩。 但是,在logrotate删除旧文件后,Apache实际上并没有重新打开这些日志文件,结果旧文件并没有真正被删除,而且Apache将pipe道数据保留在这些文件中 – 耗尽了可用空间,实际上丢失了日志数据,无障碍。 如果我从命令行(使用sudo或root)手动运行postrotate脚本,Apache将重新打开日志,并获得预期的行为。 日志中没有什么有趣的东西(cron日志中写着“logrotate started”,后面跟着“logrotate finished”),系统邮件没有关于cron作业问题的通知。 这个过程已经持续了几个星期(因为我们把生产服务器从基于Debian的安装移到了基于“Amazon Linux”的安装),而现在我对于如何解决这个问题感到无能为力。 任何帮助将不胜感激。
我刚刚更新到一个8GB的专用服务器从3GB的VPS,不能再处理我的网站。 我build立了一个使用狮身人面像全文search引擎的search引擎,每天接收100k到200k的查询,其中很多都是googlebot等。 无论如何,我需要帮助configurationMySQL到一个非常大量的数据库驱动的网站。 数据库大约10个演出,数据不断被查询和插入。 任何人都可以推荐一些设置,以帮助我在这个新的8GB服务器上获得最好的性能,我可以从MySQL? 我真的很感谢帮助。 我正在使用MyISAM表。 这是我的my.cnf文件。 谁能告诉我我应该做什么或者你会做什么? 服务器的规格是: 四核至强X3220 8 GB DDR2 2个500 GB SATA2 [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp skip-external-locking #bind-address = 127.0.0.1 # […]
每当我尝试请求任何页面时,我都会收到503错误。 我真的不知道如何去解决这个问题。 我已经检查了error.log,这是它包含的内容: [Fri Jan 13 19:03:41 2012] [notice] caught SIGWINCH, shutting down gracefully [Fri Jan 13 19:03:51 2012] [notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.17 with Suhosin-Patch configured — resuming normal operations [Fri Jan 13 19:08:59 2012] [notice] caught SIGWINCH, shutting down gracefully [Fri Jan 13 19:09:41 2012] [notice] Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.17 with Suhosin-Patch configured — resuming […]
我是新来的'Memcache',但我已经安装了它,我认为它'运行,到目前为止我做了以下正确的? mkdir memcache wget http://pecl.php.net/get/memcache-3.0.6.tgz tar -xvfz memcache-3.0.6.tgz cd memcache-3.0.6 phpize ./configure make make install echo "extension=memcache.so" >> /usr/local/lib/php.ini service httpd restart 但是,当我尝试连接使用: $memcache = new Memcache; $memcache->connect('localhost', 11211) or die ("Could not connect"); 我提供了: Memcache::connect() [memcache.connect]: Can't connect to localhost:11211, Connection refused (111) 我见过有人说使用telnet localhost 11211尝试和telnet,但如果我尝试,我得到连接拒绝 我试过用127.0.0.1replace本地主机,但没有运气。 我安装了错误的memcache? 如果是这样,我怎么能删除我刚刚添加的那个? 还是我需要libevent?
如何在PHP中创builddynamic网页(通过htaccess保护),显示当前通过虚拟主机设置的所有域和子域的列表?
我有PHP处理程序工作得很好,但我的一个朋友也想使用Python。 我在/usr/bin/python2 (用于Python2)以及/usr/bin/python -> /usr/bin/python3 (用于Python3)上将Python安装在我的服务器上。 他更喜欢Python2,所以我只是想让.py文件使用Python2二进制文件。 无论如何,在Apacheconfiguration和suPHPconfiguration设置后,它不断给我以下错误: SecurityException in Application.cpp:511: Unknown Interpreter: python:/usr/bin/python2 Premature end of script headers: test.py httpd.conf中的相关行: AddType text/x-python .py suPHP_AddHandler text/x-python .py 并在suphp.conf的[handlers]部分下: text/x-python="python:/usr/bin/python2" 如果可能的话,为了让Python通过suPHP工作,我需要做些什么?
我试图让Apache 2在服务器上的许多域之一使用SSL。 我不关心在服务器上运行SSL的任何其他域。 我正在尝试为Facebook应用做这个。 根据http://www.t1shopper.com/tools/port-scan/ ,服务器上没有监听端口443 url是facebook.mythinairwireless.com 我遵循这个指南: http : //www.codealpha.net/631/name-based-virtual-hosts-with-ssl-using-apache2-on-ubuntu-lucid/ 当我重新启动Apache,我得到这些日志消息: [Fri Jan 20 20:23:42 2012] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366) [Fri Jan 20 20:23:42 2012] [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication […]
我使用PHP作为Apache模块,而不是CGI。 每个对特定虚拟主机的请求都应该导致PHP脚本执行('/srv/web/init.php'),我这样做: <VirtualHost *:80> ServerName example.com DocumentRoot /srv/web/ RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !^/init\.php$ RewriteRule .* /init.php [L] </VirtualHost> 除了执行init.php并将其输出返回给Apache以外,这个虚拟主机没有其他用途。 我的问题是,是否有一个更清洁的方式来做到这一点 – 即。 绕过Apache的文件系统仿真,以便不需要“公共”文件夹,所以mod_rewrite是没有必要的。 就像调用一个CGI脚本一样,它会这样: <VirtualHost *:80> ServerName example.com PHPScript /srv/web/init.php </VirtualHost> 我已经删除了上面的DocumentRoot指令,因为我提出的将会使其无用。 我只是想把Apache模块变成CGI,而且我应该只使用CGI?
我有一个Web服务器,端口53是开放的DNS。 我在/ var / log / messages中看到成千上万行,如下所示: 1月27日08:34:21服务器命名为[14051]:客户端77.88.26.1#5335:查询(caching)'www.bpharma.in/A/IN'denied 1月27日08:34:23服务器命名为[14051]:客户端77.88.16.112#52035:查询(caching)'www.bpharma.in/A/IN'denied Jan 27 08:34:24 server named [14051]:client 77.88.16.112#63885:query(cache)'bpharma.in/A/IN'denied Jan 27 08:59:17 server named [14051]:client 66.249.71.24#52367:query(cache)'maheshwar.in/A/IN'denied Jan 27 08:59:25 server named [14051]:client 66.249.71.27#47186:query(cache)'maheshwar.in/A/IN'denied 我只是想知道这是否正常,如果不是,我该怎么办呢?
我不是一个完整的networking新手,但同时我从来没有试图做我想在这里做的事情。 我有Ubuntu服务器(几乎全新安装)盒子连接到Linksys E3000路由器,在我家是3 Win7的动力的机器,2 OSX的电脑,2 Android的智能手机设备,和一个PS3,360等。不用说,我有一个我的房子里有很多不同的设备经常使用互联网,所以我需要在这里小心行事。 这个Ubuntu服务器作为一个LAMP堆栈(工作)和一个文件服务器以及Samba的本地Web服务器。 这也有BIND9去了一下,但我从来没有得到它的正常工作。 下面是试图到达这里的场景: 在我的任何设备在任何时候(无论如何与Web浏览器的任何东西)我想能够访问“mysite.dev”,这个url将parsing为我的Ubuntu服务器上的Apacheconfiguration的虚拟主机,如果URL无法解决,它默认回到正常的互联网网关尝试从互联网上提供一个页面。 为了build立一个新的开发网站(.dev),我只想修改apache虚拟主机,并在系统上创build我的适当的文件夹(我甚至会决定不得不重新启动我的Apache每次,我会很酷那) 注意:我不想也不需要在远程networking上看到这个东西。 这对于内部开发来说是非常重要的。 我明白要做到这一点,我需要configuration我的路由器通过IP将所有的连接通过我的Ubuntu的盒子,这是我已经成为难倒,因为我不确定我应该find哪些设置和修改。 注意:我讨厌BIND9。 我会使用它,如果我绝对必须,但我有一个相当昂贵的Linksys路由器,它应该能够做到这里需要什么。 在前一天工作完成的时候,我们完全避免使用BIND9,只是使用具有特殊configuration的路由器首先parsingurl到我们的apache,然后到互联网,正是我在这里要做的。 这是所有设置,所以我不需要做 // UbuntuMan / mysite(我现在有) 编号宁可做 http://mysite.dev 为了实现这个目标,我将分拆海洋。 我所有用来开发网站的计算机都是在一天中的某个时间点进行的,而且我有一大堆订单进来,而且我经常切换计算机,所以能够在服务器目录上工作是非常重要的。这样传递的页面(这就是为什么Samba在那里)。 可选的问题:如果这确实得到了设置,如果Ubuntu服务器不存在(即:closures),那么设置在哪里将是多么容易,那么它将默认只是正常上网?