Archive

Posts Tagged ‘GDB’

[转]EMACS快捷键大全

November 15th, 2009 No comments

网上看到的,觉得非常不错,给转到这里来了
本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com

C = Control
M = Meta = Alt|Esc
Del = Backspace

基本快捷键(Basic)
C-x C-f “find”文件, 即在缓冲区打开/新建一个文件
C-x C-s 保存文件
C-x C-w 使用其他文件名另存为文件
C-x C-v 关闭当前缓冲区文件并打开新文件
C-x i 在当前光标处插入文件
C-x b 新建/切换缓冲区
C-x C-b 显示缓冲区列表
C-x k 关闭当前缓冲区
C-z 挂起emacs
C-X C-c 关闭emacs

光标移动基本快捷键(Basic Movement)
C-f 后一个字符
C-b 前一个字符
C-p 上一行
C-n 下一行
M-f 后一个单词
M-b 前一个单词
C-a 行首
C-e 行尾
C-v 向下翻一页
M-v 向上翻一页
M-< 到文件开头
M-> 到文件末尾

编辑(Editint)
M-n 重复执行后一个命令n次
C-u 重复执行后一个命令4次
C-u n 重复执行后一个命令n次
C-d 删除(delete)后一个字符
M-d 删除后一个单词
Del 删除前一个字符
M-Del 删除前一个单词
C-k 移除(kill)一行

C-Space 设置开始标记 (例如标记区域)
C-@ 功能同上, 用于C-Space被操作系统拦截的情况
C-w 移除(kill)标记区域的内容
M-w 复制标记区域的内容
C-y 召回(yank)复制/移除的区域/行
M-y 召回更早的内容 (在kill缓冲区内循环)
C-x C-x 交换光标和标记

C-t 交换两个字符的位置
M-t 交换两个单词的位置
C-x C-t 交换两行的位置
M-u 使从光标位置到单词结尾处的字母变成大写
M-l 与M-u相反
M-c 使从光标位置开始的单词的首字母变为大写

重要快捷键(Important)
C-g 停止当前运行/输入的命令
C-x u 撤销前一个命令
M-x revert-buffer RETURN (照着这个输入)撤销上次存盘后所有改动
M-x recover-file RETURN 从自动存盘文件恢复
M-x recover-session RETURN 如果你编辑了几个文件, 用这个恢复

在线帮助(Online-Help)
C-h c 显示快捷键绑定的命令
C-h k 显示快捷键绑定的命令和它的作用
C-h l 显示最后100个键入的内容
C-h w 显示命令被绑定到哪些快捷键上
C-h f 显示函数的功能
C-h v 显示变量的含义和值
C-h b 显示当前缓冲区所有可用的快捷键
C-h t 打开emacs教程
C-h i 打开info阅读器
C-h C-f 显示emacs FAQ
C-h p 显示本机Elisp包的信息

搜索/替换(Seach/Replace)
C-s 向后搜索
C-r 向前搜索
C-g 回到搜索开始前的位置(如果你仍然在搜索模式中)
M-% 询问并替换(query replace)

Space或y 替换当前匹配
Del或n 不要替换当前匹配
. 仅仅替换当前匹配并退出(替换)
, 替换并暂停(按Space或y继续)
! 替换以下所有匹配
^ 回到上一个匹配位置
RETURN或q 退出替换

使用正则表达式(Regular expression)搜索/替换
可在正则表达式中使用的符号:
^ 行首
$ 行尾
. 单个字符
.* 任意多个(包括没有)字符
\< 单词开头
\> 单词结尾
[] 括号中的任意一个字符(例如[a-z]表示所有的小写字母)

M C-s RETURN 使用正则表达式向后搜索
M C-r RETURN 使用正则表达式向前搜索
C-s 增量搜索
C-s 重复增量搜索
C-r 向前增量搜索
C-r 重复向前增量搜索
M-x query-replace-regexp 使用正则表达式搜索并替换

