订购主机托管服务时,会包含一定的功率,例如 0.25 安培、0.5 安培、1 安培、2 安培等。我如何计算服务器需要多少?
davidmytton's questions
我有一个 init.d 脚本来启动 Python 脚本:
#!/bin/sh
#
###############################################################################
# sd-agent
#
# Written by Boxed Ice <[email protected]>
# A server monitoring daemon for www.serverdensity.com
#
# Licensed under Simplified BSD License (see LICENSE)
#
###############################################################################
#
# chkconfig: 345 85 15
# description: Server Density Monitoring Agent
AGENTPATH="/usr/bin/sd-agent/agent.py"
[ -f $AGENTPATH ] || echo "/usr/bin/sd-agent not found"
# Source function library.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi
if [ -f /etc/SuSE-release ]; then
. /etc/rc.status
rc_reset
fi
# Action to take
case "$1" in
start)
python $AGENTPATH start
if [ -f /etc/SuSE-release ]; then
rc_status -v
elif [ -f /etc/debian_version ] || [ -f /etc/lsb-release ] || [ -f /etc/gentoo-release ]; then
echo " Started"
else
success
echo
fi
echo
;;
stop)
python $AGENTPATH stop
if [ -f /etc/SuSE-release ]; then
rc_status -v
elif [ -f /etc/debian_version ] || [ -f /etc/lsb-release ] || [ -f /etc/gentoo-release ]; then
echo " Stopped"
else
success
echo
fi
echo
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/sd-agent start|stop|restart"
exit 1
esac
exit 0
这已“安装”到 chkconfig 中:
[root@test ~]# chkconfig --list sd-agent
sd-agent 0:off 1:off 2:off 3:on 4:on 5:on 6:off
如果我执行:
service sd-agent start
然后脚本按预期运行。Python 代码按预期在 /tmp/sd-agent.pid 处创建一个 PID 文件。同样,如果我执行
service sd-agent stop
然后脚本终止并删除 PID 文件。
如果我停止脚本然后重新启动服务器,它会在服务器完成启动周期时启动。这是意料之中的,因为我已将其设置为使用 chkconfig 执行此操作。
但是,如果我启动脚本,然后重新启动服务器,停止命令似乎不会执行,因为当服务器恢复时,旧的 /tmp/sd-agent.pid 文件仍然存在。这会阻止启动命令执行,因为它会检查 PID 文件是否存在,如果已经存在则不会启动。
当我发出重新启动命令时,似乎没有执行停止命令,即使直接调用它也可以正常工作。
关于为什么的任何建议?
这是在 CentOS 5.2 上。
为了确保从站和主站上的数据在同一个地方进行复制,应该停止新的主站并将数据传输到新的从站,然后再重新启动主站,至少这是一种选择。
如何在不停止主服务器的情况下启动 MySQL 服务器的复制?
文件系统入侵可以使用诸如 Snort 之类的工具进行检测,但更难检测对数据库的入侵,例如删除行、修改表等。监控这一点以检测数据库中不需要的更改的最佳方法是什么?
我正在使用 MySQL,所以任何与数据库无关的东西都应该理想地针对 MySQL。
我让 Apache 配置了几个 IP 地址:
Listen 111.111.111.111:80
Listen 111.111.111.111:443
Listen 222.222.222.222:80
Listen 222.222.222.222:443
Listen 333.333.333.333:80
Listen 333.333.333.333:443
(IP是假的)
我有几个 VirtualHost,其中一个是通配符子域。
<VirtualHost *:80>
ServerName *.example1.com
DocumentRoot /var/www/vhosts/example1-wc/docs
</VirtualHost>
<VirtualHost *:80>
ServerName www.example1.com
DocumentRoot /var/www/vhosts/example1/docs
</VirtualHost>
<VirtualHost *:80>
ServerName www.example2.com
DocumentRoot /var/www/vhosts/example2/docs
</VirtualHost>
这工作正常。对 www.example1.com 的请求在 example1 docroot 下提供,对 example.example1.com 的请求在 example1-wc docroot 下提供,而 www.example2.com 在 example2 docroot 下提供。
我可以将 www.example2.com 更改为使用特定 IP 而不会出现任何问题,但是如果我将通配符 vhost *.example1.com 更改为特定 IP:
<VirtualHost 111.111.111.111:80>
ServerName *.example1.com
DocumentRoot /var/www/vhosts/example1-wc/docs
</VirtualHost>
然后对 www.example1.com 的请求会在其自身上创建一个无限重定向循环。无论我是否使用,都会发生这种情况:
<VirtualHost 222.222.222.222:80>
ServerName www.example1.com
DocumentRoot /var/www/vhosts/example1/docs
</VirtualHost>
或者
<VirtualHost *:80>
ServerName www.example1.com
DocumentRoot /var/www/vhosts/example1/docs
</VirtualHost>
为什么会发生这种情况,我怎样才能让每个虚拟主机都有自己的 IP?
我通过将 SSH 限制为特定 IP 来锁定许多远程服务器。同样,我们的内部客户管理工具也被 IP 锁定。在办公室工作时这很好,但如果我在不同的位置(可能在公共 wifi 上)或在我的 iPhone 上,IP 将会改变。
设置远程访问以允许从任何位置访问但仍保持安全性的最佳方法是什么?
我的回答是设置一个 VPN 来隧道所有连接,并且只允许 VPN IP 访问。如果这是失败的路线,我不希望 VPN 位于办公室,而是希望远程管理它。是否有任何 VPN 即服务提供商?