Source 安装:
https://developers.google.com/speed/docs/mod_pagespeed/build_from_source
为了帮助提升各类网站的访问速度, Google 发布了一个名为 mod_pagespeed 的自动化 Apache 优化模块,目前支持 CentOS, RHEL, Ubuntu, Debian, Fedora 等 Linux 发行版,用户只需要下载并安装相应的 Deb 或 RPM 包就可以完全自动优化 Apache Http 服务器了。
mod_pagespeed 可以做到:
•不需要对网站 CMS 系统进行改变即可应用。
•加速模块可以自行对网络传输的 html 字节优化及对图象 、css 进入压缩优化传输
•智能缓存是一大亮点,它可以自动智能缓存,加速下载
目前这套优化模块已经应用具于有 850万客户的 GoDaddy 服务器上,而且反响良好。根据此前的一些实践来看, 通过 mod_pagespeed 可以对 Web 性能的多个方面,包括缓存、客户端与服务器之间的连接、载荷大小等进行优化,最大可将页面加载时间缩短 50% 。
项目主页: http://code.google.com/speed/page-speed/docs/module.html
插件下载地址: http://code.google.com/speed/page-speed/download.html
开源项目地址: http://code.google.com/p/modpagespeed/
Redhat包的直接下载地址:https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
https://developers.google.com/speed/docs/mod_pagespeed/build_from_source
为了帮助提升各类网站的访问速度, Google 发布了一个名为 mod_pagespeed 的自动化 Apache 优化模块,目前支持 CentOS, RHEL, Ubuntu, Debian, Fedora 等 Linux 发行版,用户只需要下载并安装相应的 Deb 或 RPM 包就可以完全自动优化 Apache Http 服务器了。
mod_pagespeed 可以做到:
•不需要对网站 CMS 系统进行改变即可应用。
•加速模块可以自行对网络传输的 html 字节优化及对图象 、css 进入压缩优化传输
•智能缓存是一大亮点,它可以自动智能缓存,加速下载
目前这套优化模块已经应用具于有 850万客户的 GoDaddy 服务器上,而且反响良好。根据此前的一些实践来看, 通过 mod_pagespeed 可以对 Web 性能的多个方面,包括缓存、客户端与服务器之间的连接、载荷大小等进行优化,最大可将页面加载时间缩短 50% 。
项目主页: http://code.google.com/speed/page-speed/docs/module.html
插件下载地址: http://code.google.com/speed/page-speed/download.html
开源项目地址: http://code.google.com/p/modpagespeed/
Redhat包的直接下载地址:https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
让EditPlus支持PHP5的函数列表:
当我们在EditPlus中写函数的时候,直接用EditPlus的显示函数列表功能(F11)不能正确读出PHP5 的新型函数,如包含Private/Public等关键字的函数。
可以通过以下方法解决。
打开EditPlus“参数选择”
文件 - 语法 - PHP
将函数模板改为:
^[ \t]*[a-z| ]*function[ \t].*\([^;]*$
当我们在EditPlus中写函数的时候,直接用EditPlus的显示函数列表功能(F11)不能正确读出PHP5 的新型函数,如包含Private/Public等关键字的函数。
可以通过以下方法解决。
打开EditPlus“参数选择”
文件 - 语法 - PHP
将函数模式改为:
^[ \t]*[a-z| ]*function[ \t].*\([^;]*$
来自:http://www.chinaunix.net/old_jh/27/635701.html
当我们在EditPlus中写函数的时候,直接用EditPlus的显示函数列表功能(F11)不能正确读出PHP5 的新型函数,如包含Private/Public等关键字的函数。
可以通过以下方法解决。
打开EditPlus“参数选择”
文件 - 语法 - PHP
将函数模板改为:
^[ \t]*[a-z| ]*function[ \t].*\([^;]*$
当我们在EditPlus中写函数的时候,直接用EditPlus的显示函数列表功能(F11)不能正确读出PHP5 的新型函数,如包含Private/Public等关键字的函数。
可以通过以下方法解决。
打开EditPlus“参数选择”
文件 - 语法 - PHP
将函数模式改为:
^[ \t]*[a-z| ]*function[ \t].*\([^;]*$
来自:http://www.chinaunix.net/old_jh/27/635701.html
用途:用于查看当前服务器读写磁盘情况.
iostat -x 1
-x Display extended statistics.
iostat -x 3 #服务器有两块盘,一块是系统盘,另一块是Mysql数据盘,压力测试时能看到数据盘写入读取很大
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 1.29 0.01 1.00 0.26 10.62 21.62 0.00 3.47 3.47 3.47 1.02 0.10
vdb 0.00 6.57 0.01 5.86 0.21 60.70 20.75 0.01 1.27 5.61 1.27 1.01 0.59
反查其rpm包:
rpm -qf /usr/bin/iostat
sysstat-9.0.4-22.el6.x86_64
在别的没有这个iostat的机器上安装:
yum install sysstat -y
iostat -x 1
USB3.0上跑,iostat -d 2 -m
以M显示:
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 976.00 122.00 0.00 244 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
sdb 258.50 0.00 129.25 0 258
dm-2 0.00 0.00 0.00 0 0
每天一个linux命令之iostat命令:
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。
1.命令格式:
iostat[参数][时间][次数]
2.命令功能:
通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。
3.命令参数:
-C 显示CPU使用情况
-d 显示磁盘使用情况
-k 以 KB 为单位显示
-m 以 M 为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS 使用情况
-p[磁盘] 显示磁盘和分区的情况
-t 显示终端和CPU的信息
-x 显示详细信息
-V 显示版本信息
4.使用实例:
实例1:显示所有设备负载情况
命令:
iostat
输出:
[root@CT1186 ~]# iostat
Linux 2.6.18-128.el5 (CT1186) 2012年12月28日
avg-cpu: %user %nice %system %iowait %steal %idle
8.30 0.02 5.07 0.17 0.00 86.44
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 22.73 43.70 487.42 674035705 7517941952
sda1 0.00 0.00 0.00 2658 536
sda2 0.11 3.74 3.51 57721595 54202216
sda3 0.98 0.61 17.51 9454172 270023368
sda4 0.00 0.00 0.00 6 0
sda5 6.95 0.12 108.73 1924834 1677123536
sda6 2.20 0.18 31.22 2837260 481488056
sda7 12.48 39.04 326.45 602094508 5035104240
复制代码
说明:
cpu属性值说明:
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。
备注:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
disk属性值说明:
rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s
wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s
r/s: 每秒完成的读 I/O 设备次数。即 rio/s
w/s: 每秒完成的写 I/O 设备次数。即 wio/s
rsec/s: 每秒读扇区数。即 rsect/s
wsec/s: 每秒写扇区数。即 wsect/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。
avgqu-sz: 平均I/O队列长度。
await: 平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
%util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比
备注:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。
———————————————————————————————————————————————————————————————————————————
使用yum,如何安装iostat sysstat 使用yum安装
#yum install sysstat
各个输出项目的含义如下:
avg-cpu段:
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read: 读入的block总数.
Blk_wrtn: 写入的block总数.
阅读全文
iostat -x 1
-x Display extended statistics.
iostat -x 3 #服务器有两块盘,一块是系统盘,另一块是Mysql数据盘,压力测试时能看到数据盘写入读取很大
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 1.29 0.01 1.00 0.26 10.62 21.62 0.00 3.47 3.47 3.47 1.02 0.10
vdb 0.00 6.57 0.01 5.86 0.21 60.70 20.75 0.01 1.27 5.61 1.27 1.01 0.59
反查其rpm包:
rpm -qf /usr/bin/iostat
sysstat-9.0.4-22.el6.x86_64
在别的没有这个iostat的机器上安装:
yum install sysstat -y
iostat -x 1
USB3.0上跑,iostat -d 2 -m
以M显示:
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 976.00 122.00 0.00 244 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
sdb 258.50 0.00 129.25 0 258
dm-2 0.00 0.00 0.00 0 0
每天一个linux命令之iostat命令:
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。
1.命令格式:
iostat[参数][时间][次数]
2.命令功能:
通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。
3.命令参数:
-C 显示CPU使用情况
-d 显示磁盘使用情况
-k 以 KB 为单位显示
-m 以 M 为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS 使用情况
-p[磁盘] 显示磁盘和分区的情况
-t 显示终端和CPU的信息
-x 显示详细信息
-V 显示版本信息
4.使用实例:
实例1:显示所有设备负载情况
命令:
iostat
输出:
[root@CT1186 ~]# iostat
Linux 2.6.18-128.el5 (CT1186) 2012年12月28日
avg-cpu: %user %nice %system %iowait %steal %idle
8.30 0.02 5.07 0.17 0.00 86.44
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 22.73 43.70 487.42 674035705 7517941952
sda1 0.00 0.00 0.00 2658 536
sda2 0.11 3.74 3.51 57721595 54202216
sda3 0.98 0.61 17.51 9454172 270023368
sda4 0.00 0.00 0.00 6 0
sda5 6.95 0.12 108.73 1924834 1677123536
sda6 2.20 0.18 31.22 2837260 481488056
sda7 12.48 39.04 326.45 602094508 5035104240
复制代码
说明:
cpu属性值说明:
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。
备注:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
disk属性值说明:
rrqm/s: 每秒进行 merge 的读操作数目。即 rmerge/s
wrqm/s: 每秒进行 merge 的写操作数目。即 wmerge/s
r/s: 每秒完成的读 I/O 设备次数。即 rio/s
w/s: 每秒完成的写 I/O 设备次数。即 wio/s
rsec/s: 每秒读扇区数。即 rsect/s
wsec/s: 每秒写扇区数。即 wsect/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。
avgqu-sz: 平均I/O队列长度。
await: 平均每次设备I/O操作的等待时间 (毫秒)。
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。
%util: 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比
备注:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。
———————————————————————————————————————————————————————————————————————————
使用yum,如何安装iostat sysstat 使用yum安装
#yum install sysstat
各个输出项目的含义如下:
avg-cpu段:
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read: 读入的block总数.
Blk_wrtn: 写入的block总数.

大多数的epoll 代码例子是 被动连接的。 但是我的例子不一样。我是一个主动连接的代码。 因为类似爬虫这样的程序是需要主动连接服务器的。 现在我的代码很郁闷的地方 是连接数上不去,只能保持在100左右。这是个非常低的值。 我认为至少要在2000 以上才行。
代码编译正常,运行正常。也没有发现所谓的连接数变大的现象。 但就是同时的连接数很少 我这里只有140 左右。
而 如果apache 服务器在本地的话可以达到400 左右,这样的话,我仍然认为偏少。 我认为如果是局域网达到2000 应该没问题,可惜我这里上不去。 上不去的原因 第一 apache 服务器 accept 速度不够? 我认为这不太可能,不少服务同时在线4000-5000人。那么同时连接数>>400 才差不多。 第二 是代码某个地方有瓶颈? 我认为是的。 但找不到。 能给电建议吗?
要测试自己的服务器 只需要把那段http request 改成自己的就可以了。 修改一下 也可以变为灌水机,但技术含量就太低了。
原理是启动一个线称不断的建立连接 ,connect 用了阻塞的, 我认为这里效率比较低。但如果是非阻塞的话, 那么在select 同时 再建立第二个连接 是不是可以呢? 能给点代码和意见吗?
如果这个模型稳定而成功, 一个网页蜘蛛就有了个网络基础了。
root@192.168.98.128:/data0/htdocs/tmp# g++ epoll.cpp -o thread -lpthread
root@192.168.98.128:/data0/htdocs/tmp# ./thread
pthread created
now lines = 1
begin connect
epollfd = 3
begin epoll_wait
connect failed
timeout
EOF
以上来自:http://bbs.chinaunix.net/thread-950204-1-1.html
最后:
该代码在编译时出现问题的解决:
undefined reference to 'pthread_create'问题解决
由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:
undefined reference to 'pthread_create'
undefined reference to 'pthread_join'
问题原因:
pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。
问题解决:
在编译中要加 -lpthread参数
gcc thread.c -o thread -lpthread
thread.c为你些的源文件,不要忘了加上头文件#include<pthread.h>
背景:Win7运行久了往往出现占满磁盘,那个系统盘出现红色:
如何快速地查找Windows7大尺码文件呢?其实并不需要第三方的软件,在windows 7系统下,我们可以很方便地查找大尺码文件。
首先定位文件夹:如果要搜索所有盘,只要按下Win+E直接打开资源管理器即可;如果是具体的磁盘,则在左边选择相应的分区即可;当然如果指定文件夹也很简单,你懂的。
接下来,只要在搜索框中输入“大小:>300M”回车后即可(经过试验半角全角的冒号都可以,系统都认定可用的,但是一定要有),这样就 会搜索出指定位置所有大于300M的文件,很方便,对于后面的文件大小可以使用G、M、K等单位,如果要再精准的字节数,则可以输入具体的数字,比如“大 小:>100000000”这样的也是可以的。
▲Windows 7大尺码文件查找很便利
如果想要搜索快一些,可以对指定分区进行索引,但是要知道,Win7的索引是有“轻度”问题的,有时候索引没有更新,会有一些不应该出现的问题轻度出现。所以要追求精确结果的话,还是把索引关了吧,毕竟在搜索出结果后我们还是可以把它保存下来,方便再次使用的。
Linux中清理磁盘空间时,经常需要找出大于200M的文件,然后删除。
这个命令可以实现这个功能:
find / -size +200M -exec du -h {} \;
如何快速地查找Windows7大尺码文件呢?其实并不需要第三方的软件,在windows 7系统下,我们可以很方便地查找大尺码文件。
首先定位文件夹:如果要搜索所有盘,只要按下Win+E直接打开资源管理器即可;如果是具体的磁盘,则在左边选择相应的分区即可;当然如果指定文件夹也很简单,你懂的。
接下来,只要在搜索框中输入“大小:>300M”回车后即可(经过试验半角全角的冒号都可以,系统都认定可用的,但是一定要有),这样就 会搜索出指定位置所有大于300M的文件,很方便,对于后面的文件大小可以使用G、M、K等单位,如果要再精准的字节数,则可以输入具体的数字,比如“大 小:>100000000”这样的也是可以的。
▲Windows 7大尺码文件查找很便利
如果想要搜索快一些,可以对指定分区进行索引,但是要知道,Win7的索引是有“轻度”问题的,有时候索引没有更新,会有一些不应该出现的问题轻度出现。所以要追求精确结果的话,还是把索引关了吧,毕竟在搜索出结果后我们还是可以把它保存下来,方便再次使用的。
Linux中清理磁盘空间时,经常需要找出大于200M的文件,然后删除。
这个命令可以实现这个功能:
find / -size +200M -exec du -h {} \;
今天看cntv.com里的央视“爱西柚”(你说对了,就是I see you)里随便找了个视频抓包了下:
里面有一个content-type:application/octet-stream; charset=x-user-defined,
发现在网上看到不少人在问:application/octet-stream是什么文件类型?
在试图下载网站视频时,看到提示:文件类型 application/octet-stream
如果不知道格式是难以进行格式转换的
这种文件实际上就是flv或f4v
把文件扩展名改成如上类型即可。
---
这个应该是视频内容,一会去请求一下,一会儿去请求一下,应该是视频分片后,前台Flahs逻辑去缓存并顺序播放,而不用一次去取整个视频。
产品:
一:屏幕上有普通屏幕,宽频,默认。
(这个在目前的一些液晶电视里发现有这个问题,因很多液晶电视都是宽频,把人拉宽变胖了,于是得要给整成个正常的宽高比才正常,出现了宽频的左右留空,主要还是输出是就是一个普通的比例造成的,再就是在视频采集时不是按宽屏进行录像或排山拍摄引起的。)
二:质量上:标清,高清,超清。三种,根据中国各个区域的网速只能选择,默认因该是一个标清。
里面有一个content-type:application/octet-stream; charset=x-user-defined,
发现在网上看到不少人在问:application/octet-stream是什么文件类型?
在试图下载网站视频时,看到提示:文件类型 application/octet-stream
如果不知道格式是难以进行格式转换的
这种文件实际上就是flv或f4v
把文件扩展名改成如上类型即可。
---
这个应该是视频内容,一会去请求一下,一会儿去请求一下,应该是视频分片后,前台Flahs逻辑去缓存并顺序播放,而不用一次去取整个视频。
产品:
一:屏幕上有普通屏幕,宽频,默认。
(这个在目前的一些液晶电视里发现有这个问题,因很多液晶电视都是宽频,把人拉宽变胖了,于是得要给整成个正常的宽高比才正常,出现了宽频的左右留空,主要还是输出是就是一个普通的比例造成的,再就是在视频采集时不是按宽屏进行录像或排山拍摄引起的。)
二:质量上:标清,高清,超清。三种,根据中国各个区域的网速只能选择,默认因该是一个标清。
在使用apache + subversion安装配置好SVN服务器之后,遇到了一个很困惑的问题:“/svn/test/!svn/vcc/default”: Could not read status line: 远程主机强迫关闭了一个现有的连接”。这个问题直到今天也还没有完全解决。
先说一下目前的情况:
CentOS 5.2
apahce版本:2.2.11
subversion版本:1.6.12
安装配置完成后,在浏览器中使用 http://192.168.1.10/svn/test 访问版本库,OK,一切正常!再使用http://www1.test.com/svn/test 访问版本库,OK,一切正常!
注意:我使用apahce虚拟主机把www1.test.com绑定到了192.168.1.10这个ip上。
问题在于:
当我使用TortoiseSVN 1.6.12客户端连接时,使用http://192.168.1.10/svn/test 可以访问,但使用http://www1.test.com/svn/test就会返回错误:
“方法 REPORT 失败于 “/svn/test/!svn/vcc/default”: Could not read status line: 远程主机强迫关闭了一个现有的连接。”
这个错误简直让人崩溃,网上搜索无数次都没有解决方案。目前只好使用ip的方式进行SVN的操作。
不知道大家有没有人遇到这个问题?是怎么解决的?
用Tsvn客户端连接时报PROPFIND of '/repos/myapp': Could not read status line: 您的主机中的软件中止了一个已建立的连接。
查阅N久,最后一文解惑!
apache 的 http.conf中的KeepAlive 设置为On
来自:
http://www.frostsky.com/2011/12/svn-could-not-read-status-line/
http://blog.csdn.net/zxl0110/article/details/5871173
上面的问题,我按此试了下,最后还是不行,但发现有人无意解决,但没有说是怎么解决的,呵呵呵 。
svn: REPORT of ‘/!svn/vcc/default’: Could not read status line: connection was closed by server.
这个问题困扰了我很长时间,Google和官方论坛都无结果。后来昨天竟然自己无意中解决了,感动的得哭了:)
先说一下目前的情况:
CentOS 5.2
apahce版本:2.2.11
subversion版本:1.6.12
安装配置完成后,在浏览器中使用 http://192.168.1.10/svn/test 访问版本库,OK,一切正常!再使用http://www1.test.com/svn/test 访问版本库,OK,一切正常!
注意:我使用apahce虚拟主机把www1.test.com绑定到了192.168.1.10这个ip上。
问题在于:
当我使用TortoiseSVN 1.6.12客户端连接时,使用http://192.168.1.10/svn/test 可以访问,但使用http://www1.test.com/svn/test就会返回错误:
“方法 REPORT 失败于 “/svn/test/!svn/vcc/default”: Could not read status line: 远程主机强迫关闭了一个现有的连接。”
这个错误简直让人崩溃,网上搜索无数次都没有解决方案。目前只好使用ip的方式进行SVN的操作。
不知道大家有没有人遇到这个问题?是怎么解决的?
用Tsvn客户端连接时报PROPFIND of '/repos/myapp': Could not read status line: 您的主机中的软件中止了一个已建立的连接。
查阅N久,最后一文解惑!
apache 的 http.conf中的KeepAlive 设置为On
来自:
http://www.frostsky.com/2011/12/svn-could-not-read-status-line/
http://blog.csdn.net/zxl0110/article/details/5871173
上面的问题,我按此试了下,最后还是不行,但发现有人无意解决,但没有说是怎么解决的,呵呵呵 。
svn: REPORT of ‘/!svn/vcc/default’: Could not read status line: connection was closed by server.
这个问题困扰了我很长时间,Google和官方论坛都无结果。后来昨天竟然自己无意中解决了,感动的得哭了:)
[实践OK]苏州桥机房里因换主板后,开机时网卡灯亮,后面网卡灯不亮,service network start启动网卡时出现 does not seem to be present, delaying initialization,是因为Linux换主打板导致网卡MAC地址不一样device eth0 does not seem to be ...),sshd 启动时出现/etc/ssh/ssdh_config Permission denied 解决方案汇总
Unix/LinuxC技术 jackxiang 2012-10-12 18:08
背景:之前一直是vmware在把包拷贝到不同的机器时,开机时有一个提示是copy还是move,如果选copy,在联网时会出现device eth0 does not seem to be ,而最近在一台机房的机器换了主板后,也出现了类似的情况,苏州桥机房里因换主板后,开机时网卡灯亮,后面网卡灯不亮,service network start启动网卡时出现 does not seem to be present,于是再次总结一下:
1)首先直接删除70-persistent-net.rules配置文件:
rm -fr /etc/udev/rules.d/70-persistent-net.rules
2)把网卡eth0,eth1,,eth2三张网卡给挪动一次。(也有说不用挪动,为何挪动,是因为里面有物理网卡的地址)。
3)重启后,对1)里70-persistent-net.rules的mac地址重新对应修改并挪动复原,再:
ifconfig eth0 up ifconfig eth1 up ifconfig eth2 up
最后,在sshd时还发现,service sshd start 时出现:
/etc/ssh/ssdh_config Permission denied .................
查了下,修改里面的让root能登录,依然不行,后来直接重新卸载掉sshd所有rpm包,重新yum包就ok了。
yum remove openssh-* -y
yum install openssh-* -y
查看:http://xinkang120.blog.163.com/blog/static/194668223201262114841765/
简单有效,我试过Ok的解决办法:
最简单的解决办法是直接删除70-persistent-net.rules配置文件
rm -fr /etc/udev/rules.d/70-persistent-net.rules
reboot
重启系统就ok了,系统会自动生成一个新的。
阅读全文
1)首先直接删除70-persistent-net.rules配置文件:
rm -fr /etc/udev/rules.d/70-persistent-net.rules
2)把网卡eth0,eth1,,eth2三张网卡给挪动一次。(也有说不用挪动,为何挪动,是因为里面有物理网卡的地址)。
3)重启后,对1)里70-persistent-net.rules的mac地址重新对应修改并挪动复原,再:
ifconfig eth0 up ifconfig eth1 up ifconfig eth2 up
最后,在sshd时还发现,service sshd start 时出现:
/etc/ssh/ssdh_config Permission denied .................
查了下,修改里面的让root能登录,依然不行,后来直接重新卸载掉sshd所有rpm包,重新yum包就ok了。
yum remove openssh-* -y
yum install openssh-* -y
查看:http://xinkang120.blog.163.com/blog/static/194668223201262114841765/
简单有效,我试过Ok的解决办法:
最简单的解决办法是直接删除70-persistent-net.rules配置文件
rm -fr /etc/udev/rules.d/70-persistent-net.rules
reboot
重启系统就ok了,系统会自动生成一个新的。

