运维部落

香港vps促销1G99元 点击购买 美国vps促销512M59元 点击购买 日本vps促销1G100元 点击购买

rpmdb: unable to join the environment的解决办法

2016年6月7日 没有评论

有一次在centos上用RPM命令装gcc时,遇到了下面的问题,错误提示:

  rpmdb: unable to join the environment
  error: db4 error(11) from dbenv->open: Resource temporarily unavailable
  error: cannot open Packages database in /var/lib/rpm

  经多方查阅,并尝试各种办法之后发现,这是因为rpm的数据库被损坏了,解决的办法就是重建数据库。在重建之前,你需要先删掉以前rpm数据库的相关内容,即/var/lib/rpm目录下的__db.*的几个文件,若有一个*.back文件,也需要删除。主要是以下的两条命令完成删除和重建:

  rm -rf /var/lib/rpm/__db*
  rpm -rebuilddb

  如果在第二条命令执行时,又提示你“空间不够”时,这时你可以删除/var/log目录下的所有文件,然后再次执行上述的第二条命令就可以了。 想了下之前好像打了个很大的tar包。估计是空间满了。应该就是出现这个原因。清空一下空间

分类: Linux, 解决方案 标签: ,

IIS解析json的配置方法汇总(转)

2016年6月6日 没有评论

IIS6.0

1.打开IIS添加Mime项
关联扩展名: *.json
内容类型(MIME):application/x-JavaScript
2.添加映射:
位置在IIS对应站点右键属性:”主目录”-”应用程序设置”-”配置”-”映射”-”添加”,会打开”添加/编辑应用程序扩展名映射”
扩展名: .json
运行文件:C:\WINDOWS\system32\inetsrv\asp.dll
动作:GET,POST
IIS7.x IIS8

1、在“MIME类型”中“添加”一个文件扩展名为“.json”,MIME类型为text/json(也可以是application/x-javascript)
2、然后再在“处理程序映射”中“添加脚本映射”,请求路径为:*.json,可执行文件为C:/Windows/System32/inetsrv/asp.dll。
如果没找到asp.dll,到控制面板–>程序–>打开和关闭Windows功能—>InterNet信息服务—>万维网服务–>应用程序开发功能,打开“ASP支持”。当即打开,就可以找到asp.dll文件。
内容类型(MIME):text/json
然后我们通过浏览器访问:http://localhost/xxx.json,应该就可以显示json数据了,如果出现下载提示,检查以上步骤是否出现拼写错误,如果没有,重启计算机,应该就可以了。
补充:
小编随后翻阅了一些资料,发现在2006年json已经注册过MIME类型为application/json
所以以上MIME类型,大家都改为application/json
附上资料:
RFC 4627 “The application/json Media Type for JavaScript Object Notation (JSON)” 于2006年7月将 JSON 注册为一个 MIME 类型:application/json 。
参见:
ECMA-404 The JSON Data Interchange Format
RFC 4627 – The application/json Media Type for JavaScript Object Notation (JSON)
JSON: http://json.org/json-zh.html
MIME: http://www.iana.org/assignments/media-types/media-types.xhtml
application/json: http://www.iana.org/assignments/media-types/application/json

分类: Windows, 解决方案 标签:

centos磁盘爆满,查找大文件并清理(转)

2016年5月6日 没有评论

今天发现vps敲入crontab -e 居然提示 “Disk quota exceeded” 无法编辑。于是”df -h”查了查发现系统磁盘空间使用100%了。最后定位到是/var/spool/mail/root 这个文件有几个G。于是清理掉,问题解决。如果不知道是哪些文件占了磁盘空间,可以看下面查找大文件方法。

以下内容转自 http://hi.baidu.com/11haiou/item/f3a4878b601e084e840fab17

