• 2010-06-04

    screen 命令使用

    Views: 10903 | No Comments

    创建会话, 并attach:
    $ screen -S abc

    会话列表:
    $ screen -list
    $ screen -ls

    连接/恢复会话:
    $ screen -r abc

    暂时离开会话, 会话仍在后台运行:
    CTRL+a+d

    停止会话(已连接的情况):
    $ exit

    编辑 ~/.bashrc, 以后重新连接, 你都继续前一个会话:
    $ screen -r abc

    但开户多个会话时, 会提示会话恢复失败.

    Posted by ideawu at 2010-06-04 10:42:59
  • 2010-06-01

    SSH ProxyCommand及其思想

    Views: 28361 | No Comments

    OpenSSH 的客户端有一个 ProxyCommand 的选项, 用于 SSH 客户端与服务器之间的隧道通信(tunneling). 所谓的隧道技术, 也称代理技术, 是网络通信技术的一个普遍概念, 就是把一条信道建立于另外一条信道之上.

    SSH 会话基于一个 TCP 连接. 如果我们把连接的两个端口各自的出口(也即入口)进行截获, 就可以用其它的信道来传输. 而且 SSH 仍然认为它用的是和另一端连接一条 TCP 连接.

    Continue reading »

    Posted by ideawu at 2010-06-01 00:47:42
  • 2010-05-13

    请提供Fuck-All选项

    Views: 23858 | 5 Comments

    由于时间宝贵, 我们不可能弄清每一项东西. 所以, 当我们拿到一个新事物时, 我们会把它定义为某一个已经熟悉的事物的替代品, 用旧的方法来操作新的事物. 如果新事物的操作方法和旧事物相似(接口相同), 或者只经过非常符合大众逻辑的演绎(方法添加了默认参数), 那么, 我们就称这个新事物的学习成本很低.

    我开始使用 SVN, 要进行一次版本合并操作. 在操作之前我知道, 肯定会有大量的冲突, 比如至少有 20 个文件有冲突, 而且这些冲突不是由我一个人产生. 所以, 我希望把所有的冲突都列出来, 然后再由各个人手工解决冲突. 所以, 我执行:

    svn merge https://xxx...
    

    Continue reading »

    Posted by ideawu at 2010-05-13 13:27:55 Tags: ,
  • 2010-04-24

    Linode虚拟主机Linux安全第一步

    Views: 14206 | No Comments

    相信不少朋友用了Linode的VPS(虚拟主机), 或者类似的VPS, 用来搭建网站. 不过, 有几个最重要的安全防范要做:

    1. SSH改变端口

    sshd默认使用22端口, 这是众所周知的事情. 那么, 那些不怀好意的人就会用一些黑客软件来试图暴力登录你的ssh, 这是非常危险. 而且, 你的auth.log会留下大量日志.

    这时, 只需要简单地改变sshd的端口号, 就能避免绝大多数的攻击尝试. 因为很多ssh攻击软件只尝试特定的几个端口.

    编辑 /etc/ssh/sshd_config 文件:
    Continue reading »

    Posted by ideawu at 2010-04-24 23:04:23
  • 2010-03-14

    最大文件描述符限制对高性能Web架构的影响

    Views: 21742 | No Comments

    不同于Windows平台的高效的线程机制, Linux/Unix系统早期通过多进程来解决Web大规模并发访问量的问题. 而随着Linux内核的改进, 单纯增加进程数量的方式也慢慢被弃用, 转而使用单进程异步IO接口, 比如epoll(Linux), kqueue(BSD).

    单进程异步IO接口可以简单理解为, 进程把大量的socket连接交给内核管理, 一旦连接中有数据需要处理, 则激活进程进行处理. 这样, 一个进程同时打开的socket(也即文件描述符)就有成千上万个.

    Linux系统默认的单个进程所能打开的最大文件描述符一般是1024(可通过ulimit -n命令查询), 这就导致了文件描述符被用完的情况出现. 所以, 要开发能处理高并发请求的Web系统, 必须修改操作系统的最大文件描述符.

    即使使用的是Apache这样的多进程Web服务器, 也有可能被最大文件描述符限制给绊倒, 因为后端可能使用的是fastcgi, memcached这些应用. 比如memcached, 一般使用的就是单进程异步IO接口, fastcgi的PHP脚本与其连接时, 将保持TCP长连接, 也是会消耗大量的文件描述符.

    所以, 运行在Linux之上的高性能Web系统, 一定要扩大进程的最大文件描述符限制, 这是有很惨痛经验教训的.

    Posted by ideawu at 2010-03-14 10:59:04
  • 2009-12-29

    Linux下编译安装Apache/Nginx/Lighttpd+PHP+MySQL

    Views: 28050 | 1 Comment

    使用Ubuntu Linux, 编译过程提示缺啥补啥即可.

    Apache:

    ./configure --prefix=/home/work/httpd --enable-so --enable-rewrite --enable-vhost-alias
    

    配置文件:

    LoadModule php5_module        modules/libphp5.so
    AddType application/x-httpd-php .php
    # PhpIniDir /home/work/php/php.ini
    

    MYSQL:

    Continue reading »

    Posted by ideawu at 2009-12-29 11:32:25 Tags: ,
|<<<2345678910>>>| 6/14 Pages, 84 Results.