since.2006  

记忆力越来越差了。偶尔维护使用一下,过几天就忘了。

显示系统进程资源占用状况

[hee@TokyoHot ~]$ top
# M键:按内存使用大小排序(从大到小)
# 1键:显示每个具体CPU核心使用率情况

各VPS间通过SSH互相复制文件(无需FTP、WEB服务器)

# 获取远程服务器上的文件,-P为远程服务器ssh端口
scp -P 22 root@vps.since2006.com:/root/backup.tar.gz /home/backup.tar.gz

# 获取远程服务器上的目录
scp -P 22 -r root@vps.since2006.com:/root/backups/ /home/backups/

vi 跳到文件起始和结尾处

# 跳到文件起始处
[[

# 跳到文件结尾处
]]

vi 中查找字符串

# 向下查找pattern匹配字符串
/pattern
# 向上查找pattern匹配字符串
?pattern

# 使用了查找命令之后,可以使用:
# 按照同一方向继续查找
n
# 按照反方向查找
N

vi中字符串替换功能

# 使用:s命令进行查找替换

# 例1:将内容中第一次出现的abc替换成123
:%s/abc/123

# 例1:将内容中所有abc替换成123
:%s/abc/123/g

批量更改目录下文件所属组及文件权限

# 更改目录及目录下所有文件所属用户组
chgrp -R groupName directoryName

# 更改目录及目录下所有文件组用户权限可写
chmod -R g+w directoryName

 

Posted by hee at 21:11 PM | Permalink | 评论(0)

折腾了N天,结果发现是测试网络环境下是禁用PPTP VPN的,在家试了下完全没问题。

没有使用网上的一键安装包,一键安装包中大多有重复安装过一些不必要的装的组件,如MPPE。

Kernel version 2.6.15 or above has MPPE built-in which is required for MSCHAPv2.


1、确定内核是否支持MPPE:

modprobe ppp-compress-18 && echo ok

如果显示“ok”表明内核已经具备了mppe支持。

2、然后检查PPP是否支持MPPE:

strings '/usr/sbin/pppd' |grep -i mppe | wc –l

如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持。

3、安装iptables

yum install iptables

4、安装pptp:

# 32位系统使用
rpm -ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm

# 64位系统使用
rpm -ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm

5、配置pptp:

vi /etc/pptpd.conf
去掉下面代码前的#号:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

6、编辑options.pptpd

vi /etc/ppp/options.pptpd

去掉ms-dns前面的#,并修改成如下字段:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

7、创建vpn帐号

vi /etc/ppp/chap-secrets

内容分别为:用户名 pptpd 密码 IP范围

kaede pptpd 123456 *
8、修改内核设置,使其支持转发
vi /etc/sysctl.conf
将文本中的相似内容替换为:
net.ipv4.ip_forward=1
#net.ipv4.tcp_syncookies=1
9、保存退出,并执行下面的命令来生效:
sysctl -p
10、添加iptables转发规则:
# xen 适用
# kvm 适用
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

11、保存重启:

# 保存iptables规则
/etc/init.d/iptables save

# 重启iptables
/etc/init.d/iptables restart

# 重启pptp服务
/etc/init.d/pptpd restart

# 设置开机自动运行服务
chkconfig pptpd on
chkconfig iptables on
12、测试 :-)
Posted by hee at 21:11 PM | Permalink | 评论(0)

Linode LEMP安装指南中安装的LEMP只是一个能用的状态,正式使用还需要配置一些参数。

vi /etc/nginx/nginx.conf

    worker_rlimit_nofile 65535;    

    events {
        # linux 2.6版本以后使用epoll性能会提升较大
       use epoll;
       worker_connections 65535;
    }
    
    # 开启gzip压缩
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript text/css application/xml application/json;
    gzip_vary on;
    
    # php fastcgi相关配置
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 8 128k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
Posted by hee at 20:11 PM | Permalink | 评论(0)

如果vps是个人使用,完全可以没必要装ftp,上传文件可以用winscp搞定。但有时候要帮朋友放个小站而又不希望开放太多的权限时ftp就派上用场了,这次选中的ftp服务器是vsftp,支持虚拟用户,可以限制虚拟用户访问目录,这两个功能正是俺需要的。

登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。

  • 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
  • 本地用户登录:使用系统用户登录,在/etc/passwd中。
  • 虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。

虚拟用户登录+本地数据文件正好实现俺要的需求。

安装vsftp:

[root@TokyoHot ~]# yum install vsftpd