linux操作系统中,经常会遇到磁盘空间满的问题。遇到这样的问题,先查下是什么文件过大或过多引起的,至于引起这个更深一层的原因,先不探讨。怎么查看大文件所在的路径,linux中有一个命令,叫du,
先贴命令:du -m –max-depth=1或du -h –max-depth=1du:用于统计linux中文件或目录所占磁盘空间的大小du参数######-
m:以M为单位展示查询结果
-h:以K、M、G为单位展示查询结果,提高信息可读性
–max-depth=1:其中,数字“1”是指查询结果中最多显示的目录层数,这里指最多显示一层目录。

然后,利用此命令,逐层(目录)深入,这样就一定会查询到大文件所在目录,但也有可能是目录中文件过多所致。当找到大文件后,若因某些原因,不想对文件进行删除,可以用echo或cat或clear命令清除文件内容:
echo > /var/log/big.log此命令会把/var/log目录中的big.log文件内容清除,而又不删除big.log文件
cat > /var/log/big.log此命令能与“echo > /var/log/big.log”达到相同效果,不过,命令执行后,需要用“Ctrl + d”结束
clear > /var/log/big.log此命令会把big.log文件内容清空,而不删除文件

==========================================================

另一种情况: 也可能是inode用完了.

用# df -i 可以查看。

真的是inode用完了,磁盘没法再写入新的内容了,这个是某些临时的小文件太多了,把inode用完了,把它删掉就行了。

# find /var/spool/clientmqueue -type f -print -exec rm -f {} \;
这个命令中 /var/spool/clientmqueue 是要删除的文件所在的目录 -type f这个参数限定find只查找普通文件(即不是管道文件,不是块文件,不是链接文件,不是目录等),防止误删除系统文件。

原因分析:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;

centos 内存越来越大 内存占满 释放内存

2016年5月6日 没有评论

Centos 内存占满 释放内存

大家经常使用centos系统是不是感觉经常使用top看到内存在使用一段时间后会越来越大,我也一样,今天用 free -m 查看,发现内存跑满了。
top后按下shift+m,就是按内存占用百分比排序的程序,发现排在第一的进程,才占用0.9%,那是什么占用的呢?谷歌了一下,据说是centos为了提高效率,把部分使用过的文件缓存到了内存里。如果是这样的话,我又不需要这样的文件性能,那就可以释放。如下两个命令就可以:

1
2
sync
echo 3 > /proc/sys/vm/drop_caches

远程密令临时开启ssh端口

2016年5月5日 没有评论

linux服务器,我们一般是通过ssh通道远程管理,这就需要我们开启ssh端口,如22。但开启端口有被暴力破解的风险,你会说可以设置复杂的密码或使用证书避免。就算破解不了密码,但openssh也可能会有漏洞,你会说可以更改ssh端口,但还是有可能被扫描出来。还有一种选择,我们可以只允许指定IP访问ssh,通过vpn登录管理服务器,但局限很明显,万一紧急情况vpn登录不上去了怎么办。(有条件的我们可以多设置几个指定ip访问,保险些。也推荐大家用这个方法,对我们做数据中心服务器提供商多设置几个ip允许访问当然没有什么问题,因为资源多。)资源少的可以有其他办法吗?答案是肯定的。

下面给出一种个人觉得比较满意的解决方案,即使用iptables的recent模块,通过密令临时开启ssh端口。当然,密令需要保管好,防止外泄。(其实这种办法个人来讲,并不是非常推荐。因为人长时间不连服务器容易健忘密令。哈)

1、iptables规则设定

1
2
3
4
#指定78字节的icmp数据包(包含IP头部20字节,ICMP头部8字节)通过被加入openssh列表。
iptables -A INPUT -p icmp --icmp-type 8 -m length --length 78 -m recent --set --name sshopen --rsource -j ACCEPT
#检查openssh列表是否存在你的来源IP,如果存在,即从第一次使用密令开始15秒钟内开启ssh端口22,超过15秒端口自动关闭,不再允许新连接,已连接的不会断开。
iptables -A INPUT -p tcp --dport 22 --syn -m recent --rcheck --seconds 15 --name sshopen --rsource -j ACCEPT

