wdcp安装中文分词scws

2014-4-20 寒川 计算机

自从有了虚拟机,鼓捣的东西从没停过。昨晚为wdcp安装中文分词,今天整理如下,分享出来。

测试环境:

OS:centos6.5

WDCP:wdcp_v2.5.10(20140213) 

PHP:5.3.27

环境介绍完毕,下面是安装步骤:

cd /root #已root进入root目录
wget http://www.xunsearch.com/scws/down/scws-1.2.2.tar.bz2 #下载源码
tar xvjf scws-1.2.2.tar.bz2 #解压源码
cd scws-1.2.2 #进入源码目录
./configure --prefix=/usr/local/scws ; make ; make install #配置,安装
cd /usr/local/scws/etc #进入scws目录
wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2 #下载gbk词库
wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2 #下载utf8词库
tar xvjf scws-dict-chs-gbk.tar.bz2 #解压gbk词库
tar xvjf scws-dict-chs-utf8.tar.bz2 #解压utf8词库
cd /root/scws-1.2.2/phpext #进入php扩展源码目录
/www/wdlinux/apache_php-5.3.27/bin/phpize #侦测环境(phpize工具是在php安装目录下,基于这点phpize对应了当时的php环境,所以是要根据该php的配置情况生成对应的configure文件),建立一个configure文件。必须在一个目录下去运行phpize。那么phpize就知道你的的环境是哪个目录,并且configure文件建立在该目录下。
./configure --with-php-config=/www/wdlinux/apache_php-5.3.27/bin/php-config --with-scws=/usr/local/scws #配置
make install
配置php,在 php.ini 中加入以下几行:
 [scws]
 ;
 ; 注意请检查 php.ini 中的 extension_dir 的设定值是否正确, 否则请将 extension_dir 设为空,
 ; 再把 extension = scws.so 指定绝对路径。
 ;
 extension = /www/wdlinux/apache_php-5.3.27/lib/php/extensions/no-debug-non-zts-20090626/scws.so #此路径编译后会显示
 scws.default.charset = utf8
 ;上一行也可说gbk
 scws.default.fpath = /usr/local/scws/etc
service httpd restart #重启web服务器

若上述均无误,中文分词scws-1.2.2应该安装成功。 其他版本,请参考安装。

最后,可能出现用php分词时出现单字的情况,貌似词库没起作用。经测试,确实是没起作用,原因是词库不具有读写权限,手动设置一下就OK了。

标签: php CentOS wdcp 中文分词 scws

评论(1) 浏览(10969)

centos 6最小化安装,无法上网安装其他软件解决办法

2014-4-19 寒川 计算机

由于网络不给力,图个快速,下载了个最小安装版centos6.5,用wm虚拟机一会儿就安装完毕,只是默认情况不能上网,没法安装所需的软件。解决办法如下:

第一步:执行命令启动网卡 (最小化安装不是自动启动的)
[root@localhost]# ifconfig eth0 up 
第二步:
[root@localhost]# dhclient eth0  
此两步操作完成,可以上网了。

然后安装其他软件无压力。


开机启动:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

将ONBOOT=no改为yes

标签: CentOS VM 无法上网

评论(0) 浏览(8489)

记超大网站迁移数据文件

2014-3-29 寒川 计算机

超大网站迁移数据文件,常规方法压缩文件,然后到目标服务器wget下载压缩的文件。解压即可。

最近遇到一特郁闷的事情,网站大约几十个G的内容,图片啊程序啊缓存文件啊,由于硬盘只有100G,压缩的时候硬盘就直接爆盘了。我了个去,看来只能分别少少的压缩,然后再wget。这其实是不错的方法。还有一种方法,个人觉得可行,只是估计时间要得非常长,好在服务器下载和上传速度都给力,或许几小时就搞定了。方法就是直接在目标服务器wget被转移文件,采用ftp方式下载。


wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r  

-r 参数表示递归下载;
可以使用--directory-prefix=/mypath/ 指定下载后存储路径;-nH选项可以不在本地创建服务器上的目录结构
另一个令人迷惑的选项是--delete-after,它并不是用来删除服务器上的已下载文件,而是用来删除本机的;

wget之所以是wget而不是wput,它只能进行下载操作,不支持对ftp服务器上的任何写操作,比如删除。


还有一个用scp命令,可以完成。


scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2 
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 . 

可能有用的几个参数 : 

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 . 

-C 使能压缩选项 . 

-P 选择端口 . 注意 -p 已经被 rcp 使用 . 

-4 强行使用 IPV4 地址 . 

-6 强行使用 IPV6 地址 .

 

注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
 



标签: ftp wget

评论(0) 浏览(7027)

linux如何修改mysql数据库数据存放位置

