服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器
我在网页上提到了一个奇怪的行为:如果我尝试使用Joomla通过SMTP发送邮件,它工作正常; 没有问题。 但是:如果我尝试使用PHP-CLI-Script,则操作失败(相同的源代码)。 $mailer = JFactory::getMailer(); $config = JFactory::getConfig(); $sender = array( $from, $from ); $mailer->setSender($sender); $mailer->addRecipient($to); $mailer->isHTML(true); $mailer->Encoding = 'base64'; $mailer->setBody($content); $mailer->setSubject($title); $send = $mailer->Send(); 如果我不使用SMTP来发送邮件,但发送邮件或PHP邮件,它从PHP和PHP-CLI工作正常。 所以我的想法是,有可能在我的php.ini php-cli阻止我的cli脚本通过SMTP发送的东西。 你有什么想法做什么?
我有一个非常基本的设置,按照下图 – [ISP] === [Linux Home Router] ==== [Client1 .. n] 互联网共享正在工作没有任何问题。 但主要的问题是,如果任何客户端开始下载其他客户端的经验,严重的networking变慢。 所以我想在客户端之间平均分配互联网带宽,保证最小160Kb高达1Mbit。 我试图改变在iptables中的队列,但我想我失去了一些东西,因为它不工作。
我希望有人能够解释这个问题,我没有在别处解决的运气。 我们正在运行一个用于基本负载平衡的Apache(2.2.15)服务器,但最终使用ProxyPass指令到我们的各种后端服务器。 问题似乎是Apache“随机”不再具有正确加载的特定虚拟主机文件(或者更可能是我们在不知不觉中造成这种情况),并且我们正在看到来自Apache的404s或代理错误。 在error_log中没有错误,我也确认httpd -S仍然显示虚拟主机加载,但好奇的是,如果我发出一个httpd重新加载,它又开始工作。 该服务器有〜2GB的可用内存。 我们在我们的httpd.conf文件中包含了vhosts / active指令,并且在那个目录中有符号链接到实际的vhostconfiguration文件(不要相信这是相关的但是想要透露),而且我们正在加载大约40个不同的vhost CONFIGS。 下面是一个例子,从一个特别的发生相对比较顺利(也可能值得一提的是,似乎只有像这样的确定的虚拟主机文件): <VirtualHost 10.10.0.77:80> ServerName url.mysite.com ServerAlias url Options +FollowSymLinks ProxyPreserveHost On ProxyPass / http://hostname.internaldomain.local:8081/ ProxyPassReverse / http://hostname.internaldomain.local:8081/ </VirtualHost> <VirtualHost 10.10.0.77:443> ServerName url.mysite.com ServerAlias url RewriteEngine On SSLEngine on SSLProxyEngine on SSLProxyVerify none SSLCertificateFile /etc/httpd/conf/ssl/mycert.com.crt SSLCertificateKeyFile /etc/httpd/conf/ssl/mycert.key SSLCertificateChainFile /etc/httpd/conf/ssl/mycert_chain.crt Options +FollowSymLinks ProxyPreserveHost On ProxyPass / http://hostname.internaldomain.local:8081/ […]
我需要通过SSL运行一个网站。 该域指向一个主机空间的某个共享IP。 假设我无法访问DNSpipe理。 – 如果原始请求是https,我可以通过共享空间设置一个redirect到一个新的空间与一个专用的IP,仍然运行在https? – 我必须将https请求redirect到http为中间人IP,然后回到https专用IP空间?
我的网站上有5个符合链接的文件夹,这些文件夹正在提取位于我的主机的主文件夹中的数据文件夹。 /home/public_html/myfolder符号链接指向/home/folder1/ 页面由python在飞行中生成。 我的public_html有一个.htaccess文件,其中有许多规则设置为整个public_html文件types过期… 例: <IfModule mod_expires.c> ExpiresActive on # RSS feed ExpiresByType application/rss+xml "access plus 1 hour" </IfModule> 我想为/home/public_html/myfolder设置特定的规则,有人提到使用<DirectoryMatch>或/和<FilesMatch>但我似乎无法得到任何使用它的工作。 例如,默认情况下,RSS / XML的访问时间应为1小时,而/myfolder/的访问时间应为10秒。 我将如何使用位于/home/public_html的.htaccess文件来做到这一点
在我的php5-fpm / php.ini中有: memory_limit = 512M 但是,经过几个请求, ps uxa显示: root 1130 0.0 0.3 339892 8064 ? Ss 05:29 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf) app 1131 0.6 38.9 1383692 798240 ? S 05:29 0:50 php-fpm: pool www app 1132 0.7 38.6 1383656 792736 ? S 05:29 0:57 php-fpm: pool www 798M RSS已经超出限制。 这怎么可能? 我可以在php-fpm初始化脚本中设置一个ulimit,但是首先我想理解为什么它现在不起作用。 在Ubuntu 12.04 […]
我在/var/www中有一组debugging脚本,它们显示有用的信息,有助于调查服务器上的问题,但同样的信息可能是敏感的,所以我不希望它公开。 DocumentRoot是/var/www/ ,看起来像这样: $ ls -1 /var/www/ apc.php index.php linux-dash opcache.php phpinfo.php 为了保证这个信息,我试图configurationApache只接受来自我的IP地址(为了这个例子是192.168.33.1 )的请求。 复杂的是,我希望www.example.com和www.example.com/index.php请求以200响应,而不pipe它们来自哪个IP。 我的status.conf虚拟主机configuration目前看起来像这样: ServerName www.example.com <VirtualHost *:80> ServerName www.example.com DocumentRoot /var/www <Directory /var/www> Options FollowSymLinks AllowOverride All Require ip 192.168.33.1 </Directory> <LocationMatch ^/(index.php)?$> Require all granted </LocationMatch> <Location /server-status> SetHandler server-status </Location> </VirtualHost> 这是部分工作,因为它允许响应一个200请求www.example.com和www.example.com/index.php从任何请求的IP地址,但它是不正确的响应与403所有其他请求即使请求来自列入白名单的IP地址: $ curl -I -H 'Host: www.example.com' 192.168.33.10 HTTP/1.1 […]
这可能是一个简单的问题,但是有一个简单的期望脚本,我已经添加了可执行位,似乎忽略了#!/ usr / bin / expect解释器行。 此外,似乎variables没有被设置,因为当我回应他们时,他们是空白的… #!/usr/bin/expect -f set device "1.1.1.1" set user "testuser" spawn ssh $user@$device echo $device echo $user ls -lh -rwxr-xr-x root root testexpect.exp 感谢您的帮助社区! PS我正在运行Debian Wheezy,通过apt-get install期待安装expect …谢谢
我做了一个redis集群,并创build了一个名为cache-access的新安全组。 如果我SSH入一个EC2服务器,并尝试访问caching节点,它会工作,如果满足两个条件: ec2服务器属于cache-access安全组 cache-access安全组打开入站6379端口 通过安全组( #1 )白名单ec2访问是有道理的,考虑到一个组可能需要扩大或缩小,所以白名单的IP地址将无法正常工作。 为什么我需要打开这个端口( #2 )没有任何意义。 ec2实例没有运行redis-server 。 弹性caching服务器是在6379监听的。 为什么ec2安全组需要打开6379端口才能工作?
我想在一个节点内的iptables上制定一套规则,但似乎iptables并没有追加所有的规则或以某种方式,每当我运行下面的脚本踢我(我使用这套规则其他服务器和工作正常): # Allow connections that are already connected to your server iptables -A INPUT -i venet0 -m state –state ESTABLISHED,RELATED -j ACCEPT # Allow connections to SSH iptables -A INPUT -p tcp –dport 22 -m state –state NEW -j ACCEPT # Allowing connections to HTTP/HTTPS iptables -A INPUT -p tcp –dport 80 -m state –state […]