Category: Web

  • WordPress中Pre标签自动换行

    使WordPress中使用Pre标签,经常代码过长,不自动换行

    主题–编辑–样式表 (style.css)

    找到控制pre的部分

    pre {    
            font-family: "Courier 10 Pitch", Courier, monospace;
            /* styles to make preformatted text wrap */
            white-space: pre-wrap;       /* css-3 */
            white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
            white-space: -pre-wrap;      /* Opera 4-6 */
            white-space: -o-pre-wrap;    /* Opera 7 */
            word-wrap: break-word;       /* Internet Explorer 5.5+ */
    }
  • 用dropbox备份vps上的数据

    详细使用方法:
    http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall#Runningonsystemstartup

    1.安装

    登陆SSH后,

    wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86

    这个是32位的,64位就这样

    wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64

    解压

    tar xzvf dropbox.tar.gz

    2.运行

     ~/.dropbox-dist/dropboxd &

    注:首次运行,会频繁出现一串URL地址,说你没有绑定,这时不要退出,复制下url,到浏览器中打开输入用户名密码后绑定,绑定完成后,SSH界面上会出现欢迎登陆的文字描述

    3.备份

    将备份的文件夹,映射到Dropbox文件夹从而自动同步备份。

    cd ~/Dropbox
    ln -s /home/wwwroot

    如上示例中,将wwwroot文件夹的映射到Dropbox,从而备份wwwroot文件夹里所有内容。

    4.结束运行

    killall dropbox

    5.定时同步备份

    dropbox运行所需要的内存很大,所以并不适合小内存的VPS一直开着,那么我们也可以建立一个计划任务来让dropbox定时运行,再定时关闭。

    建立dropbox.sh脚本,内容如下

    #!/bin/sh
    start() {
    echo starting dropbox
    /root/.dropbox-dist/dropboxd &
    }
    stop() {
    echo stoping dropbox
    pkill dropbox
    }
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    stop
    start
    ;;
    esac

    脚本下载:http://www.ezencart.com/wp-content/demo/dropbox.sh

    修改权限

    chmod 755 /root/dropbox.sh

    建立计划任务:

    crontab -e

    添加如下内容

      0 4 * * * sh /root/dropbox.sh restart
     0 6 * * * sh /root/dropbox.sh stop

    这样dropbox就会自动在每天4点运行,6点关闭。

    6.删除dropbox方法

     rm -rf .dropbox .dropbox-dist  Dropbox dropbox.tar.gz dbmakefakelib.py dbreadconfig.py

    转载:http://www.laogeng.org/archives/1204.html

  • HTTP常见状态码 400/401/403/404/500及更多

    HTTP 错误 400
    400 请求出错
    由于语法格式有误,服务器无法理解此请求。不作修改,客户程序就无法重复此请求。

    HTTP 错误 401
    401.1 未授权:登录失败
    此错误表明传输给服务器的证书与登录服务器所需的证书不匹配。
    请与 Web 服务器的管理员联系,以确认您是否具有访问所请求资源的权限。
    401.2 未授权:服务器的配置导致登录失败
    此错误表明传输给服务器的证书与登录服务器所需的证书不匹配。此错误通常由未发送正确的 WWW 验证表头字段所致。
    请与 Web 服务器的管理员联系,以确认您是否具有访问所请求资源的权限。
    401.3 未授权:由于资源中的 ACL 而未授权
    此错误表明客户所传输的证书没有对服务器中特定资源的访问权限。此资源可能是客户机中的地址行所列出的网页或文件,也可能是处理客户机中的地址行所列出的文件所需服务器上的其他文件。
    请记录试图访问的完整地址,并与 Web 服务器的管理员联系以确认您是否具有访问所请求资源的权限。
    401.4 未授权:授权服务被筛选程序拒绝
    此错误表明 Web 服务器已经安装了筛选程序,用以验证连接到服务器的用户。此筛选程序拒绝连接到此服务器的真品证书的访问。
    请记录试图访问的完整地址,并与 Web 服务器的管理员联系以确认您是否具有访问所请求资源的权限。
    401.5 未授权:ISAPI/CGI 应用程序的授权失败
    此错误表明试图使用的 Web服务器中的地址已经安装了 ISAPI 或 CGI程序,在继续之前用以验证用户的证书。此程序拒绝用来连接到服务器的真品证书的访问。
    请记录试图访问的完整地址,并与 Web服务器的管理员联系以确认您是否具有访问所请求资源的权限

    HTTP 错误 403
    403.1 禁止:禁止执行访问
    如果从并不允许执行程序的目录中执行 CGI、ISAPI或其他执行程序就可能引起此错误。
    如果问题依然存在,请与 Web 服务器的管理员联系。
    403.2 禁止:禁止读取访问
    如果没有可用的默认网页或未启用此目录的目录浏览,或者试图显示驻留在只标记为执行或脚本权限的目录中的HTML 页时就会导致此错误。
    如果问题依然存在,请与 Web 服务器的管理员联系。
    403.3 禁止:禁止写访问
    如果试图上载或修改不允许写访问的目录中的文件,就会导致此问题。
    如果问题依然存在,请与 Web服务器的管理员联系。
    403.4 禁止:需要 SSL
    此错误表明试图访问的网页受安全套接字层(SSL)的保护。要查看,必须在试图访问的地址前输入https:// 以启用 SSL。
    如果问题依然存在,请与 Web服务器的管理员联系。
    403.5 禁止:需要 SSL 128
    此错误消息表明您试图访问的资源受 128位的安全套接字层(SSL)保护。要查看此资源,需要有支持此SSL 层的浏览器。
    请确认浏览器是否支持 128 位 SSL安全性。如果支持,就与 Web服务器的管理员联系,并报告问题。
    403.6 禁止:拒绝 IP 地址
    如果服务器含有不允许访问此站点的 IP地址列表,并且您正使用的 IP地址在此列表中,就会导致此问题。
    如果问题依然存在,请与 Web服务器的管理员联系。
    403.7 禁止:需要用户证书
    当试图访问的资源要求浏览器具有服务器可识别的用户安全套接字层(SSL)证书时就会导致此问题。可用来验证您是否为此资源的合法用户。
    请与 Web服务器的管理员联系以获取有效的用户证书。
    403.8 禁止:禁止站点访问
    如果 Web服务器不为请求提供服务,或您没有连接到此站点的权限时,就会导致此问题。
    请与 Web 服务器的管理员联系。
    403.9 禁止访问:所连接的用户太多
    如果 Web太忙并且由于流量过大而无法处理您的请求时就会导致此问题。请稍后再次连接。
    如果问题依然存在,请与 Web 服务器的管理员联系。
    403.10 禁止访问:配置无效
    此时 Web 服务器的配置存在问题。
    如果问题依然存在,请与 Web服务器的管理员联系。
    403.11 禁止访问:密码已更改
    在身份验证的过程中如果用户输入错误的密码,就会导致此错误。请刷新网页并重试。
    如果问题依然存在,请与 Web服务器的管理员联系。
    403.12 禁止访问:映射程序拒绝访问
    拒绝用户证书试图访问此 Web 站点。
    请与站点管理员联系以建立用户证书权限。如果必要,也可以更改用户证书并重试。

    HTTP 错误 404
    404 找不到
    Web 服务器找不到您所请求的文件或脚本。请检查URL 以确保路径正确。
    如果问题依然存在,请与服务器的管理员联系。

    HTTP 错误 405
    405 不允许此方法
    对于请求所标识的资源,不允许使用请求行中所指定的方法。请确保为所请求的资源设置了正确的 MIME 类型。
    如果问题依然存在,请与服务器的管理员联系。

    HTTP 错误 406
    406 不可接受
    根据此请求中所发送的“接受”标题,此请求所标识的资源只能生成内容特征为“不可接受”的响应实体。
    如果问题依然存在,请与服务器的管理员联系。

    HTTP 错误 407
    407 需要代理身份验证
    在可为此请求提供服务之前,您必须验证此代理服务器。请登录到代理服务器,然后重试。
    如果问题依然存在,请与 Web 服务器的管理员联系。

    HTTP 错误 412
    412 前提条件失败
    在服务器上测试前提条件时,部分请求标题字段中所给定的前提条件估计为FALSE。客户机将前提条件放置在当前资源 metainformation(标题字段数据)中,以防止所请求的方法被误用到其他资源。
    如果问题依然存在,请与 Web 服务器的管理员联系。

    HTTP 错误 414
    414 Request-URI 太长
    Request-URL太长,服务器拒绝服务此请求。仅在下列条件下才有可能发生此条件:
    客户机错误地将 POST 请求转换为具有较长的查询信息的 GET 请求。
    客户机遇到了重定向问题(例如,指向自身的后缀的重定向前缀)。
    服务器正遭受试图利用某些服务器(将固定长度的缓冲区用于读取或执行 Request-URI)中的安全性漏洞的客户干扰。
    如果问题依然存在,请与 Web 服务器的管理员联系。

    HTTP 错误 500
    500 服务器的内部错误
    Web 服务器不能执行此请求。请稍后重试此请求。
    如果问题依然存在,请与 Web服务器的管理员联系。

    HTTP 错误 501
    501 未实现
    Web 服务器不支持实现此请求所需的功能。请检查URL 中的错误,如果问题依然存在,请与 Web服务器的管理员联系。

    HTTP 错误 502
    502 网关出错
    当用作网关或代理时,服务器将从试图实现此请求时所访问的upstream 服务器中接收无效的响应。
    如果问题依然存在,请与 Web服务器的管理员联系。

    HTTP 504 错误

    网关超时 (Gateway timeout)

    这个错误的原因是使用代理服务器或者代理IP引起的,或者由于服务器繁忙造成的,未能从上游服务器获取到请求的响应。

    HTTP 301

      HTTP/1.1 301 Moved Permanently

    HTTP 302

    HTTP 303

    303 See Other 在response头中会加入Location通知浏览器跳到此地址。POST请求的常见响应。

    参考:

    http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81

  • 测试所在网络MTU值的合理性

    个人电脑修改MTU无任何意义

    1、本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间。

    2、本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥。

    这样我们就知道,所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。

    接下来最重要的就是要找出对于你的网络环境来说MTU多少才是合理的。

    方法如下:

    1、按Win+R组合键,调出“运行”菜单,输入“cmd”然后回车

    2、在出现的“命令提示符”窗口中输入“ping -l 1472 -f www.baidu.com”然后回车

    含义:

    ping:发起一个探测请求;

    -l(L的小写):限制探测包大小;

    1472:包大小为1472字节;

    -f:禁止路由器拆分数据包

    www.baidu.com:设百度为探测目标

    (你问我为什么不用Google做目标?考虑到Google时不时被墙,还是算了吧。。)

    3、这时有2种情况:

    (1)、如果收到了回复,那么说明你的网络允许最大MTU值就是1500字节,与系统默认值相同,只需要将路由器的MTU值也设置为1500即可;

    (2)、如果出现需要拆分数据包但是设置 DF。或是Packer needs to be fragmented but DF set.的提示,那就说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。(为了截效果图,我将探测包改为1473了)

    4、按“上箭头”恢复刚才输入的命令,然后以5为跨度减小包大小为1467字节,再次回车探测。

    5、这时同样也有两种可能:

    (1)、如果有返回,说明数据包小于MTU限制,就将包大小+3再次探测,如果+3之后没有返回,那就以1为跨度降低数据包大小进行探测。

    (2)、如果还是没有返回,就继续以5为跨度减小包大小,直至有返回后进行5(1)中的操作。

    6、直至你发现数据包-1后,有了返回,就说明你探测到了MTU允许的准确数据包大小。(例如从1465降低到1464就有了返回,那么允许的数据包大小就是1464)

    7、不过上面得到的值还不能设置为操作系统或路由器的MTU,你找到的数据包大小需要加上28字节的“数据包报头”,才是完整的数据包尺寸。

    (例如:探测到的数据包大小是1464,那么加上28字节,最终MTU=1492字节)

    8、最后,只需要将路由器和操作系统中的MTU值设置为你得出的结果即可。

    路由器设置方法见路由器说明书!建议使用“Windows优化大师、超级兔子魔法设置、鲁大师”等软件修改操作系统的MTU。

    以下是较复杂的方法:

    (1)、XP操作系统设置方法:

    1、 按Win+R组合键,调出“运行”菜单,输入regedit,然后回车;

    2、 选择“HKEY_Local_Machine>SYSTEM>CurrentControlSet>Services>Tcpip>Parameters>interface”;

    3、在 interface 中下可能有很多项,需要逐个观察键值,会有一个项与你的网卡IP一致,选中该项;

    4、然后在该项上点击右键,选择“编辑>新建>DWORD值”,然后在右侧将其命名为“MTU”;

    5、右键点击MTU,选择“修改”,在弹出的窗口中选择“十进制”,填入你得出的合理MTU值即可。

    (2)、Vista、Win7操作系统设置方法:

    1、进入系统盘:\Windows\System32\找到cmd.exe,右键“以管理员身份运行”;

    2、在出现的“命令提示符”窗口中输入“netsh interface ipv4 show subinterfaces”并回车来查看当前的MTU值

    3、接下来输入“netsh interface ipv4 set subinterface “需修改的连接名” mtu=你得出的合理值 store=persistent”并回车即可

    例如:“netsh interface ipv4 set subinterface “本地连接” mtu=1492 store=persistent”

  • Gmail快捷键

    键盘快捷键

    通过键盘快捷键,您的手无需离开键盘而使用鼠标进行操作,从而帮助您节约时间。您需要有标准 101/102 键或自然 PS/2 键盘才能使用快捷键。

    要启用或停用这些区分大小写的快捷键,请点击设置,然后选择键盘快捷键旁边的选项。

     

    快捷键 定义 操作
    c 撰写 可让您撰写新邮件。<Shift> + c 可让您在新窗口中撰写邮件。
    / 搜索 将光标放在搜索框中。
    k 移至上一个会话 打开上一个会话或将光标移至上一个会话。您可以按 <Enter> 展开会话。
    j 移至下一个会话 打开下一个会话或将光标移至下一个会话。您可以按 <Enter> 展开会话。
    n 下一封邮件 将光标移至下一封邮件。您可以按 <Enter> 展开或折叠邮件(仅适用于“会话视图”)。
    p 上一封邮件 将光标移至上一封邮件。您可以按 <Enter> 展开或折叠邮件(仅适用于“会话视图”)。
    o 或 <Enter> 打开 打开您的会话。如果您位于“会话视图”中,此操作还可以展开或折叠邮件。
    u 返回到会话列表 刷新页面,并返回到收件箱或会话列表。
    e 存档 将所有视图中的会话存档。
    m 忽略 将会话存档,除直接发送或抄送给您的邮件外,以后所有的邮件均跳过收件箱。了解详情
    x 选择会话 自动检查并选择会话,以便您可以进行存档、应用标签,或从下拉菜单中选择一项操作以应用到该会话。
    s 对邮件或会话加注星标 对邮件或会话添加或删除星标。您可以通过星标为邮件或会话提供一个特殊的状态。
    + 标记为重要 通过标记被错误归类的邮件,帮助 Gmail 了解哪些是您的重要邮件(优先收件箱特有)。
    标记为不重要 通过标记被错误归类的邮件,帮助 Gmail 了解哪些是您不重要的邮件(优先收件箱特有)。
    ! 列为垃圾邮件 将邮件标记为垃圾邮件,并将其从会话列表中删除。
    r 回复 对邮件发件人进行回复。<Shift> + r 可让您在新窗口中回复邮件(仅适用于“会话视图”)。
    a 全部回复 回复所有邮件收件人。<Shift> +a 可让您在新窗口中回复所有邮件收件人(仅适用于“会话视图”)。
    f 转发 转发邮件。<Shift> + f 可让您在新窗口中转发邮件(仅适用于“会话视图”)。
    <Esc> 离开输入字段 将光标从当前输入字段中移除。
    <Ctrl> + s 保存草稿 在您撰写邮件时,将当前文本另存为草稿。按住 <Ctrl> 键的同时按下 s,在使用此快捷键时确保光标在以下其中一个文本字段中:撰写窗格,或任何“收件人”、“抄送”、“密送”或“主题”字段。
    # 删除 将会话移至“已删除邮件”。
    l 标签 打开“标签”菜单,以对会话添加标签。
    v 移至 将会话从“收件箱”移至其他标签:“垃圾邮件”或“已删除邮件”。
    <Shift> + i 标记为已读 将邮件标记为“已读”,并跳至下一封邮件。
    <Shift> + u 标记为未读 将邮件标记为“未读”,以便您稍后可以返回至该邮件。
    [ 存档,然后移至上一个会话 将会话存档,然后移至上一个会话。
    ] 存档,然后移至下一个会话 将会话存档,然后移至下一个会话。
    z 撤消 如果可能,撤消上一个操作(适用于带有“撤消”链接的操作)。
    <Shift> + n 更新当前会话 在有新邮件时,更新当前会话。
    q 将光标移至聊天搜索 将光标直接移至聊天搜索框。
    y 从当前视图中删除* 自动删除当前视图中的邮件或会话。

    • 在“收件箱”中,“y”表示存档
    • 在“已加星标”中,“y”表示取消星标
    • 在“已删除邮件”中,“y”表示移至收件箱
    • 在任何标签中,“y”表示删除标签

    *如果您是在“垃圾邮件”、“已发邮件”或“所有邮件”中,则“y”没有任何作用。

    . 显示更多操作 显示“更多操作”下拉菜单。
    <Ctrl> + <向下箭头> 打开“聊天”中的选项
    • <Ctrl> + <向下箭头> 可从聊天窗口中的编辑字段中移出,以选择“视频及更多”菜单
    • 下一步,按 <Tab> 可选择表情符菜单
    • 按 <Enter> 可打开所选菜单
    ? 显示键盘快捷键帮助 显示您所在任何页面中的键盘快捷键帮助菜单。
    k 将联系人上移 在联系人列表中将光标上移
    j 将联系人下移 在联系人列表中将光标下移
    o 或 <Enter> 打开 打开光标旁边的联系人。
    u 返回到联系人列表视图 刷新页面,然后返回到联系人列表。
    e 从当前群组中删除 从当前显示的群组中删除所选联系人。
    x 选择联系人 检查并选择联系人,以便您可以更改群组成员资格或从下拉菜单中选择一项操作以应用到此联系人。
    <Esc> 离开输入字段 将光标从当前输入中移除
    # 删除 永久删除联系人
    l 群组成员资格 打开群组按钮可以对联系人进行分组
    z 撤消 如果可能,撤消上一个操作(适用于带有“撤消”链接的操作)
    . 显示更多操作 显示“更多操作”下拉菜单。

    组合键 – 使用以下组合键可在 Gmail 中进行导航。

    快捷键 定义 操作
    先按 <Tab>,然后按 <Enter> 发送邮件 撰写完邮件之后,使用此组合键可自动发送邮件(Windows 上的 Internet Explorer 和 Firefox 中支持此功能)。
    先按 y,然后按 o 存档,然后移至下一个会话 将会话存档,然后移至下一个会话。
    先按 g,然后按 a 转到“所有邮件” 可让您转到“所有邮件”,即您发送或接收的(以及尚未删除的)所有邮件的存储站点。
    先按 g,然后按 s 转到“已加星标” 可让您转到已加星标的所有会话。
    先按 g,然后按 c 转到“通讯录” 可让您转到通讯录
    先按 g,然后按 d 转到“草稿” 可让您转到已保存的所有草稿。
    先按 g,然后按 l 转到“标签” 可让您转到“标签:”运算符已填写的搜索框。
    先按 g,然后按 i 转到“收件箱” 可让您返回到收件箱。
    先按 g,然后按 t 转到“已发邮件” 可让您转到您已发送的所有邮件。
    先按 *,然后按 a 全选 选择所有邮件。
    先按 *,然后按 n 全部不选 取消选择所有邮件。
    先按 *,然后按 r 选择已读邮件 选择所有已读邮件。
    先按 *,然后按 u 选择未读邮件 选择所有未读邮件。
    先按 *,然后按 s 选择已加星标的邮件 选择所有已加星标的邮件。
    先按 *,然后按 t 选择未加星标的邮件 选择所有未加星标的邮件。

    筛选技巧:

    in:sent 发件箱
    label:unread 未读
    label:inbox 收件箱
    

    发现 in 和 label 是一样的

  • JavaScript学习摘抄

    在看从图书馆借的JavaScript学习指南 (美) Shelley Powers著

    javascript语言精粹

    JavaScript

    JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)

    两个正斜杠是 JavaScript 的注释符号,它会阻止 JavaScript 编译器对这一行的编译。

    多行注释以 /* 开头,以 */ 结尾。

    多用单行注释,不容易出错

    当页面载入时,会执行位于 body 部分的 JavaScript。

    当被调用时,位于 head 部分的 JavaScript 才会被执行。

    代码块以左花括号开始,以右花括号结束。

    代码块的作用是一并地执行语句序列。

    通过 var 语句来声明 JavaScript 变量,并且为局部变量

    变量是区分大小写的

    变量不要和javascript的关键字冲突

    多用匈牙利命名法

    多用小驼峰式命名法(lower camel case):第一个单字以小写字母开始;第二个单字的首字母大写,例如:firstName、lastName。

     

    首字母大写通常表示为类

     

    什么是cookie?

    cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。

    坚持养成用分号结束的好习惯

    布尔值不需要引号,加引号”false”和不加false意义完全不同

    自已用起来方便的注释块

    /*

    author:jpuyy.com date:

    for use:
    modified by xx at date
    version:
    history:

    */

    Ajax程序库jQuery