添加虚拟用户:

[root@TokyoHot ~]# vi /etc/vsftpd/vftpuser.txt

内容:

kaede       # 用户名
123456     # kaede的密码
SolaAoi      # 用户名
456789     # SolaAoi的密码

将vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件:
如果没有安装db4-utils要先安装一把:

[root@TokyoHot ~]# yum install db4-utils

转换成系统识别的口令认证文件:

[root@TokyoHot ~]# db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db

编辑vsftpd的PAM认证文件:

[root@TokyoHot ~]# vi /etc/pam.d/vsftpd

将里面其他的都注释掉,添加下面这两行:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

配置vsftpd.conf(设置虚拟用户配置项):

[root@TokyoHot ~]# vi /etc/vsftpd/vsftpd.conf

内容:

anonymous_enable=NO #禁用匿名用户
guest_enable=YES #开启虚拟用户
guest_username=ftp #FTP虚拟用户对应的系统用户
pam_service_name=vsftpd #PAM认证文件
anon_world_readable_only=NO #开放虚拟用户下载权限
anon_upload_enable=YES #开放虚拟用户上传权限
anon_mkdir_write_enable=YES #开放虚拟用户创建目录的权限
anon_other_write_enable=YES #开放虚拟用户删除和重命名的权限
user_config_dir=/etc/vsftpd/vsftpd_user_conf #具体每个虚拟用户的配置信息存放目录
anon_umask=022 #新建的目录 权限是755,文件的权限是 644

上面配置中的guest_username=ftp,其中ftp是系统中已经存在的用户名,centos默认已经创建了这个用户。

配置具体某个虚拟用户的信息(文件名和用户名一致):

[root@TokyoHot ~]# vi /etc/vsftpd/vsftpd_user_conf/kaede

内容:

local_root=/srv/www #限制kaede的访问目录只能是/srv/www目录

配置完成,重启下ftp服务器测试。

 

Posted by hee at 21:11 PM | Permalink | 评论(0)

还是先参考linode知识库的安装指南 :-)

http://library.linode.com/lemp-guides/centos-5

不过文章中安装php-fastcgi处只将php-fastcgi设置为开机自动启动,而漏了启动php-fastcgi本身了,导致在后面测试php时,nginx一直报"502 Bad Gateway"错处,查找了半天才发现问题。

启动一下再测试。
#/etc/init.d/php-fastcgi start

直接使用安装指南中的配置,还会有一些小问题。比如上传文件大于1M多时,Nginx报“Nginx: 413 Request Entity Too Large Error”。

可以在站点配置的server块下加入:
client_max_body_size 20M; # 设置客户端最大能上传文件大小

@2011-11-19:参考安装指南中方法安装,php不支持gd库。

通过下面命令安装即可:

yum install php-gd
/etc/init.d/php-fastcgi restart

@2012-03-06:晕,隔一段时间没接触这方面内容现在又全忘了,以后多记点方便要配置时查阅。

默认php.ini配置文件路径/etc/php.ini

查找php.ini配置文件路径:

[ho@nikita ~]$ php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
Posted by hee at 20:11 PM | Permalink | 评论(0)

上一篇blog中根据linode的知识库中指南用yum安装的LAMP各应用版本太低,装了个phpMyAdmin,提示需要PHP 5.2+以上的环境,目前默认的yum源里php版本为:5.1.6,mysql版本为5.0.77。

升级方法比较简单:添加一个第三方的源,update一下就OK了。

运行:
# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

创建一个新文件:
# vi /etc/yum.repos.d/utterramblings.repo

内容为:

[utterramblings] 
name=Jason's Utter Ramblings Repo 
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/ 
enabled=1 
gpgcheck=1 
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

更新程序:
# yum update php
# yum update mysql

phpMyAdmin还需要服务器安装php-mcrypt,不然提示“缺少 mcrypt 扩展。请检查 PHP 配置。”和“没有找到 PHP 扩展 mbstring……”
# yum install php-mcrypt
# yum install php-mbstring

升级完成后,PHP版本为:5.2.17,MySQL版本为:5.1.58

如果升级了MySQL,并且以前修改过my.cnf,还需要重新编辑下my.cnf:

“在Mysql 5.1.50版中已经废除了skip-bdb参数,而skip-locking改为了skip-external-locking,skip-innodb改为了loose-skip-innodb。”

修改完成后,运行一下mysql_upgrade:
# mysql_upgrade -u root -p

Posted by hee at 17:10 PM | Permalink | 评论(0)