2、临时开启ssh端口密令

1
2
linux下:ping -s 50 host
windows下:ping -l 50 host

3、示例一个目前服务器上使用的iptables规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 123 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m length --length 50 -m recent --set --name sshopen --rsource -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --syn -m recent --rcheck --seconds 15 --name sshopen --rsource -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443  -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT

在ubuntu中允许root远程访问

2016年4月26日 没有评论

首先,确保服务器在安装过程中,选择安装openssh软件。
如没有进行安装,请使用以下命令进行安装:
apt-get install -y openssh-server

安装完成后,使用root登录系统:
编辑vim /etc/ssh/sshd_config文件,将PermitRootLogin的值改为yes

因为为root账户设置了密码,所以还要更改PermitEmptyPasswords为 no。然后:wq保存文件!

然后重启ssh服务,如下:
sudo service ssh restart

分类: Linux, 解决方案 标签: ,

硬盘活动分区(将磁盘分区标为活动或取消活动的方法)

2016年4月22日 没有评论

活动分区是计算机启动分区,操作系统的启动文件都装在这个分区,windows系统下一般被默认为C盘,而Linux则根据具体设置而定。

启动系统时,活动分区上的操作系统将执行一个称为驱动器映像的过程,它给主分区和逻辑驱动器分配驱动器名。所有的主分区首先被映像,而逻辑驱动器用后续的字母指定。

硬盘活动分区定义

  在一个硬盘中,活动分区一般只能有一个。

将磁盘分区标为活动或取消活动的方法

系统分区必须是已为启动而标记为活动的主分区,并且必须位于启动系统时计算机访问的磁盘。同一磁盘同时只能有一个活动的系统分区。可以具有多个基本磁盘,每个磁盘各有一个活动分区。但是,只能通过某个指定的磁盘启动计算机。如果需要使用其他操作系统,则必须在重新启动计算机之前,先将其系统分区标记为活动。
  不能将现有的动态卷标记为活动。不过,可以将包含活动分区的基本磁盘转化为动态磁盘。磁盘转化后,该分区将成为活动的简单卷。如果活动分区不是当前的系统分区或引导分区,则它将成为简单卷并丢失其在分区表中的记录,这样,它也就不再是活动的。
  活动分区其实说白了就是写有引导数据的主分区,它可以完成与BIOS交接启动任务等一系列动作,以用来引导系统。
  主分区最好只有一个,不然管理起来会比较麻烦,目前来说,小点的硬盘分10G就可以,大的可以考虑15–20G左右,太大了就没有意义了
将分区标记为活动分区(仅限于 32 位)
  方法1:使用windows界面:
  1. 在“运行”里输入”compmgmt.msc”(打开计算机管理);
  2. 在控制台树中,单击”计算机管理”-”存储”-”磁盘管理”;
  3. 在需要标为活动的分区上,点击”右键”,点击”将磁盘分区标为活动的”。
  方法2:使用命令行:
  1. 在”运行”里,输入”cmd”;
  2. 接着输入”diskpart”;
  3. 接着输入”list disk”;
  4. 接着输入”select disk 0″比如我们现在要将第1硬盘的第1分区做为活动的;
  5. 接着输入”list partition”;
  6. 接着输入”select partition 1″;
  7. 最后输入”active”。
取消将磁盘分区标为活动的
  取消的时候只能有命令行,因为windows界面的那个选项卡已经变为浅色的不可以勾选了。
  1.命令行提示符,运行DISKPART,运行入提示符变成”DISKPART>”;
  2.使用”LIST DISK”命令确定你的移动硬盘的##号;
  3.使用”Select DISK 0″将你的移动磁盘设置成当前操作磁盘;
  4:使用“LIST PARTITION”命令确定你的硬盘分区的##号;
  5.使用”Select PARTITION 1″将第一个分区设置成当前的操作分区;
  6.使用”INACTIVE”命令解除当前分区的活动状态。