窗口命令(Window Commands)
C-x 2 水平分割窗格
C-x 3 垂直分割窗格
C-x o 切换至其他窗格
C-x 0 关闭窗格
C-x 1 关闭除了光标所在窗格外所有窗格
C-x ^ 扩大窗格
M-x shrink-window 缩小窗格
M C-v 滚动其他窗格内容
C-x 4 f 在其他窗格中打开文件
C-x 4 0 关闭当前缓冲区和窗格
C-x 5 2 新建窗口(frame)
C-x 5 f 在新窗口中打开文件
C-x 5 o 切换至其他窗口
C-x 5 0 关闭当前窗口

书签命令(Bookmark commands)
C-x r m 在光标当前位置创建书签
C-x r b 转到书签
M-x bookmark-rename 重命名书签
M-x bookmark-delete 删除书签
M-x bookmark-save 保存书签
C-x r l 列出书签清单

d 标记等待删除
Del 取消删除标记
x 删除被标记的书签
r 重命名
s 保存列表内所有书签
f 转到当前书签指向的位置
m 标记在多窗口中打开
v 显示被标记的书签(或者光标当前位置的书签)
t 切换是否显示路径列表
w 显示当前文件路径
q 退出书签列表

M-x bookmark-write 将所有书签导出至指定文件
M-x bookmark-load 从指定文件导入书签

Shell
M-x shell 打开shell模式
C-c C-c 类似unix里的C-c(停止正在运行的程序)
C-d 删除光标后一个字符
C-c C-d 发送EOF
C-c C-z 挂起程序(unix下的C-z)
M-p 显示前一条命令
M-n 显示后一条命令

DIRectory EDitor (dired)
C-x d 打开dired
C(大写C) 复制
d 标记等待删除
D 立即删除
e或f 打开文件或目录
g 刷新当前目录
G 改变文件所属组(chgrp)
k 从屏幕上的列表里删除一行(不是真的删除)
m 用*标记
n 光标移动到下一行
o 在另一个窗格打开文件并移动光标
C-o 在另一个窗格打开文件但不移动光标
P 打印文件
q 退出dired
Q 在标记的文件中替换
R 重命名文件
u 移除标记
v 显示文件内容
x 删除有D标记的文件
Z 压缩/解压缩文件
M-Del 移除标记(默认为所有类型的标记)
~ 标记备份文件(文件名有~的文件)等待删除
# 标记自动保存文件(文件名形如#name#)等待删除
*/ 用*标记所有文件夹(用C-u */n移除标记)
= 将当前文件和标记文件(使用C-@标记而不是dired的m标记)比较
M-= 将当前文件和它的备份比较
! 对当前文件应用shell命令
M-} 移动光标至下一个用*或D标记的文件
M-{ 移动光标至上一个用*或D标记的文件
% d 使用正则表达式标记文件等待删除
% m 使用正则表达式标记文件为*
+ 新建文件夹
> 移动光标至后一个文件夹
< 移动光标至前一个文件夹
s 切换排序模式(按文件名/日期)

或许把这个命令归入这一类也很合适:
M-x speedbar 打开一个独立的目录显示窗口

Telnet
M-x telnet 打开telnet模式
C-d 删除后一个字符或发送EOF
C-c C-c 停止正在运行的程序(和unix下的C-c类似)
C-c C-d 发送EOF
C-c C-o 清除最后一个命令的输出
C-c C-z 挂起正在运行的命令
C-c C-u 移除前一行
M-p 显示前一条命令

Text
只能在text模式里使用
M-s 使当前行居中
M-S 使当前段落居中
M-x center-region 使被选中的区域居中

宏命令(Macro-commands)
C-x ( 开始定义宏
C-x ) 结束定义宏
C-x e 运行最近定义的宏
M-n C-x e 运行最近定义的宏n次
M-x name-last-kbd-macro 给最近定义的宏命名(用来保存)
M-x insert-kbd-macro 将已命名的宏保存到文件
M-x load-file 载入宏

编程(Programming)
M C-\ 自动缩进光标和标记间的区域
M-m 移动光标到行首第一个(非空格)字符
M-^ 将当前行接到上一行末尾处
M-; 添加缩进并格式化的注释
C, C++和Java模式
M-a 移动光标到声明的开始处
M-e 移动光标到声明的结尾处
M C-a 移动光标到函数的开始处
M C-e 移动光标到函数的结尾处
C-c RETURN 将光标移动到函数的开始处并标记到结尾处
C-c C-q 根据缩进风格缩进整个函数
C-c C-a 切换自动换行功能
C-c C-d 一次性删除光标后的一串空格(greedy delete)

为了实现下面的一些技术, 你需要在保存源代码的目录里运行”etags
*.c *.h *.cpp”(或者源代码的其他的扩展名)
M-.(点) 搜索标签
M-x tags-search ENTER 在所有标签里搜索(使用正则表达式)
M-,(逗号) 在tags-search里跳至下一个匹配处
M-x tags-query-replace 在设置过标签的所有文件里替换文本

GDB(调试器)
M-x gdb 在另一个的窗格中打开gdb

版本控制(Version Control)
C-x v d 显示当前目录下所有注册过的文件(show all registered files in this dir)
C-x v = 比较不同版本间的差异(show diff between versions)
C-x v u 移除上次提交之后的更改(remove all changes since last checkin)
C-x v ~ 在不同窗格中显示某个版本(show certain version in different window)
C-x v l 打印日志(print log)
C-x v i 标记文件等待添加版本控制(mark file for version control add)
C-x v h 给文件添加版本控制文件头(insert version control header into file)
C-x v r 获取命名过的快照(check out named snapshot)
C-x v s 创建命名的快照(create named snapshot)
C-x v a 创建gnu风格的更改日志(create changelog file in gnu-style)

Categories: Other Tags: , , , , ,

Linux webserver 常用维护命令

March 20th, 2009 No comments

这里是维护时常用的一些命令,放在这里,备忘

注:大部分非原创,只是收集到这里而已

* 实时查看正在执行的sql语句
1./usr/sbin/tcpdump -i eth0 -s 0 -l -w – dst port 3306 | strings | egrep -i ‘SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL’

* 查看http连接
1.netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,”\t”,state[key]}’