2014-3-22 寒川 计算机

linux如何修改mysql数据库数据存放位置?这个问题很简单,只是记录下来,方便以后使用,自己喜欢用虚拟机鼓捣wdapache,就以wdapache环境为例。共计步完成mysql数据库数据存放位置更改。

1、停止mysql数据库服务器:


service mysqld stop
2、将数据库所有数据移动到新的位置,我的wdapache服务器的mysql数据库位于/www/wdlinux/mysql/var/这个目录,我数据盘加载于/data/目录下方,,如:


cp -pR /www/wdlinux/mysql/var/ /data/mysql/


3、修改mysql配置文件my.cnf,在[mysqld]下增加一行:


datadir=/data/mysql
保存,退出。


4、启动mysql数据库。


service mysqld start


标签: mysql linux my.cnf

评论(1) 浏览(9884)

windows下面Oracle VM VirtualBox调整虚拟硬盘大小

2014-3-11 寒川 计算机

1、win+R,然后输入cmd回车,进入命令界面。

2、cd至Oracle VM VirtualBox的安装目录。

3、VBoxManage modifyhd “C:\Users\Administrator\VirtualBox VMs\centos\centos.vdi” –-resize 15360 回车后就将虚拟硬盘centos.vdi调整成15GB了。

标签: CentOS VM VirtualBox

评论(1) 浏览(8930)

apache伪静态参数超过9个的解决办法

2013-11-28 寒川 计算机

apache服务器,利用.htaccess做伪静态筛选,由于条件比较多,且筛选的参数和值均为伪静态参数,一个7个筛选条件就多大14个伪静态参数。简直坑爹啊。下面是解决办法:

RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)\.html /a.php?$1=$2 [L]
RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)\.html /a.php?$1=$2&$3=$4 [L]
RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)\.html /a.php$1=$2&$3=$4&$5=$6 [L]
RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)\.html /a.php?$1=$2&$3=$4&$5=$6&$7=$8 [L]
#上面参数未超过9个,下面超过9个参数的情况。
RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(.*)\.html a-$9\.html$1=$2&$3=$4&$5=$6&$7=$8 [C,NC]
RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)\.html(.*) /a.php?$1=$2&$3 [QSA,L,NC] #结合上一行,共计10个参数。
RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)\.html(.*) /a.php?$1=$2&$3=$4&$5 [QSA,L,NC] #结合第6行,共计12个参数。
RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)\.html(.*) /a.php?$1=$2&$3=$4&$5=$6&$7 [QSA,L,NC] #结合第6行,共计14个参数。
RewriteRule ^a-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)-(a|b|c|d|e|f|g)([0-9]+)\.html(.*) /a.php?$1=$2&$3=$4&$5=$6&$7=$8&$9 [QSA,L,NC] #结合第6行,共计16个参数。

访问地址分别如下:

a-a1.html 对应url参数为a.php?a=1(其中参数a可以为b、c、d、e、f、g)
a-a1-b1.html 对应url参数为a.php?a=1&b=1
……
a-a1-b1-c1-d1-f1-g1.html 对应url参数为a.php?a=1&b=1&c=1&d=1&e=1&f=1&g=1

对于上述第4行,共计14个伪静态参数。

标签: apache 伪静态 htaccess 超过9个参数

评论(0) 浏览(8656)

mysql数据库表A中某列update更新至表B中某列

2013-11-28 寒川 计算机

大概需求是这样的,有两个表,tablea和tableb,他有相同的id,现在需要将表A中的fielda数据更新至表B中的fielda列,换句话说,要更新表B中的fieldb列,其数据来源于表A的fielda列。貌似mysql不支持update select这种,下面是解决方案:


update tableb b,(select b.id as aid,a.fielda as fieldc
from tablea a,tableb b
where a.id=b.id
group by aid) c
set b.fieldb=c.fieldc
where b.id=c.aid 
经测试,运行正常。数据表如下:
 
表A数据结构及数据如下:
CREATE TABLE IF NOT EXISTS `tablea` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fielda` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

INSERT INTO `tableb` (`id`, `fielda`) VALUES
(1, 2),
(2, 2),
(3, 2),
(4, 3),
(5, 5),
(6, 10),
(7, 4),
(8, 50);
表B数据结构及数据如下:

CREATE TABLE IF NOT EXISTS `tableb` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fieldb` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

INSERT INTO `tableb` (`id`, `fieldb`) VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 1),
(5, 1),
(6, 1),
(7, 1),
(8, 1);
经过执行文中解决方案的sql命令,B表的fieldb中的数据变为与A表一致。

标签: mysql update 数据表A 数据表B

评论(0) 浏览(6926)

Powered by emlog 蜀ICP备12030225号

川公网安备 51042102000001号

sitemap