分类: Windows, 解决方案 标签: ,

win2003上安装SQL2000时CD-KEY(序列号)无法验证解决方法

2016年4月16日 没有评论

方法一:
在给出的输入CD-KEY(序列号)的界面中,输入你已经安装的windows server 2003 的CD-KEY(序列号)即可以继续安装,而不是SQL 2000的CD-KEY(序列号)。
Windows server 2003的CD-KEY(序列号):JCGMJ-TC669-KCBG7-HB8X2-FXG7M
(附:SQL2000的CD-KEY(序列号):SN:311-0432642 CD-KEY:H6TWQ-TQQM8-HXJYG-D69F7-R84VM)

方法二:
刚刚在一台win2003的机器上安装一个sql server 2000 的时候弹出一个窗口要我输入序列号…(建议购买版权)
默认不正确时
在点确定的时候提示序列号不正确,在网上找了一些序列号输入进去也都不正确
我的系统是Windows 2003 Server with SP2,以前都是在XP、2000系统下安装的,没有问题,会不会是系统差异导致的?
微软也发布了相关的KB。解决方法如下:
打开注册表的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager,将SafeDLLSearchMode这个DWORD 的键值改为 0
!!!!!值注意如果SafeDllSearchMode注册表项不存在, 创建SafeDllSearchMode注册表项。 !!!!!
创建好这个DWORD类型的键值 然后生新安装就OK了
第二种方法测试通过,比较简单,第一种方法,不太好用。

分类: 解决方案 标签: ,

IPMI – KVM 控制远程重装服务器系统基本使用方法

2016年3月22日 没有评论


服务器使用IPMI安装系统教程,IPMI可以干什么?简单的说,IPMI可以远程给服务器重装系统,控制服务器电源的开机,关键和重启。当我们使用网络方式远程登录(远程桌面或者SSH)失败时,可以通过IPMI进行服务器的维护。专业点的理解就是 IPMI可以通过带外的方式来管理我们的服务器。

智能平台管理接口 (IPMI) 是一种开放标准的硬件管理接口规格,定义了嵌入式管理子系统进行通信的特定方法。IPMI 信息通过基板管理控制器 (BMC)(位于 IPMI 规格的硬件组件上)进行交流。使用低级硬件智能管理而不使用操作系统进行管理,具有两个主要优点: 首先,此配置允许进行带外服务器管理;其次,操作系统不必负担传输系统状态数据的任务。
下面我们使用常见的超微服务器介绍一下IPMI的使用方法:
一.我们在浏览器中输入IPMI的IP地址,然后会来到如下界面

二.我们输入相应的用户名和密码,点击login,会进入IPMI的内部了。IPMI的菜单比较多,如图所示

其实这些菜单根据名字都很好理解,我们下面就根据实际需要一个一个的介绍一下。
三.第一个菜单system是有关系统信息的,点开会看到:

四.这里,点击system information会弹出一下页面:

五.通过这个画面我们就可以看到主机内部的情况了。但是如果您不能看到这个界面,而是如下所示:

说明您的系统中没有装JAVA虚拟机,我们需要装上JAVA程序才能很好的使用IPMI。点击上图的确定,然后我们就来到java官方网站:

我们点击同意下载,然后浏览器会弹出下载对话框来:

点击保存文件,然后把jxpiinstall.exe下载下来之后,双击运行,就开始安装java虚拟机了。

 

六.安装完java虚拟机后,重启浏览器,就可以发现IPMI可以正常工作了。
下面,我们回到IPMI的这个菜单中.

七.我们点击方块中的按钮,可以看到如下画面

八.上面一个可以看到主机的信息,点击IPMI中的主机桌面的图片就可以进入控制台,如下图。power control via ipmi 是通过控制主机的电源来实现主机的开机,关机和重启。

九.这就是主机的控制台。同样,控制台也有几个菜单。一般情况下,我们通过文字就能较好的理解。下面我们介绍几个常用的菜单。

通过如上菜单的指示,我们可以直接向主机发送一些常用的组合键,最常用的莫过于 ctrl+alt+del了。


十.下图中这个菜单可以给主机添加ISO镜像。

点击virtual storage 后,在弹出的对话框中可以通过如下步骤添加ISO镜像:

注意,最后一定要点击plug in 才能把光盘插入系统哦。如果想把光盘弹出,可直接点击 plug out。
我们可以看到主机中已经有插入的光盘了:

挂载完成之后,我们登陆IPMI,点击导航菜单的Remote Control ,选择Console Redirection,打开launch console,下载jnlp文件运行,然后选择Macro→Ctrl+Alt+Del,重启服务器,启动时按F11,进入启动菜单,如下图:选择IPMI Virtual CDROM启动。

有时候国际网络太卡,使用键盘操作非常困难,我们看看怎样使用软键盘进行操作。

十一.下面让我们回到浏览器中,再来看一下IPMI其他几个有用的菜单:
远程控制菜单

通过点击远程控制的console redirection选项同样可以打开主机的控制台,通过 power cotrol选项同样可以控制主机的开机,关机和重启。
我们看一下怎样重置IPMI的选项。有时候,我们的IPMI也会紊乱,出现一些不正常的选项,需要进行重置。

通过点击 Unit Reset 在这个子页面中点击确定就可以重置IPMI系统,相当于重启一下IPMI这个设备。

通过点击IKVM Reset这个选项,在子页面中点击确定,就可以重置控制台kvm的会话,有时候会话多了或者时间长了,使用这个会很快解决问题的。

 

 

分类: 解决方案 标签: , ,

IP,PV ,UV 它们认识你,你认识它们吗

2016年3月3日 没有评论

今天说说IP,PV,UV这三个互联网产品常用词,具体定义大家可以知之为知之,不知度娘知,我就不粘贴复制了,显得我很没有诚意。

估计现在已经没有同行会问你,你们产品的IP了,因为IP是可以改变的,而且它并不能反映一些具体问题,当然它还是有用的,它可以让你大体了解你产品使用用户的分布,是一线城市多,还是二三线城市多,这样做的目的是可以指导你产品设计的时尚程度和接受程度,进行合理的调整,下面主要说说PV和UV。

1、什么是PV值
  PV(page view)即页面浏览量或点击量,是衡量一个网站或网页用户访问量。具体的说,PV值就是所有访问者在24小时(0点到24点)内看了某个网站多少个页面或某个网页多少次。PV是指页面刷新的次数,每一次页面刷新,就算做一次PV流量。
  度量方法就是从浏览器发出一个对网络服务器的请求(Request),网络服务器接到这个请求后,会将该请求对应的一个网页(Page)发送给浏览器,从而产生了一个PV。那么在这里只要是这个请求发送给了浏览器,无论这个页面是否完全打开(下载完成),那么都是应当计为1个PV。
  2、什么是UV值
  UV(unique visitor)即独立访客数,指访问某个站点或点击某个网页的不同IP地址的人数。在同一天内,UV只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。UV提供了一定时间内不同观众数量的统计指标,而没有反应出网站的全面活动。通过IP和cookie是判断UV值的两种方式:
  用Cookie分析UV值
  当客户端第一次访问某个网站服务器的时候,网站服务器会给这个客户端的电脑发出一个Cookie,通常放在这个客户端电脑的C盘当中。在这个Cookie中会分配一个独一无二的编号,这其中会记录一些访问服务器的信息,如访问时间,访问了哪些页面等等。当你下次再访问这个服务器的时候,服务器就可以直接从你的电脑中找到上一次放进去的Cookie文件,并且对其进行一些更新,但那个独一无二的编号是不会变的。