* 查看SYN状态的http连接
1.netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

* 查看TIME_WAIT状态的http连接
1.netstat -tna | cut -b 49- |grep TIME_WAIT | sort |more
2.netstat -an | grep TIME_WAIT | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

* 查看ESTABLISHED状态的http连接
1.netstat -an | grep ESTABLISHED | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more
2.netstat -an | grep “:80″ | grep ESTABLISHED | sort | more

* 批量kill进程
1.ps -efww|grep sqlr-listener|grep -v grep|cut -c 9-15|xargs kill -9

* 查看活动的php-cgi连接数
1.netstat -anpo|grep php-cgi|wc -l

* 按ip查看httpd连接数
1.netstat -anlp | grep 80 | grep tcp | awk {‘print $5′} | awk -F: {‘print $1′}| sort |uniq -c | sort -nr

* 禁IP
1.iptables -A INPUT -s IP地址 -j REJECT
2.iptables -A INPUT -s IP地址/24 -j REJECT
3.route add -net IP地址 netmask 255.255.255.0 reject

* 调试命令
1.strace -p pid

* 跟踪指定的进程pid.
1.gdb -p pid

* 跟踪指定的进程pid.

* 批量查找文件并删除
1.find . -name test.php -exec rm {} \;
2.find . -name test.php | xargs rm -rf

* 更改某一目录下所有目录的权限, 不包括文件, aaa 是目录名
1.find aaa -type d -exec chmod 755 {} \;

* 替换文件内容
1.sed -i ‘s/b/strong/g’ index.html

此命令搜索 index.html 文件中的 b 并将其替换为 strong。

Categories: Linux, Server Tags: , , ,

在windows下用dbg在emacs里面调试程序

December 10th, 2008 No comments

在windows下面也可以用gdb调试程序了.跟在linux下面一样,先到mingw的主页

http://sourceforge.net/projects/mingw/,下载gdb包来安装,地址:

http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=20507

选择适合的版本下载(我选择的是gdb-6.8-mingw-3.tar.bz2),下载后解压就会得到
几个文件夹,跟mingw下面的文件夹是一一对应的,直接复制过去就可以了,
调试上图:
screen_gdb

