Rootop 服务器运维与web架构

2015-04-10
发表者 Venus
Cisco WS-C3750G-48TS 交换机恢复密码已关闭评论

Cisco WS-C3750G-48TS 交换机恢复密码

把交换机断电,按住前面板的mode键,加电。过个10秒左右松开按键(有的资料说直到sys灯不闪动为止,即常亮状态)

进入到交换机的底层模式switch:

键入 flash_init 初始化flash文件系统:
switch: flash_init


键入 dir flash 查看交换机配置文件:
switch: dir flash:    #注意是冒号结尾


键入 rename flash:config.text flash:config.old 备份交换机原始配置文件:
switch: rename flash:config.text flash:config.old


查看是否修改成功:
switch: dir flash:

键入 boot 启动交换机:
switch: boot


在启动到 Would you like to enter the initial configuration dialog? [yes/no]: no 这个地方选no

经过以上,交换机恢复到出厂设置。

恢复之前的配置信息:
先恢复之前的配置文件
Switch>enable
Switch#dir
Directory of flash:/

2 -rwx 5527 Sep 25 2014 00:28:11 +00:00 config.old
3 -rwx 27 Sep 25 2014 00:28:11 +00:00 private-config.text
4 -rwx 616 Mar 1 1993 00:02:41 +00:00 vlan.dat
5 drwx 192 Mar 1 1993 00:08:53 +00:00 c3750-ipbase-mz.122-25.SEB4

32514048 bytes total (25398784 bytes free)

Switch#rename flash:config.old flash:config.text
Destination filename [config.text]?   #直接回车
Switch#

再恢复配置文件信息到DRAM存储器:
Switch#copy flash:config.text system:running-config
Destination filename [running-config]?

5527 bytes copied in 0.637 secs (8677 bytes/sec)
Switch#

再次show run 就可以看到之前的配置信息了。
Switch#show running-config

因为恢复了之前的配置信息,要修改密码:
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#no enable secret
Switch(config)#enable secret 123
Switch(config)#exit

将配置写入nvram:
Switch#write memory

完成。

2015-04-06
发表者 Venus
nginx限制并发连接数及下载带宽已关闭评论

nginx限制并发连接数及下载带宽

nginx版本:nginx-1.6.2

在早期nginx中为limit_zone,新版本改为limit_conn_zone

编译安装时不需要特定参数,默认就会编译进去。

配置过程:
在nginx.conf中的http{}段里添加:

limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;

在需要限制并发数和下载带宽的虚拟主机配置文件server{}段里添加:

limit_conn perip 5;
limit_conn perserver 2000;
limit_rate 100k;

参数说明:
$binary_remote_addr  #限制同一客户端ip地址
$server_name #限制同一server最大并发数
limit_conn       #限制并发连接数
limit_rate         #对每个连接(而不是对源ip)限制下载速度kb

limit_conn_zone,是针对每个IP定义一个存储session状态的容器。
这个示例中定义了一个10m的容器,按照32bytes/session,可以处理320000个session。

同一个浏览器下载2个视频测试:

超过最大连接数效果图:

nginx相比apacha下的第三方模块mod_bw要好一些,不过发现现在apache2.4版本中也有了限速模块。
地址:http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html

提示:

在windows下的nginx中使用此功能会有问题,nginx错误日志信息:

2015/04/03 09:07:25 [emerg] 1840#548: shared zone “perip” has no equal addresses: 02F40000 vs 02FB0000
2015/04/03 09:07:25 [alert] 612#568: worker process 1840 exited with code 1

在nginx官网有解释:http://nginx.org/en/docs/windows.html#known_issues

The cache and other modules which require shared memory support do not work on Windows Vista and later versions due to address space layout randomization being enabled in these Windows versions.

所以此功能不适用于windows下。

2015-04-05
发表者 Venus
apache2.4使用mod_ratelimit模块限制下载速度已关闭评论

apache2.4使用mod_ratelimit模块限制下载速度

项目中apache需要访问nas共享中的一个目录,会牵扯到身份验证,这里设置nas访问用户为administrator,密码同本地系统administrator密码一致!

修改apache服务,以管理员用户启动,否则访问nas目录会报404错误(应该是访问不到)。

载入限速模块,配置目录权限及限速:

LoadModule ratelimit_module modules/mod_ratelimit.so
<Location /vkvod>
 SetOutputFilter RATE_LIMIT
 SetEnv rate-limit 100 #限速100k
</Location>
#设置虚拟目录权限,否则提示403错误
<Directory //192.168.0.157/NAS/Vod>
 Options Indexes FollowSymLinks Includes ExecCGI
 AllowOverride All
 Require all granted
</Directory>

设置虚拟目录:

<IfModule alias_module>
 Alias /vkvod //192.168.0.157/NAS/Vod
</IfModule>

用浏览器下载 http://192.168.0.156/vkvod/2.mp4 测试 #单线程,不能用迅雷,迅雷为多线程。

通过测试也发现跟nginx一样是限制会话速度而不是限制单个ip速度。

官方手册:http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html

另外提示,在官方中并不提供windows下的apache2.4下载,只有源码包。可以从第三方网站下载。

提供一个第三方下载地址:http://s1.jisuxia.com/2013/0627/Apache_2.4.4_for_Windows_JiSuXia.rar

2015-04-03
发表者 Venus
windows下配置apache的单ip并发及限速模块(limitipconn2、mod_bw)已关闭评论

windows下配置apache的单ip并发及限速模块(limitipconn2、mod_bw)

limitipconn为单ip并发限制,mod_bw为单ip带宽限制,这两个模块都不属于apache官方模块,均为第三方开发。
limitipconn2第三方官网下载地址:
http://dominia.org/djao/limit/win32/mod_limitipconn.httpd-2.2.11-WIN32.zip

mod_bw第三方官网下载地址(仅支持2.2版本,新版2.4好像不支持没测试):
http://ivn.cl/files/dlls/mod_bw-0.91-2.2.14/mod_bw.dll

据网上资料说mod_bw模块是根据每个客户端进行带宽限制,但实际测试效果并不是这样,测试效果是对全局或者某个虚拟主机整体产生了影响。

配置过程:
修改apache配置文件,开启 mod_status.so 和载入 mod_limitipconn.dll :

LoadModule status_module modules/mod_status.so
ExtendedStatus On
LoadModule limitipconn_module modules/mod_limitipconn.dll

<IfModule mod_limitipconn.c>
<Location /vkvod>
MaxConnPerIP 3
</Location>
</IfModule>
#以上部分为对vkvod目录进行单ip线程连接限制,为实现效果设置为3,当超过线程连接数时,会报503错误。

LoadModule bw_module modules/mod_bw.dll

BandWidthModule On
ForceBandWidthModule On
BandWidth all 100000

Alias /vkvod "\\\\192.168.0.157\\NAS\\Vod"

#以上部分为载入mod_bw.dll模块,整体限速为100kb。
以上配置可以放到httpd.conf中也可以放到虚拟主机配置文件中,针对全局或虚拟主机进行限制。

参数说明:
MaxConnPerIP 3 #限制的线程数
BandWidthModule On #是否开启限速
ForceBandWidthModule On #强制带宽限制
BandWidth all 100000 #最大带宽100kb

效果截图:

当超过最大连接数时,错误提示:

限速模块效果:当开启一个下载过程基本达到100kb的速度。

当开启3个下载过程(3台独立客户端下载)基本在40-60kb:

所以说mod_bw的带宽限速效果不太适合我当前环境,可以用于针对某个虚拟主机限速。防止下载量过大影响其他虚拟主机。

经过查阅apache2.4官方文档,已经自带了限速模块:http://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html

2015-04-02
发表者 Venus
windows下apache设置虚拟目录为NAS路径已关闭评论

windows下apache设置虚拟目录为NAS路径

项目需要在windows下的apache中访问共享中的数据,配置虚拟目录。
参数:

Alias 虚拟目录 物理路径

#本地目录写法

Alias /vkvod "C:\vkvod"

#cifs共享写法

Alias /vkvod "\\\\192.168.0.157\\NAS\\Vod" #反斜杠

或者

Alias /vkvod "//192.168.0.157/NAS/Vod" #正斜杠

重启下apache服务即可。
这里测试了一下,在windows中,通过正斜杠/和反斜杠\都支持访问,不过反斜杠还需要加一个反斜杠来进行转义。

在linux下的话,不支持通过\\访问共享,只能挂载到本地目录。而且路径只能为正斜杠。