记忆力越来越差了。偶尔维护使用一下,过几天就忘了。
显示系统进程资源占用状况
[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
折腾了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、测试 :-)
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;
如果vps是个人使用,完全可以没必要装ftp,上传文件可以用winscp搞定。但有时候要帮朋友放个小站而又不希望开放太多的权限时ftp就派上用场了,这次选中的ftp服务器是vsftp,支持虚拟用户,可以限制虚拟用户访问目录,这两个功能正是俺需要的。
登录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服务器测试。
还是先参考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
上一篇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