使用:
当你在Emacs里面编辑好文件以后,编译.记得编译时要添加编译选项g,
比如我编译test.cpp时使用的是 g++ -ggdb3 test.cpp -o test.exe
,编译好以后就可以进行调试了,M-x gdba RET,你就会看到上面这样的图片了,开始你的调试之旅吧

Categories: SoftWare Tags: , , , ,

打造适合自己的System

October 14th, 2008 No comments

下面是自己的一些步骤仅供参考:
打造适合自己的系统
1 增加快捷键
1.1 增加Ctrl+R快捷命令行命令
1.1 建立sort目录,将常用操作快捷方式加入到其中(记得将名字改成简单易记的英文
名字),并将sort目录添加到系统环境path中。
Read more…

Categories: SoftWare Tags: , , , , , , , ,

VHCS install @ CentOS 4.2

December 11th, 2007 No comments
空闲的时间安装VHCS,这个是用来做虚拟主机管理的,和CPANEL相比,VHCS是开源的,阿建用得着。
 
根据VHCS的安装文档重写如下,以方便安装
 
1. 安装OS
 
choose "server" option during install
firewall: open ssh/http/https/ftp/smtp ports
selinux: disable (warn still generates errors in VHCS)
select minimum install
 
安装类型选“自定义”
手动分区(4G虚拟硬盘)
/ ext3 2000M
 swap 2*mem
/var ext3 剩余空间(用户数据在此分区上)
eth0 关闭DHCP,10.10.10.180/255.255.255.0
hostname: srv180.capno.com
gateway: 10.10.10.1
dns: 202.106.0.20/202.106.196.115
Enable firewall,默认的四个服务全允许(SSH/HTTP,HTTPS/FTP/SMTP)
SELinux: Disable
安装包选择:Minimal最小化安装(676M)
 
2. 基本配置
# useradd admin;passwd admin(以下操作凡未说明的都以root身份执行)
使用ssh客户端连接server
# vi /etc/fstab
LABEL=/var              /var                    ext3    defaults,usrquota        1 2
# touch /var/aquota.user;
  chmod 600 /var/aquota.user;
  mount -o remount /var;
  quotacheck -avugm
# server iptables stop;
mv /etc/rc.d/rc3.d/S08iptables /etc/rc.d/rc3.d/K08iptables
# vi /etc/grub.conf timeout=1
 
删除以下无用的软件包(iiimf-server,iiimf-csconv,iiimf-docs,iiimf-libs,xorg-x11-xfs并未安装)
# yum remove apmd autofs bluez-utils cups irda-utils
isdn4k-utils pcmcia-cs sendmail
ypbind xinetd
 
上传需要的软件包VHCS至/home/admin/
包含vhcs安装包,yum安装和升级包(节约yum升级时间),编译好的包(节约编译时间,第一次需要按官方文档自行编译)
# cd /home/admin/VHCS/;
cp -p yum_base/* /var/cache/yum/base/packages/;
cp -p yum_update/* /var/cache/yum/update/packages/
 
# rpm --import <a href="http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt">http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt</a>
# vi /etc/yum.repos.d/CentOS-Base.repo的[base]和[update]项,设置为较快的镜象,如:
 
baseurl=http://mirror.secuidc.com/centos/$releasever/os/$basearch/
baseurl=http://mirror.secuidc.com/centos/$releasever/update/$basearch/
 
# cat &lt;&lt;EOF &gt; /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
exclude=proftpd*
EOF
 
# yum install perl-libwww-perl perl-HTML-Parser perl-HTML-Tagset perl-URI
perl-Crypt-Blowfish perl-Crypt-CBC perl-Date-Calc perl-MIME-tools
perl-Convert-BinHex perl-IO-stringy perl-MailTools perl-TimeDate
 
# yum install rpm-build bind
 
# rpm -Uvh cpan2rpm-2.028-1.noarch.rpm
 
# tar vxfz Crypt-PasswdMD5-1.3.tgz; cd Crypt-PasswdMD5-1.3;
perl Makefile.PL; make; make install; cd ..
 
# tar vxfz Term-ReadPassword-0.07.tgz; cd Term-ReadPassword-0.07;
perl Makefile.PL; make; make install; cd ..
 
# rpm --import <a href="http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4">http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4</a>
# yum install
bison bzip2-devel cyrus-sasl cyrus-sasl-plain
expect fam-devel flex freetype-devel
gcc gcc-c++ gdbm-devel httpd httpd-devel
iptables libc-client-devel libjpeg-devel
libmcrypt libmcrypt-devel libpng-devel libtool
libxslt-devel make mod_ssl
mysql mysql-devel mysql-server
ncurses-devel net-snmp-devel
openssl openssl-devel openssl-perl
pam-devel php php-imap php-gd
php-mysql php-pgsql php-snmp
pkgconfig postgresql-devel zlib-devel
(删掉了mysql-admin这个包,不存在。)
# ln -s /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so /lib/
# rpm -Uvh proftpd-1.2.10-8_mysql.dag.i386.rpm;
rpm -Uvh postfix-2.2.5-1.mysql.sasl2.vda.rhel4.i386.rpm;
rpm -Uvh courier-authlib-*.rpm;
rpm -Uvh courier-mysql-0*.rpm courier-0*.rpm courier-imapd-0*.rpm courier-pop3d-0*.rpm;
rpm -Uvh php-mcrypt-4.3.9-3.1.1.i386.rpm
# vi /etc/postfix/main.cf
myhostname = srv180.capno.com
# vi /etc/httpd/conf/httpd.conf
ServerName srv180.capno.com:80
 
# chkconfig --add courier;
service courier start;
chkconfig proftpd on;
service proftpd start;
service mysqld start;
service httpd start;
service named start
 
# mysql
mysql&gt; create database vhcs2;use mysql;
mysql&gt; update user set password=password('DB_PASSWORD') where User='root';
mysql&gt; flush privileges;
 
# cd /home/admin/VHCS/;
tar -xjpvf vhcs2-2.4.7.1.tar.bz2;
cd vhcs2-2.4.7.1/configs/vhcs2.conf
 
SERVER_HOSTNAME = srv180
BASE_SERVER_IP = 10.10.10.180
MR_LOCK_FILE = /var/run/vhcs2.lock
DATABASE_NAME = vhcs2
DATABASE_PASSWORD = ****
BIND_CONF_FILE = /etc/named.conf
BIND_DB_DIR = /var/named/chroot/var/named
APACHE_CMD = /etc/init.d/httpd
APACHE_NAME = httpd
APACHE_LOG_DIR = /var/log/httpd
APACHE_USERS_LOG_DIR = /var/log/httpd/users
APACHE_BACKUP_LOG_DIR = /var/log/httpd/backup
APACHE_CONF_FILE = /etc/httpd/conf.d/vhcs2.conf
APACHE_USER = apache
APACHE_GROUP = apache
MTA_SASLDB_FILE = /etc/sasldb2
CMD_NAMED = /etc/init.d/named
CMD_HTTPD = /etc/init.d/httpd
CMD_AUTHD = /etc/init.d/courier-authlib
CMD_IMAP = /etc/init.d/courier
CMD_POP = /etc/init.d/courier
CMD_VHCS2D = /etc/init.d/vhcs2
MAIL_TRAFF_LOG = maillog
 
# sed -i "s#/usr/lib/postfix#/usr/libexec/postfix#g" /home/admin/VHCS/vhcs2-2.4.7.1/configs/postfix/main.cf
# cd /home/admin/VHCS/vhcs2-2.4.7.1; make install
 
# mkdir /var/named/chroot;
mkdir /var/named/chroot/var;
mkdir /var/named/chroot/var/named;
chown -R named:named /var/named/chroot
 
# cp --reply=yes -R /tmp/vhcs-2.4.7.1/* /;
cp -pR /tmp/vhcs-2.4.7.1/var/mail/* /var/mail/;
cp -pR /tmp/vhcs-2.4.7.1/etc/init.d/vhcs2_* /etc/init.d/;
rmdir /etc/courier/userdb;
touch /etc/courier/userdb;chmod 600 /etc/courier/userdb;
cp -p /etc/courier/userdb /etc/authlib/userdb
makeuserdb
 
# cd /var/www/vhcs2/engine/setup/
# ./vhcs2-setup
hostname: srv180
system network address: 10.10.10.180
SQL server host: localhost
SQL database: vhcs2
SQL user: root
SQL password: *******
VHCS ftp SQL user: vftp
admin name: admin
admin password: *******
admin e-mail: <a href="mailto:webmaster@capno.com">webmaster@capno.com</a>
 
# sed -i "s/nogroup/nobody/" /etc/proftpd.conf
# chmod u+w -R /var/www/vhcs2/gui/tools/webmail/
# cd /etc/vhcs2/bind/parts/
# cp -p cfg_entry.tpl cfg_entry.tpl.bak
# vi cfg_entry.tpl
original line: file "{DB_DIR}/{DMN_NAME}.db";
replacement line: file "{DMN_NAME}.db";
# sed -i "s/0700/0755/" /var/www/vhcs2/engine/vhcs2-*
# touch /etc/sasldb2
(test with /usr/sbin/sasldblistusers2)
 
# vi /etc/init.d/vhcs2
 
#!/bin/sh
#
# vhcs2           Start or stop the vhcs2 daemon
#
# chkconfig: - 95 5
# processname: vhcs2
# description: Start or stop the vhcs2 daemon
#
 
name='vhcs2'
lockfile=/var/lock/subsys/vhcs2
confFile=/etc/vhcs2/vhcs2.conf
pidFile=/var/log/vhcs2/vhcs2.pid
daemon=/var/www/vhcs2/daemon/vhcs2_daemon
name=vhcs2_daemon
 
case "$1" in
    'start')
    $daemon &gt;/dev/null 2&gt;&amp;1 &lt;/dev/null
    RETVAL=$?
    if [ "$RETVAL" = "0" ]; then
        touch $lockfile &gt;/dev/null 2&gt;&amp;1
    fi
;;
'stop')
pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
kill `cat $pidfile`
RETVAL=$?
if [ "$RETVAL" = "0" ]; then
    rm -f $lockfile
fi
;;
'status')
pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
if [ "$pidfile" = "" ]; then
    pidfile=$pidFile
fi
if [ -s $pidfile ]; then
    pid=`cat $pidfile`
    kill -0 $pid &gt;/dev/null 2&gt;&amp;1
    if [ "$?" = "0" ]; then
        echo "$name (pid $pid) is running"
        RETVAL=0
    else
        echo "$name is stopped"
        RETVAL=1
    fi
else
    echo "$name is stopped"
    RETVAL=1
fi
;;
'restart')
$stop &amp;&amp; $start
RETVAL=$?
;;
*)
echo "Usage: $0 { start | stop | restart }"
RETVAL=1
;;
esac
exit $RETVAL
 
# chmod +x /etc/init.d/vhcs2
# chkconfig --add vhcs2
 
# cd /etc/rc.d/rc3.d
# mv S35courier K35courier;
mv S13portmap K13portmap;
mv S14nfslock K14nfslock;
mv S18rpcidmapd K18rpcidmapd;
mv S19rpcgssd K19rpcgssd;
mv S25netfs K25netfs;
mv S40smartd K40smartd;
mv S44acpid K44acpid;
mv S80proftpd K80proftpd;
mv S85gpm K85gpm;
mv S95anacron K95anacron;
mv S95atd K95atd;
mv S97messagebus K97messagebus;
mv S98haldaemon K98haldaemon
 
# service httpd stop;
service mysqld stop;
service proftpd stop;
service courier stop;
service named stop;
 
# service named start;
service courier start;
service proftpd start;
service mysqld start;
service httpd start;
service vhcs2 start
 
访问<a href="http://10.10.10.180/vhcs2">http://10.10.10.180/vhcs2</a> admin登录后修改默认语言
Genaral -&gt; Muiltlanguage -&gt; Chinese, Save
修改/etc/php.ini, defaultcharset = "gb2312", 重启httpd
Categories: Server Tags: , , , , , , , ,