在服务器安装了LNMP(Linux+Nginx+Mysql+php)环境之后Linux服务器参数必须做必要的优化,包括网络参数优化、文件数优化、内存优化等等。
ssh攻击的发现以及预防
August 23rd, 2011 by admin No comments »“HACKER” 利用 ssh攻击的目的是想暴力破解服务器的密码,然后控制你的服务器。通常可以从以下两种方式发现:
1. 假如你的服务器突然间一直ssh连接失败,但多次尝试,偶尔还能连接上.
2. 系统日志里面有大量的验证失败的ssh连接请求.
ubuntu系统是在/var/logs/auth.log里面.
mysql学习笔记(2)
August 23rd, 2011 by admin No comments »一.mysql库中的几个表的简介:
user: 决定是否允许或拒绝到来的连接,对于允许的连接,user表授予的权限指出用户的全局权限。这些权限适用于服务器上的all数据库。
db: 决定用户能从哪个主机存取哪个数据库,权限列决定允许哪个操作,授予的数据库级别的权限适用于数据库和它的表。
当你想要一个给定的db表行应用于若干主机时,db和host表一起使用.
tables_priv和columus_priv表类似于db表,但是更精致它们在表和列级应用而非在数据库级。授予表级别的权限适用于表和所有它的列,授予列级别的权限只适用于专用列.
procs_priv表适用于保存的程序。授予程序级别的权限只适用于单个程序。
二.当mysqld服务器启动时,将授权表的内容读入到内存中,你可以通过flush privileges语句或执行mysqladmin flush-privileges或mysqladmin reload命令让它重新读取表.
三.一些mysql权限系统做不到的。
1.你不能明显地指定给定的用户应该被拒绝访问,即,你不能明显地匹配用户然后拒绝连接。
2.你不能指定用户有权建立或删除数据库中的表,但不能创建或删除数据本身。
四.访问mysql时dns解析错误的解决方案.
1.找出dns服务器的错误并修复
2.在msyql授权表中指定IP号不是主机名
3.修改/etc/hosts
4.用-skip-name-resolve选项启动mysqld
5.用-skp-host-cache先项启动mysqld
五.设置帐户密码:
1.msyqladmin -u user_name -h host_name password “newpwd”
2. set password for ‘user’@'host’ = password(‘newpwd’)
3.grant usage on *.* To ‘user’@'%’ identified by ‘newpwd’
六.备份策略:
1.定期完全备份:
shell> mysqldump -single-transaction -all-databases>backup_sunday_1_PM.sql
这是在线非块备份,不会干扰对表的读写.以上是假定表为innodb,single-transaction使用一致性地读,并且保证mysqldump所看见的数据不会更改。对于其它类型的表必须假定备份过程中没有对Mysql账号进行管理更改.
2.增量备份:(应使用-log-bin选项启动Mysql服务器)
shell> mysqldump -single-transaction flush-logs -all-databases>backup_sunday_1_PM.sql
flush-logs通知服务器关闭当前的二进制日志并建一个新文件。执行命令后,可以删除之前的日志,然后备份之后新产生的日志文件就可。
3.恢复备份:
shell>>mysql < backup_sunday_1_PM.sql //导入备份的数据
shell>>mysqlbinlog gbichot2-bin.000007 | mysql //导入增量备份
七.mysqlbinlog 数据恢复技巧
1.前提:mysql服务器启用了二进制日志
2.指定时间:可以通过-start-date和-stop-date选项指定datetime格式的起止时间.
mysqlbinlog -stop-date=”2005-04-20 9:59:59″ /var/log/mysql/bin.123456\
mysql -u root -p mypwd
3.恢复位置:你可以更加准确的检查日志中的错误然后进行备份,这种方案更加精确.
措施:
a.先把大概出错的时间段时的sql语句全部重定向到临时文件中。
mysqlbinlog -start-date=’2005-04-20 9:59:59′ -stop-date=”2005-04-20 10:59:59″ \
/var/log/mysql/bin.123456 > /tmp/mysql_restore.sql
b.用文件编辑器打开寻找不想要的语句,记下错误日志的位置起始与结束
mysqlbinlog -stop-position=”368312″ /var/log/mysql/bin.123456 \
mysql -u root -pmypwd
mysqlbinlog -start-position=”368315″ /var/log/mysql/bin.123456 \
mysql -u root -pmypwd
mysql笔记(1)
August 23rd, 2011 by admin No comments »1.如果在创建了任何数据库表之后改变字符集,必须对每个表运行:
myisamchk -r -q -set-character-set=charset
mysql笔记(3)
August 23rd, 2011 by admin No comments »机器因故断电重启对web server的影响是很少的,但是对data server的危害却巨大的。这些倒来个彻底,由于机房原因所有的服务器全部重启了。不出所料,所有的服务重新开启后网站正常工作,很高兴数据库还能跑起来,看来伤害还不是特别大,不过还是很小心确认一下数据库的运转情况,首先进入一台mysql,从服务器
1.show processlist 查看了一下当前运行进程
varnish cache 配置使用
August 11th, 2011 by admin No comments »Varnish简介
Varnish 是一款高性能且开源的反向代理服务器(Reverse Proxy Server),挪威最大的线上报纸 Verdens Gang 使用3台Varnish代替了原本的12台Squid, 性能比以前更好。Varnish 的作者 Poul-Henning Kamp 是 FreeBSD 核心的开发人员之一,他认为现在的电脑比起1975年已经复杂许多。在那个时代,存储媒介只有两种:记忆体与硬盘。但现在电脑系统的记忆体除了主记忆体外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情況而做到最佳化,但作业系统可以得知这些情況,所以这部份的工作有关交给作业系统处理,这就是 Varnish Cache 的设计架构。
一般來说,使用Varnish代替Squid的理由有三点:
rpm 升级php
August 2nd, 2011 by admin No comments »对于Centos,可以采用YUM的方式直接更新,这是最方便的,”yum update php”一个命令就可以搞定,除此之外,我们还有以下方式升级PHP
memcached安装配置
July 9th, 2011 by admin No comments »CentOS 5.4 通过yum升级php到5.3版本的两种方法
June 29th, 2011 by admin No comments »CentOS5.4的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到5.3,经过搜索国外资料,现在终于找到一种升级CentOS的php到5.3的方法。
注意,此方法只能在官方的php版本上升级,如果你使用网上的升级到5.3版本的升级方法已经升级了,将无法使用本方法升级php。
运行下面命令: