存档

作者存档

大型BBS架构squid+nginx(测试过上几万人无优)

2015年7月20日 没有评论

写在前面,所有软件都需要跑在linux及相关操作系统下,千万不要用windows去跑。不然死的很难看。

设计这个架构基于Linux系统下squid、nginx和lvs等技术,从架构上对bbs进行全面优化和保护,其有如下几个特点:

1、高性能:所有的点击基本上全部由前端缓存负责,提供最快速的处理。

2、高保障度:不需考虑应用程序稳定与否、程序语言是何种、数据库是何种,都能从架构上保证稳定。

3、高可用性:对应用程序的修改达到最简化:在程序的某些地方加入清缓存的语句即可,当然还需要做页面静态化的工作和统计工作。

如图所示:

这个架构的特点和一些流程的说明:

1、主域名和图片域名分离

域名分离可以使流量分离,缓存策略分离等等,好处诸多。bbs初期一定要做好规划,将图片用另外的域名独立服务,即使没有足够机器,域名也要先分开。另外,图片服务器可以使用有别于主域名的另一个域名,一个好处是可以减少读取cookie对图片服务器的压力,另一个是提高安全性,避免cookie泄露。

2、使用LVS作为前端、二级代理和数据库的访问入口

使用LVS作为入口,比其他任何一种方式都来得更优质。首先LVS的负载能力很强,因为它工作在网络协议的第4层,使用虚拟ip技术,所以它本身并不担负任何流量的处理,仅仅是一个封包转发的功能;第二,LVS的配置相对简单而且稳定,一般去调整的几率比较低,也减少了因人为等因素而出现故障;第 三,LVS可以处理任何端口的负载均衡,所以它基本可以做所有服务的负载均衡和容错。在这个架构中,除了处理http的80端口之外,LVS也处理了数据库mysql的3306端口,在数据库这个应用中是采用的双机热备策略。

3、使用nginx+squid作为最前端的缓存组合

在这个架构中,是最能体现app_nginx_squid_nginx架构的优势的。在这个架构中的bbs运行在缓存上,用户每发布一张帖子,都需要使用purge指令清除该帖子的缓存,如果是squid在最前端,那么每次发布一张帖子,都需要在所有的squid中调用purge指令,这样在机器比较多的时候,purge将成为一个巨大的压力。

所以在这里将nginx放在最前端并使用手工url_hash的方式分流,将经常需要purge的帖子页面和列表页面按一个url对应一台squid的策略,分布到各台squid上,并提供了一台或一组backup的squid,个别squid出现异常时将自动使用backup的机器继续提供一段时间的服务直到其正常。在这样的架构下,purge就不再是关键问题,因为一个url只会对应到一台机器上,所以purge的时候,后端app_server找到 对应的机器就可以了。

可以看到在前端中还有一台nginx(purge)的机器,这台机器是专用于purge的,只要发送purge指令和需要清除的url到这台机器,就可以 找到相应的服务器并清除缓存了。另外,purge时还需要清理backup机器上的缓存,所以无论前端机器增加到多少,purge指令只会在2台机器上执 行,如果backup机器使用到2-3台,purge指令就会在3-4台机器上执行,仍然在可接受范围之内。

使用nginx作为前端,另有的好处:

1.使用nginx的日志统计点击量非常方便
2.nginx也可作为缓存,一般可以直接负责favicon.ico和logo等固定的小图片
3.基于nginx的中层代理

nginx中层代理的优势,在:

nginx和squid配合搭建的web服务器前端系统

这篇文章中有解释——

在这个架构中,假如后端的app_server上把帖子页和列表页直接生成了静态页面,那么使用中层代理再做一次url_hash,将可以解决后端 app_server的硬盘容量的压力,但是如果使用到url_hash的话,那做容错就相对麻烦了。所以建议不要采用生成静态页的方式,后端的压力一般 不会非常的大,所以没有必要生成静态页。假如前端squid的命中率实在太低下,造成大量穿透,可以考虑使用二级代理暂顶。

5、基于LVS的数据库双机热备

在这个架构中,因为大量的并发和访问量都由前端的缓存处理掉了,所以后端的mysql主要压力来自于数据的写入,所以压力并不是非常大,并且负载比较稳定,一般不会随着访问量上升而提高过快,估计目前一台64位的机器,加满内存并使用高速的硬盘,前端负载数亿访问量时数据库都不会出现性能问题。在数据库 这方面应主要考虑故障恢复,因为数据库崩溃的话,按照一般使用备份恢复的做法,耗时很长而且难免丢失数据,是很棘手的问题。使用双机热备的方案,出现故障时首先可由一台时刻同步着的备用数据库即刻充当主数据库,然后卸下的数据库可以有充分的时间对其进行维修,所以是个很安全有效的办法。

当然,数据库的优化还是要细心做的还有很多,不细说,有时间建议参考:

mysql性能的检查和调优方法,如细心地调一遍,性能会好更多。

6、图片的服务器

图片的服务器我们在此架构中没有特别详细的介绍,我们在访问压力很大的大型的bbs系统下,图片常常会出现容灾现象——图片数量严重超过了单台前端服务器容纳能力,导致前端服务器命中率急速下降。变的处理容灾问题也是非常棘手的,往后有机会我们会有更详细的介绍。

7、简单的点击量统计办法

1.使用js的script标签访问另一(台)组服务器的空文件,然后定期向数据库更新。
2.在前端的nginx上直接开启日志功能,按需要统计点击量的链接规则进行记录,然后定期更新数据库。

分类: 解决方案 标签: ,

如何破解光猫上海贝曼 HA1000_N

2015年7月18日 没有评论

近来,中国电信实现光纤入户,自己家里也弄了个。不过有点坑的就是花钱买的光路由器,只给了user权限,没天理了这个。看了些文章破解掉,拿到最高权限。这里分享一下。

获取超级用户telecomadmin的密码:

1、使用光猫背面的账号useradmin密码登录http://192.168.1.1,登录成功后在浏览器输入http://192.168.1.1/backupsettings.conf回车下载backupsettings.conf文件,然后使用记事本打开backupsettings.conf文件,使用查找功能查找telecomadmin,可以快速找到超级用户telecomadmin的密码是“telecomadmin+8位数字”

好了。这里可以用telecomadmin登陆了。

分类: 解决方案 标签: ,

在SQL2008里面怎么让显示全部行和编辑 全部而不是200和1000

2015年7月12日 没有评论

在sql server2008里面,可能微软考虑到数据量比较大,如果直接返回所有行,可能造成耗费时间过多。所有默认为”编辑前200行”和”返回前1000行”.这对于有些朋友来说不太方面,那么如何如何实现”编辑所有行”和”返回所有行”呢?

具体方法为:
Microsoft SQL Server Management Studio–工具–选项–SQL Server对象资源管理器–命令

把其中的”编辑前行命令的值”和”选择前行命令的值”都改为”0″,之后确定。
再打开表,就变成”编辑所有行”和”返回所有行”。

设置ssh登陆邮件提醒

2015年7月5日 没有评论

Centos
wget ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/mailx-12.4.tar.bz2
tar jxvf mailx-12.4.tar.bz2
cd mailx-12.4
make
make install UCBINSTALL=/usr/bin/install
Ubuntu
sudo apt-get install heirloom-mailx -y
配置mailx
cp /etc/nail.rc /etc/nail.rc.bak
cat > /etc/nail.rc< set from=发送邮箱地址
set smtp=smtp服务器地址
set smtp-auth-user=发送邮箱登陆账号
set smtp-auth-password=发送邮箱登陆密码
set smtp-auth=login
EOF
配置SSH
cp /etc/ssh/sshrc /etc/ssh/sshrc.bak
cat > /etc/ssh/sshrc< #!/bin/bash
ip=\${SSH_CLIENT%% *}
if [ \`last -2 | grep \$ip -c\` = '1' ]; then
echo \$USER@\`hostname\` login from \$ip | mailx -v -s “SSH alert” 接收邮箱地址
EOF
chmod +x /etc/ssh/sshrc

Windows平台下Oracle 自动备份详细步骤

2015年6月26日 没有评论

环境说明
背景:Oracle 11g 服务器,Oracle 11g 客户端,windowsXP 操作平台
要求:Oracle 数据库服务器对数据库 tsorcl 每天自动备份一次。备份格式:ts20140408.dmp 和 ts20140408.log
解决方案:利用任务计划、批处理文件和 Oracle 的 exp 导出功能,根据日期自动生成 Oracle 备份文件。

具体操作步骤如下
1、创建批处理文件 oracle_bakup.bat
oracle_bakup .bat 中详细内容如下

@echo off
echo 正在备份TS Oracle 数据库,请稍等……
exp ts/ts@tsorcl owner=ts INDEXES=y grants=N rows=y constraints=y compress=N
file=F:\autobackup\ts_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=F:\autobackup\ts_%date:~0,4%%date:~5,2%%date:~8,2%.log
echo 任务完成!

另外:%date%的值在不同的系统、语言版本下可能是不一样的,控制面板里面区域选项的设定也会改变%date%的值。请先在命令行中测试 echo %date% 的返回值。%date:~4,10% 是返回日期函数,~后的第一个参数是要截取的起始位置(从0开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改。 如需要准确的时间做为文件名,请用%time%函数,参数同上。

2、添加一个任务计划 TSPlan

开始 > 所有程序 > 附件 > 系统工具 > 任务计划 > 添加任务计划 > 下一步 > 在 浏览 中查找刚刚写好的oracle_bakup.bat 文件 > 任务名输入TSPlan,执行这个任务选择每天,下一步 > 起始时间下午12:00,起始日期2009-7-11,下一步 > 输入用户名及密码,用户名要求是管理员权限用户名,下一步 > 完成
点击”完成”之后,会在任务计划栏目下新增一个名为”TSPlan”的任务计划,表明已经配置完毕。

备注:有时点击”完成” 之后,系统警告
“已创建新任务,但可能不能运行,因为无法设置账户信息。
指定的错误是:
Ox80041315:任务计划程序服务没有运行”
这是因为电脑的任务计划程序服务没有启动起来。开始 > 所有程序 > 管理工具 > 服务,找到”Task Scheduler”服务,发现启动类型为”已禁用”,右键单击更改为”自动”,并把它启动起来,然后重新添加一次任务计划 TSPlan就可以了。

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

Windows下Oracle文件的自动备份与ftp自动上传

2015年6月26日 没有评论

环境说明
操作系统:Windows平台
环境:Oracle11g
FTP: 192.168.148.121 用户:dell 密码:123
要求:上传当天备份的数据库文件到FTP服务器,并删除windows平台下前一天的数据库备份文件
解决方案:利用任务计划、批处理文件和 FTP功能,来实现 Windows下自动备份数据库文件到远程FTP服务器并删除指定日期前的备份

具体 操作步骤如下
1、完成 Windows平台下Oracle 自动备份详细步骤 (见上个文章)
2、创建批处理 windowbackuptoftp.bat 文件
windowbackuptoftp.bat 中详细内容如下

@echo off
color 0a
title FTP自动上传
mode con cols=120 lines=50
echo.
echo *************************************************
echo 说 明
echo 本脚本可以方便用户自动向FTP上传当天的文件到 (—大于当天getdate() 120的形式, –删除一天前的数据)
echo 指定远程路径,与计划任务配合使用来实现数据库备份
echo *************************************************
echo
echo 10秒后开始下载…
echo open 192.168.148.121>ftp.txt
echo dell>>ftp.txt
echo 123>>ftp.txt
forfiles /p F:\autobackup /s /m *.dmp /d +%date:~0,10% /c “cmd /c echo put @file>>ftp.txt”
echo bye>>ftp.txt
C:\Windows\System32\ftp.exe -i -s:ftp.txt
forfiles -p “F:\autobackup” -s -m *.dmp /D -1 /C “cmd /c del @path>>ftp.txt”
exit

说明:forfiles 从 F:\autobackup查找对应的文件。
echo %date:~0,10% 等于2014-04-08 大于当天日期的数据库备份文件
cmd /c 可以在引号里将多条命令(包括批处理里的语句)用’&&’连接起来,达到将多条命令化为一条命令的目的
-1 保留最新1天的备份,使用 Resource kit 里的命令 FORFILES 删除老备份文件
del 删除
put 上传
ftp -s:ftp.txt 意思是,读取fxp.txt里的参数,执行ftp命令,命令执行完后,对应的文件日志下载到对方计算机里了。

DOS批处理命令(forfiles) 详解

Forfiles
从文件夹或树中选择要进行批处理的文件。
语法
forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]
参数
/p Path 指定Path,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。
/m SearchMask 按照SearchMask 搜索文件。默认的SearchMask 是[i].[/i]。
/s 指示forfiles 在子目录中搜索。
/c Command 在每个文件上运行指定的Command。带有空格的命令字符串必须用引号括起来。默认的Command 是”cmd /c echo @file”。
/d[{+ | -}] [{MM/DD/YYYY | DD}] 选择日期大于或等于(+)(或者小于或等于(-))指定日期的文件,其中MM/DD/YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或-,则使用+。DD 的有效范围是0 – 32768。
/? 在命令提示符下显示帮助。
注释
•Forfiles 最常用于批处理文件中。
•Forfiles /s 与dir /s 类似。
•下表列出了可在/cCommand 命令字符串中使用的变量。
变量描述
@file 文件名
@fname 无扩展名的文件名
@ext 文件扩展名
@path 文件的完整路径
@relpath 文件的相对路径
@isdir 如果文件类型是目录,则计算值为TRUE,否则值为FALSE
@fsize 用字节表示的文件大小
@fdate 文件中上次修改的日期戳
@ftime 文件中上次修改的时间戳
•使用forfiles,可以在多个文件上运行命令或将参数传递给多个文件。例如,可以在树中带有[i].txt 扩展名的所有文件上运行TYPE 命令。或者,可以用文件名“Myinput.txt”作为第一个参数,在C:\ 驱动器上执行每个批处理文件([/i].bat)。
•通过使用forfiles,可以执行下列任何操作:使用/d 按照绝对或相对日期选择文件。
•使用诸如@fsize(文件大小)和@fdate(文件日期)这样的变量构建文件的存档树。
•使用@isdir 变量区分文件和目录。
•通过在命令行中包含特殊字符和使用十六进制代码0xHH 环绕字符来格式化输出内容。
•Forfiles 通过在旨在仅处理单个文件的工具上执行“循环子目录”标记来发挥作用

2、添加一个任务计划 TSFTPPlan

开始 > 所有程序 > 附件 > 系统工具 > 任务计划 > 添加任务计划 > 下一步 > 在 浏览 中查找刚刚写好的windowbackuptoftp.bat 文件 > 任务名输入TSFTPPlan,执行这个任务选择每天,下一步 > 起始时间下午12:00,起始日期2009-7-11,下一步 > 输入用户名及密码,用户名要求是管理员权限用户名,下一步 > 完成
点击”完成”之后,会在任务计划栏目下新增一个名为”TSFTPPlan”的任务计划,表明已经配置完毕。

关闭SSH终端程序继续运行

2015年6月18日 没有评论

问题描述:当SSH远程连接到服务器上,然后运行一个服务 ./catalina.sh start,然后把终端开闭(切断SSH连接)之后,发现该服务中断,导致网页无法访问。

解决方法:使用nohup命令让程序在关闭窗口(切换SSH连接)的时候程序还能继续在后台运行。

Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用& 在程序结尾来让程序自动运行。比如我们要运行mysql在后台:

/usr/local/mysql/bin/mysqld_safe –user=mysql &

但是加入我们很多程序并不象mysqld一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用& 结尾,但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup这个命令,比如我们有个test.php需要在后台运行,并且希望在后台能够定期运行,那么就使用nohup:

nohup /root/test.php &
提示:
[~]$ appending output to nohup.out
嗯,证明运行成功,同时把程序运行的输出信息放到当前目录的nohup.out 文件中去。
nohup命令说明:

用途:不挂断地运行命令。
语法:nohup Command [ Arg ... ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
nohup命令及其输出文件
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。
该命令的一般形式为:nohup command &
使用nohup命令提交作业
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:(也就是说自定义输出的文件名)
nohup command > myout.file 2>&1 &
在上面的例子中,输出被重定向到myout.file文件中。
使用 jobs 查看任务。
使用 fg %n 关闭。
另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样我就可以利用这些命令在后台上传和下载文件了。
思考:问题1为什么ssh一关闭,程序就不再运行了?
元凶:SIGHUP 信号
让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉。

在Linux/Unix中,有这样几个概念:

进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。
会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。
会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。

根据POSIX.1定义:

挂断信号(SIGHUP)默认的动作是终止程序。

当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。

如果会话期首进程终止,则该信号发送到该会话期前台进程组。

一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。(关于孤儿进程参照:http://blog.csdn.net/hmsiwtv/article/details/7901711 )

结论:因此当网络断开或终端窗口关闭后,也就是SSH断开以后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。

简而言之:就是ssh 打开以后,bash等都是他的子程序,一旦ssh关闭,系统将所有相关进程杀掉!! 导致一旦ssh关闭,执行中的任务就取消了

例子:
我们来看一个例子。打开两个SSH终端窗口,在其中一个运行top命令。

[root@tivf09 root]# top
在另一个终端窗口,找到top的进程ID为5180,其父进程ID为5128,即登录shell。

[root@tivf09 root]# ps -ef|grep top
root 5180 5128 0 01:03 pts/0 00:00:02 top
root 5857 3672 0 01:12 pts/2 00:00:00 grep top
使用pstree命令可以更清楚地看到这个关系:

[root@tivf09 root]# pstree -H 5180|grep top
|-sshd-+-sshd—bash—top
使用ps-xj命令可以看到,登录shell(PID 5128)和top在同一个会话期,shell为会话期首进程,所在进程组PGID为5128,top所在进程组PGID为5180,为前台进程组。

[root@tivf09 root]# ps -xj|grep 5128
5126 5128 5128 5128 pts/0 5180 S 0 0:00 -bash
5128 5180 5180 5128 pts/0 5180 S 0 0:50 top
3672 18095 18094 3672 pts/2 18094 S 0 0:00 grep 5128
关闭第一个SSH窗口,在另一个窗口中可以看到top也被杀掉了。

[root@tivf09 root]# ps -ef|grep 5128
root 18699 3672 0 04:35 pts/2 00:00:00 grep 5128
问题2 为什么守护程序就算ssh 打开的,就算关闭ssh也不会影响其运行?

因为他们的程序特殊,比如httpd –k start运行这个以后,他不属于sshd这个进程组 而是单独的进程组,所以就算关闭了ssh,和他也没有任何关系!

[root@CentOS5-4 ~]# pstree |grep http
|-httpd
[root@CentOS5-4 ~]# pstree |grep top
|-sshd-+-sshd—bash—top
结论:守护进程的启动命令本身就是特殊的,和一般命令不同的,比如mysqld_safe 这样的命令 一旦使用了 就是守护进程运行。所以想把一般程序改造为守护程序是不可能,

问题3 使用后台运行命令& 能否将程序摆脱ssh进程组控制呢 也就是ssh关闭,后台程序继续运行?

我们做一个试验:

find / -name ‘*http*’&
利用ctrl+d 注销以后 再进入系统 会不会看见这个命令再运行?
答案是 :命令被中止了!!

因为他依然属于这个ssh进程组 就算加了&也无法摆脱!!
[root@CentOS5-4 ~]# pstree |grep find
|-sshd-+-sshd—bash—find

结论就是:只要是ssh 打开执行的一般命令,不是守护程序,无论加不加&,一旦关闭ssh,系统就会用SIGHUP终止

问题4 nohup能解决的问题

但是为了能够再注销以后 依然能后台运行,那么我们就可以使用nohup这个命令,我们现在开始查找find / -

name ‘*http*’&
,并且希望在后台运行,

那么就使用nohup:nohup find / -name “*httpd*”

此时默认地程序运行的输出信息放到当前文件夹的nohup.out 文件中去

加不加&并不会影响这个命令 只是让程序 前台或者后台运行而已

延伸:Linux命令nohup+screen命令

如果想在关闭ssh连接后刚才启动的程序继续运行怎么办,可以使用nohup。但是如果要求第二天来的时候,一开ssh,还能查看到昨天运行的程序的状态,然后继续工作,这时nohup是不行了,需要使用screen来达到这个目的。

虽然nohup很容易使用,但还是比较“简陋”的,对于简单的命令能够应付过来,对于复杂的需要人机交互的任务就麻烦了。

其实我们可以使用一个更为强大的实用程序screen。流行的Linux发行版(例如Red Hat Enterprise Linux 4)通常会自带screen实用程序,如果没有的话,可以从GNU screen的官方网站下载。

1)使用

执行screen , 按任意键进入子界面;

我用ping命令开始执行,如果下班了,但是想关闭ssh以后ping继续运行,那么按ctrl+a 再按d 这样暂停了子界面,会显示[detached]的字样,这时候 我回到了父界面;

用screen –ls查看目前子界面的状态screen -ls

There is a screen on: 22292.pts-3.free (Detached)

1 Socket in /tmp/screens/S-root,这里的22292其实是子界面的pid号;

如果回到子界面 用screen –r 22292,一下子弹到了ping 的子界面;

2)更多帮助

可以通过C-a(ctrl+a)?来查看所有的键绑定,常用的键绑定有:

C-a ?

显示所有键绑定信息

C-a w

显示所有窗口列表

C-a C-a

切换到之前显示的窗口

C-a c

创建一个新的运行shell的窗口并切换到该窗口

C-a n

切换到下一个窗口

C-a p

切换到前一个窗口(与C-a n相对)

C-a 0..9

切换到窗口0..9

C-a a

发送C-a到当前窗口

C-a d

暂时断开screen会话

C-a k

杀掉当前窗口

C-a [

进入拷贝/回滚

其他常用选项:

-c file

使用配置文件file,而不使用默认的$HOME/.screenrc

-d|-D [pid.tty.host]

不开启新的screen会话,而是断开其他正在运行的screen会话

-h num

指定历史回滚缓冲区大小为num行

-list|-ls

列出现有screen会话,格式为pid.tty.host

-d -m

启动一个开始就处于断开模式的会话

-r sessionowner/ [pid.tty.host]

重新连接一个断开的会话。多用户模式下连接到其他用户screen会话需要指定sessionowner,需要setuid-root权限

-S sessionname

创建screen会话时为会话指定一个名字

-v

显示screen版本信息

-wipe [match]

同-list,但删掉那些无法连接的会话

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

使用putty登录linux后立刻自动闪出(退出)SecureCRT:all available gssapi mechanisms failed 错误

2015年5月21日 没有评论

领用使用putty登录linux后立刻自动闪出(退出)
SecureCRT ssh连接服务器报all available gssapi mechanisms failed 问题

对于这种问题,一般核查的方向都在ssh服务器端,首先应该查看系统的sshd_config 是否有改动,这里服务器端跟此问题相关的参数为PasswordAuthentication,我们核查到服务器上此参数配置的为no.

问题解决

我这边出现此问题通过修改服务器sshd参数配置修复,修改/etc/ssh/sshd_config文件将参数PasswordAuthentication 改为yes

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

yum使用相关问题

2015年5月13日 没有评论

yum使用相关问题:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
解决办法:
一:看网络通不
二:看dns设置
三:检查yum源,如果有https开头的源,就在iptables里边设置允许443端口进出即可
常见yum源(针对redhat,centos):
epel-release
rpmforge-release
freshrpms-release
rpmfusion-free-release
atomic
其他和yum相关包:
yum-plugin-fastestmirror
yum-priorities
如果要在使用本地光盘做为yum源,那么
在/etc/yum.repos.d/Centos-Media.repo中添加:
[item_name]
baseurl=file:///medi_mout_dir
gpacheck=0
enabled=1

杀死yum进程:
ps -A | grep yum |grep -v grep | awk ‘{print $1}’ | xargs kill -9

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

Win 2008安装IIS7时提示安装失败,错误代码0×80070643解决方案

2015年5月7日 没有评论

经过各种百度发现,这可能是微软产品的一个安装策略问题,原因就不深究了,简单说下解决方案:
1、禁用WAS,即Windows进程激活服务功能(Windows Process Activation Service)。在开始,运行,输入:
dism.exe /online /disable-Feature /featurename:WAS-WindowsActivationService
2、卸载II7,并重启计算机。
3、再次重新安装IIS7。注意重启完后。进入后需要卸载II7,有个过程,一定要点时间等跳出对话完成卸载II7。
4、启用WAS,在开始,运行,输入:
dism.exe /online /enable-Feature /featurename:WAS-WindowsActivationService
dism.exe /online /enable-Feature /featurename:NetFxEnvironment