Category: 运维
禁掉PING是个配置简单安全见效快的方法. 因为有很多网上扫描器会扫描IP段, 如果发现有PING回复就会增加被攻击被扫描端口等风险. PING 本身除了检测主机在不在线及连接速度也不是个必须开启的服务, 所以建议是在配置VPS或者独服后第一件事情就是禁掉它. 以管理员的身份 (root, 或者 sudo) 执行以下命令即可暂时关掉PING服务: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 如果需要开启则需要执行相反: echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 如果相永久生效(重启也自动禁止), 则需要在 /etc/sysctl.conf 文件末尾添加: net.ipv4.icmp_echo_ignore_all = 1 去掉或者设置为0则是 启用. …
DDOS 就是 分布式拒绝服务 攻击. 英文是 Distributed DoS attack. A distributed denial-of-service (DDoS) DDOS 是什么? 简单来说就是网上很多肉机(有安全漏洞的机器被控制) 同时大量的向同一台主机发起请求 然后因为量大密集 所以很容易造成服务器CPU内存等资源耗尽而宕机, 也就是停止服务. 怎么样防止DDOS? 千万不要在网上暴露你服务器的IP地址, 因为攻击指定IP地址目标可确定多了. 服务器的安全措施得做好, 比如禁用 root 远程帐号 并定期安装安全补丁, 保持服务器安全水平. 如果可能 …
2016年5月6日
I.T., LINUX, MySQL, 产品推荐, 学习笔记, 小技巧, 数据库, 网站信息与统计, 计算机, 运维, 运维 DevOps
如果自己折腾 VPS 那很有可能得自己配置 MYSQL 数据库. /etc/mysql/my.cnf 则是MYSQL的配置参数文件, 外行人搞不太懂里面的参数 而且有些参数组合可能有问题 但并不是马上看出来. 这下好了, 有一个开源的项目(用Perl语言写的) – MySQLTuner – 网址是: http://mysqltuner.com/ 简单来说 就是一个 PERL 脚本 运行它 它会检查你MYSQL数据库的状态和一些配置情况. 下载并安装 wget http://mysqltuner.pl/ -O mysqltuner.pl wget …
如果你有一系列的SQL语句要执行 你可以把它存成 文本文件 e.g. *.SQL 然后登陆 mysql 控制端 执行 source 把这些命令执行了. 如果没有相应的权限 而可以写一小段PHP代码 并在URL里执行. 把数据库的帐号写在一个PHP脚本里 // conn.php define('DB_HOST', 'helloacm.com'); define('DB_USER', 'DB_USER'; define('DB_PASSWORD', 'DB_PASSWORD'); define('DB_NAME', 'DB_NAME'); 然后另一PHP就声明了一个 ExecSqlFile 函数 把给定的文件读进来每一行执行SQL语句 …
在折腾好VPS之后, 就打了一条 sudo apt-get upgrade 然后显示PHP版本已经更新到 5.5.9.查了一下更新记录,其中最重要的是就是 PHP5.5 之后就内置加速缓存 OpCache (默认就是开启的). 在 php_info(); 命令之后则有一块很重要的新模块: 也就是说 PHP 会把一些常用的文件编译成 Opcode 放内存中供下次调用,这样就会省时间,因为PHP是动态语言,每次 apache 服务器去解释PHP程序很耗时间的. 在 PHP5.5 之前,有类似的开源模块,比如 APC (Another PHP Cache), 用得也很多, …
11号晚上开始, 未托管的VPS就发了疯一样, 只要一启动 sudo service apache2 start CPU用量就接近 100%, 然后如果你不去管它的话, 很快服务器就停止反应, 只能从控制面版里重启. 虽然有在前面放个cloudflare挡一下, 但是免费的(cache size 好像才 100M)感觉不是很好用,而且免费ssl有点坑.后来, 果断禁掉了一些IP (大多是疯狂没有节制的搜索爬虫),并且加强了安全,防止 root 帐号被暴力破解. 再一次查看最耗资源的进程,发现仍然是 apache2 请求.于是果断先备份所有数据文件, 然后尝试不同的参数配置(默认的对于我的情况不是很靠谱),以下是针对我的VPS的配置,我的VPS是双核 2.8G, 1G 内存, 20G …
备份是我们常需要做的事, 你可以在服务器上有一个文件夹专门用于存放备份. 然后定期删除(可以是一个脚本定期执行),这 样就比较麻烦, 因为如果你想每次删除比较旧的备份, 你就得对备份进行时间倒序. 其实可以完全利用LINUX下的 date命令来生成想要的文件名用于备份. 比如你想保留过去的 24 小时备份, 那么你可以用: H=`date +"%H"` ls > backup_$H # your backup command (e.g. mysqldump) 来生成类似 backup_0, backup_1, .. backup_23 之类的文件名.对应过去24 …