今天把自己的测试机的SVN配置成ssl了,把它纳入开机启动,但发现它需要密码,一直在那儿:
原因就是机房意外的重启了我的机器,因为apache 要输入ssl密码才能启动,所以就启动不起来。
用下面的方法就可以避免这个问题:
ee /usr/local/etc/apache22/httpd.conf
找到:
<IfModule ssl_module>
加入这样一行:
SSLPassPhraseDialog exec:/usr/local/etc/apache22/ssl_pass.sh
ee /usr/local/etc/apache22/ssl_pass.sh
加入一个echo语句
#!/bin/sh
echo “password”
然后让它有执行权限:
chmod +x /usr/local/etc/apache22/ssl_pass.sh
再重启一下服务器测试一下看看有没有问题。
My Demo:
autoEnterSSLPwd.sh
#!/bin/sh
echo "XpXd*108"
参考来源:http://blog.csdn.net/ccmjs/article/details/7382852
http://www.cnblogs.com/niniwzw/archive/2011/11/30/2268674.html
后记:
Jack-回忆未来(372647693) 17:02:43
问个问题:apach 配置ssl启动时需要输入密码,怎么不让它输入啊?我默认启动就挂在那儿了。
yening-QQ美食(55881329) 17:31:24
生成ssl密钥的时候好像输入一个 pass phrase 不输入就不用密码
yening-QQ美食(55881329) 17:32:36
否者要自己配 SSLPassPhraseDialog 调外部程序输入口令 ,比较麻烦.
Jack-回忆未来(372647693) 17:39:52
嗯,是啊,是那个填写公司和地址时只输入一次那个是吧?
yening-QQ美食(55881329) 17:40:38
对 。
回车留空即可。
Jack-回忆未来(372647693) 17:41:37
1. 生成服务器的私钥:
openssl genrsa -des3 -out my-server.key 1024 #这里需要你输入密码,记下来
在当前目录下生成了一个my-server.key生成签署申请
Enter pass phrase for server.key:********Verifying - Enter pass phrase for server.key:********
命令运行期间需要用户输入并确认自己的密码。。
这儿对吧?
yening-QQ美食(55881329) 17:42:17
嗯
叶宁 17:45:26
openssl genrsa -des3 -out my-server.key 1024 #这里需要你输入密码,记下来
在当前目录下生成了一个my-server.key生成签署申请
Enter pass phrase for server.key:********Verifying - Enter pass phrase for server.key:********
命令运行期间需要用户输入并确认自己的密码。。
这个地方.
~ 反正输password的地方你都留空好了
里面有一地方是输入公司,等:
A challenge password []: 交换密钥
叶宁 17:47:09
都是extra的属性 应该不太需要的.
原因就是机房意外的重启了我的机器,因为apache 要输入ssl密码才能启动,所以就启动不起来。
用下面的方法就可以避免这个问题:
ee /usr/local/etc/apache22/httpd.conf
找到:
<IfModule ssl_module>
加入这样一行:
SSLPassPhraseDialog exec:/usr/local/etc/apache22/ssl_pass.sh
ee /usr/local/etc/apache22/ssl_pass.sh
加入一个echo语句
#!/bin/sh
echo “password”
然后让它有执行权限:
chmod +x /usr/local/etc/apache22/ssl_pass.sh
再重启一下服务器测试一下看看有没有问题。
My Demo:
autoEnterSSLPwd.sh
#!/bin/sh
echo "XpXd*108"
参考来源:http://blog.csdn.net/ccmjs/article/details/7382852
http://www.cnblogs.com/niniwzw/archive/2011/11/30/2268674.html
后记:
Jack-回忆未来(372647693) 17:02:43
问个问题:apach 配置ssl启动时需要输入密码,怎么不让它输入啊?我默认启动就挂在那儿了。
yening-QQ美食(55881329) 17:31:24
生成ssl密钥的时候好像输入一个 pass phrase 不输入就不用密码
yening-QQ美食(55881329) 17:32:36
否者要自己配 SSLPassPhraseDialog 调外部程序输入口令 ,比较麻烦.
Jack-回忆未来(372647693) 17:39:52
嗯,是啊,是那个填写公司和地址时只输入一次那个是吧?
yening-QQ美食(55881329) 17:40:38
对 。
回车留空即可。
Jack-回忆未来(372647693) 17:41:37
1. 生成服务器的私钥:
openssl genrsa -des3 -out my-server.key 1024 #这里需要你输入密码,记下来
在当前目录下生成了一个my-server.key生成签署申请
Enter pass phrase for server.key:********Verifying - Enter pass phrase for server.key:********
命令运行期间需要用户输入并确认自己的密码。。
这儿对吧?
yening-QQ美食(55881329) 17:42:17
嗯
叶宁 17:45:26
openssl genrsa -des3 -out my-server.key 1024 #这里需要你输入密码,记下来
在当前目录下生成了一个my-server.key生成签署申请
Enter pass phrase for server.key:********Verifying - Enter pass phrase for server.key:********
命令运行期间需要用户输入并确认自己的密码。。
这个地方.
~ 反正输password的地方你都留空好了
里面有一地方是输入公司,等:
A challenge password []: 交换密钥
叶宁 17:47:09
都是extra的属性 应该不太需要的.
nginx默认是不允许列出整个目录的。如需此功能,
打开nginx.conf文件,在location server 或 http段中加入
autoindex on;
另外两个参数最好也加上去:
autoindex_exact_size off;
默认为on,显示出文件的确切大小,单位是bytes。
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on;
默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间
Demo:
apache常用的工作模式有prefork和worker模式。运行命令httpd -l 或者apache2 -l ,输出的结果中如果含有prefork.c,那就是prefork模式,如果结果中含有worker.c,那就是worker模式。
如果apache已经安装,我们可以用"httpd -l"命令查看当前模式。若找到 prefork.c 则表示当前工作在prefork模式,同理出现 worker.c 则工作在worker模式。
如果apache还未安装,我们在编译的时候可以加入 --with-pem=(prefork|worker) 选项决定启用什么模式。
http://wenku.baidu.com/link?url=y3OpHIEd1VLsBxPHeQ8CPb4bPPWnsR6TIejiY1nr8NfSNSzPFVyWuInERBFPX4AOkoo1V0ptdTorPIq21vB8r90IIPX6xR37fZd_x5dEfOe&from_mod=download
httpd -V
Server version: Apache/2.2.3
Architecture: 32-bit
Server MPM: Prefork
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
<IfModule prefork.c>
StartServers 2
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1000
MaxRequestsPerChild 10000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
From:http://blog.csdn.net/aovenus/article/details/6541941
如果apache已经安装,我们可以用"httpd -l"命令查看当前模式。若找到 prefork.c 则表示当前工作在prefork模式,同理出现 worker.c 则工作在worker模式。
如果apache还未安装,我们在编译的时候可以加入 --with-pem=(prefork|worker) 选项决定启用什么模式。
http://wenku.baidu.com/link?url=y3OpHIEd1VLsBxPHeQ8CPb4bPPWnsR6TIejiY1nr8NfSNSzPFVyWuInERBFPX4AOkoo1V0ptdTorPIq21vB8r90IIPX6xR37fZd_x5dEfOe&from_mod=download
httpd -V
Server version: Apache/2.2.3
Architecture: 32-bit
Server MPM: Prefork
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
<IfModule prefork.c>
StartServers 2
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1000
MaxRequestsPerChild 10000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
From:http://blog.csdn.net/aovenus/article/details/6541941
[PATH设置]linux中profile的执行说明
Unix/LinuxC技术 jackxiang 2012-10-10 18:14
(1)/etc/profile
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
(2)/ect/bashrc
Ubuntu没有此文件,与之对应的是/ect/bash.bashrc它也是全局(公有)的,bash执行时,不管是何种方式,都会读取此文件。
(3)~/.profile
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。
(4)~/.bash_login
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
(5)~/.bash_profile
Unbutu默认没有此文件,可新建。
只有bash是以login形式执行时,才会读取此文件。通常该配置文件还会配置成去读取~/.bashrc。
(6)~/.bashrc
当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。
(7)~/.bash_logout
注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。
下面是在本机的几个例子:
1. 图形模式登录时,顺序读取:/etc/profile和~/.profile
2. 图形模式登录后,打开终端时,顺序读取:/etc/bash.bashrc和~/.bashrc
3. 文本模式登录时,顺序读取:/etc/bash.bashrc,/etc/profile和~/.bash_profile
4. 从其它用户su到该用户,则分两种情况:
(1)如果带-l参数(或-参数,--login参数),如:su -l username,则bash是lonin的,它将顺序读取以下配置文件:/etc/bash.bashrc,/etc/profile和~ /.bash_profile。
(2)如果没有带-l参数,则bash是non-login的,它将顺序读取:/etc/bash.bashrc和~/.bashrc
5. 注销时,或退出su登录的用户,如果是longin方式,那么bash会读取:~/.bash_logout
6. 执行自定义的shell文件时,若使用“bash -l a.sh”的方式,则bash会读取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(这个不属于bash shell),则不会读取上面的任何文件。
7. 上面的例子凡是读取到~/.bash_profile的,若该文件不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
(2)/ect/bashrc
Ubuntu没有此文件,与之对应的是/ect/bash.bashrc它也是全局(公有)的,bash执行时,不管是何种方式,都会读取此文件。
(3)~/.profile
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。
(4)~/.bash_login
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
(5)~/.bash_profile
Unbutu默认没有此文件,可新建。
只有bash是以login形式执行时,才会读取此文件。通常该配置文件还会配置成去读取~/.bashrc。
(6)~/.bashrc
当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。
(7)~/.bash_logout
注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。
下面是在本机的几个例子:
1. 图形模式登录时,顺序读取:/etc/profile和~/.profile
2. 图形模式登录后,打开终端时,顺序读取:/etc/bash.bashrc和~/.bashrc
3. 文本模式登录时,顺序读取:/etc/bash.bashrc,/etc/profile和~/.bash_profile
4. 从其它用户su到该用户,则分两种情况:
(1)如果带-l参数(或-参数,--login参数),如:su -l username,则bash是lonin的,它将顺序读取以下配置文件:/etc/bash.bashrc,/etc/profile和~ /.bash_profile。
(2)如果没有带-l参数,则bash是non-login的,它将顺序读取:/etc/bash.bashrc和~/.bashrc
5. 注销时,或退出su登录的用户,如果是longin方式,那么bash会读取:~/.bash_logout
6. 执行自定义的shell文件时,若使用“bash -l a.sh”的方式,则bash会读取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(这个不属于bash shell),则不会读取上面的任何文件。
7. 上面的例子凡是读取到~/.bash_profile的,若该文件不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
原文链接: The 7 signs of failure for internet startups
导致互联网初创公司失败的七个信号
1. 不是全职创业
2. 超过四个创始人
3. 没有技术合伙人
4. 没有根据业务类型,选择合适的创业组合
5. 没有实行中央集权
6. 一意孤行,没有汲取客户的反馈
7. 在一个没有经过验证的市场环境,扩张太快
在如果在创业公司的你,闻到了几个信号?
导致互联网初创公司失败的七个信号
1. 不是全职创业
2. 超过四个创始人
3. 没有技术合伙人
4. 没有根据业务类型,选择合适的创业组合
5. 没有实行中央集权
6. 一意孤行,没有汲取客户的反馈
7. 在一个没有经过验证的市场环境,扩张太快
在如果在创业公司的你,闻到了几个信号?
就好像有人按着一样,不按ctrl 鼠标滚轮还是会更改桌面大小.重启电脑就好了! 可能还有其他键也自动按了 。。不论我进行什么操作他就好像点了CTRL+我按了的键一样,包括使用鼠标也是CTRL+鼠标左右键,期间无论我按不按CTRL键都是这样,重启后就正常了
一:在“我的电脑”上右键选择“管理”--“设备管理器”,找到键盘设备下面的101/102标准键盘,右键卸载;然后重启机器测试;
二:你把shift连续按五次,看看是不是把电脑里面自带的一个叫粘黏键的东西打开了.他可以帮你把ctrl shift alt等键帮你按下,可以在本来需要几个键一起按下的时候只用按其它键而不需要按功能键.
超级兔子免安装有屏蔽按键功能。
一:在“我的电脑”上右键选择“管理”--“设备管理器”,找到键盘设备下面的101/102标准键盘,右键卸载;然后重启机器测试;
二:你把shift连续按五次,看看是不是把电脑里面自带的一个叫粘黏键的东西打开了.他可以帮你把ctrl shift alt等键帮你按下,可以在本来需要几个键一起按下的时候只用按其它键而不需要按功能键.
超级兔子免安装有屏蔽按键功能。