把抽象的PV和UV比作一个传统的场景,假设一下,淘宝是一个大的购物中心,第一种情况,一个喜欢你的女生陪你去买耳机,你们买完就走,对于UV,独立访问者而言就是2个,而PV呢就是指你俩只看了一个店铺,那么你们产生的浏览量就是2个。

第二种情况,你陪女神去买东西,你们2个人逛了7家店,那么UV还是2,而PV呢,则就是14。

第三种情况,你运气好追到女神了,你俩结婚了,时间长了,你再陪她逛街你就懒了,于是你俩同时进了购物中心,她自己去逛街,而你坐在购物广场的咖啡厅里等她,她逛了14家店,这个时候,而UV还是2,浏览量PV则是两者相加是15。

每一次加载页面就算一次PV,UV是要算你的cookies的,那么问题来了,还是陪你老婆逛街,你坐在咖啡店里,她逛了14家店,中午你俩出购物广场找朋友吃饭,吃完之后,你老婆还想逛街,你们俩从另外一个门进入购物广场,你坐在咖啡店,你老婆逛了14家店,那PV和UV均为多少?答案我会在下一次分享中告诉大家,当然你们也可以在平台给我留言,答对的朋友,也没有什么礼物,哇咔咔。

IP,UV,PV还是有一些区别的,比如IP是指网络虚拟地区的概念,UV更多的是反映独立使用者,UV相对于IP来说可以更加准确的描绘一个事件的浏览者。比如说,一个访客使用IE来访问,之后他又用翻墙软件还是通过IE来浏览,那么IP则是2,因为IP是基于地理位置的,而UV呢,则是1,至于为什么,自己往前翻,谢谢哒。

大家要一直有一个数据分析的思维在,比如:

PV/UV的合理值,一般是在5倍到10倍比较合理,当然不同性质的产品是不一样的,比如像纯论坛或者是图片网站,那么他的PV就会相对高一些,如果是电影网站PV就相对低一些。

根据这个数据可以来判断自己的产品。如果一个产品的PV/UV太高了,很有可能就是故意刷之,或者是用户加载页面次数太多,而如果太低的话,也不好,这说明你的页面可跳转页面太少,或者用户可能因为按钮啊什么原因,跳转的可能性太低。

下面我们来看看大/中/小网站的UV和PV:

Google是世界第一:UV:295,920,000;PV:7,107,998,400
百度是中国第一:UV=80,100,000,PV=703,278,000,基本上淘宝啊,新浪微博啊都是这个梯队的,前20左右。
第二梯队,20—100,比如汽车之家,它的UV就是在528,000万左右,PV大概在9240,000
第三梯队:100—1000,比如果壳网,UV大概是138,000,PV大概是828,000
在接手一个新的产品之前,你可以先建立一个坐标轴,UV,PV来分析这个产品大概的地位,做一些相关的调整,这是非常简单也是非常基础的东西。

3、IP即独立IP数
  IP可以理解为独立IP的访问用户,指1天内使用不同IP地址的用户访问网站的数量,同一IP无论访问了几个页面,独立IP数均为1。但是假如说两台机器访问而使用的是同一个IP,那么只能算是一个IP的访问。
  IP和UV之间的数据不会有太大的差异,通常UV量和比IP量高出一点,每个UV相对于每个IP更准确地对应一个实际的浏览者。
  ①UV大于IP
  这种情况就是在网吧、学校、公司等,公用相同IP的场所中不同的用户,或者多种不同浏览器访问您网站,那么UV数会大于IP数。
  ②UV小于IP
  在家庭中大多数电脑使用ADSL拨号上网,所以同一个用户在家里不同时间访问您网站时,IP可能会不同,因为它会根据时间变动IP,即动态的IP地址,但是实际访客数唯一,便会出现UV数小于IP数。