我在具有 96 GB 存储空间的 Linode 上托管 Ruby on Rails 应用程序。我的应用程序的所有图像都存储在亚马逊上,它们是从亚马逊获取的。因此,我的 linode 应该有至少 80 GB 的免费存储空间。
但是当应用程序的日志文件超过 200 Mb 时,我收到错误消息:
Errno::ENOSPC: No space left on device
Run Code Online (Sandbox Code Playgroud)
我的网站出现故障。
我使用文件/etc/logrotate.conf 中的以下代码每天为我的应用程序启用日志轮换:
path/to/application/log/*.log {
daily
missingok
rotate 1
compress
delaycompress
notifempty
copytruncate
}
Run Code Online (Sandbox Code Playgroud)
但是现在我开始每天两次相同的错误,所以我根据大小更改了配置设置:
path/to/application/log/*.log {
size 1M
missingok
rotate 1
compress
delaycompress
notifempty
copytruncate
}
Run Code Online (Sandbox Code Playgroud)
我还将 logrotate 文件从 /etc/cron.daily 移动到 /etc/cron.hourly 以便 logrotate cronjob 每小时运行一次,如果超过 1M 则轮换日志。我重新启动了apache。
但是当我在一小时后检查时,我的文件大小大于 1M。因此,logrotate cronjob 在每小时后都不起作用。当我使用以下命令强制轮换日志时:
sudo /usr/sbin/logrotate -f /etc/logrotate.conf
Run Code Online (Sandbox Code Playgroud)
然后日志文件被轮换并且文件大小减小。
我无法弄清楚为什么这个配置不起作用。 …
我正在设置一个新服务器,我打算在该服务器上托管多个 Ruby on Rails 应用程序。
服务器正在运行 Ubuntu 10.04 LTS,我已经设置了 Apache 虚拟主机,因此每个应用程序都有自己的站点可用配置文件(指向 Rails 公共目录)。然后我建立了一个从sites-enabled/(CONFIG FILE HERE)到的符号链接sites-available/(CONFIG FILE HERE)。
可用站点
root@HAH-UBUNTU-GER /etc/apache2/sites-available # ls
default default-ssl application1.com application2.com
Run Code Online (Sandbox Code Playgroud)
启用站点(符号链接)
root@HAH-UBUNTU-GER /etc/apache2/sites-enabled # ls
000-default application1.com application2.com
Run Code Online (Sandbox Code Playgroud)
有关符号链接的更多信息:
root@HAH-UBUNTU-GER /etc/apache2/sites-enabled # ls -l
total 0
lrwxrwxrwx 1 root root 26 2012-05-04 11:41 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 39 2012-05-04 12:28 application1.com -> ../sites-available/application1.com
lrwxrwxrwx 1 root root 37 2012-05-04 12:09 application2.com -> ../sites-available/application2.com
Run Code Online (Sandbox Code Playgroud)
我已将所有 Rails 应用程序文件上传到/var/www/vhosts/application1.com …
我在连接到我的 Ruby on Rails 开发服务器时遇到问题:
当我在不同的网络浏览器中输入 192.168.0.10:3000 时,连接就会超时。
我怀疑问题出在我的防火墙配置上,但我尝试打开所有内容,但似乎不起作用。
服务器在我的本地网络上,有一个静态 IP 并且配置正确 - 我可以通过 SSH 连接到盒子,它可以连接到互联网进行更新。它运行 CentOS 6.3,我按照以下说明安装了 Rails:http : //itekblog.com/ruby-on-rails-on-centos-6-3-is-easy/
服务器正在运行:我可以使用 wget localhost:3000 下载“Welcome Aboard”页面
我认为它应该监听所有接口:
[sandy@pops testproject4]$ rails server
=> Booting WEBrick
=> Rails 3.2.8 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-08-18 18:29:04] INFO WEBrick 1.3.1
[2012-08-18 18:29:04] INFO ruby 1.8.7 (2011-06-30) [i386-linux]
[2012-08-18 18:29:04] INFO WEBrick::HTTPServer#start: pid=9881 port=3000
Run Code Online (Sandbox Code Playgroud)
我想我已经打开了所有端口
[sandy@pops testproject4]$ sudo iptables -L
Chain …Run Code Online (Sandbox Code Playgroud) 可能重复:
我的服务器被黑了 紧急情况
所以我非常恐慌。
我有一个正在构建的 Rails 应用程序,它托管在 VPS 上,用于临时环境。我在本月早些时候对其进行了配置,一切正常(特别是在部署 capistrano 时)。今天我把最新的开发代码部署到了web服务器上并去测试了。我点击了 URL ( http://openstudyr.ashleyangell.com ) 并注意到它正在对我从未听说过的“ http://guide-securesoft.ru/fliht/index.php?1314066061 ”进行奇怪的查找之前,点击我的任何链接也是(最终重定向到相同/相似的 URL)。
我不擅长 Linux,但我足够聪明,可以确保我的所有 SSH 都通过密钥身份验证完成,我从不以 root 身份运行,root 密码是一个长度约为 24 个字符的字母数字字符串。
我检查了虚拟主机的 Apache 配置,但它与我离开时完全一样。
我感觉我的心脏快要射出胸膛,爆炸了。我不知道该怎么做,或者接下来要检查什么。
我尝试在域中搜索类似的问题,但没有发现任何明显的问题。
任何人都可以帮忙吗?我怎样才能 a) 验证我是否已经被入侵,b) 解决问题并阻止它发生(我知道在 a 之前无法真正回答)。
:(
更新#1:
似乎我的所有 URL 在从浏览器执行时都在执行自动重定向,但是如果我直接点击 URL,它们就可以正常工作。奇怪的。
更新#2:
它的父域http://ashleyangell.com(我的个人博客)也有同样的问题。但是,所有其他虚拟主机似乎不受影响。
更新 #3:
我在其他机器上测试过。他们都在做同样的行为,这让我认为它与我的开发机器或互联网连接无关。(是的?)
更新#4:
我跑sudo grep -ri -l "guide-securesoft" /var了,服务器的所有 .htaccess 文件都匹配了!所以我选择了有问题的域并运行cat /var/www/vhosts/openstudyr.ashleyangell.com/.htaccess,这就是我得到的(我清理了它以使其可读):
ErrorDocument 400 http://guide-securesoft.ru/fliht/index.php
ErrorDocument 401 http://guide-securesoft.ru/fliht/index.php
ErrorDocument 403 http://guide-securesoft.ru/fliht/index.php
ErrorDocument 404 http://guide-securesoft.ru/fliht/index.php
ErrorDocument 500 …Run Code Online (Sandbox Code Playgroud)