背景:整个vps,想在上面整个windows,装个Rtx Server,你说是不是得装个界面,得vnc,再装个vmware?呵呵。
CentOS下安装KDE/GNOME+VNC实现远程图形界面管理
通常,我们用ssh命令行来管理linux服务器。但有时候,我们需要像Windows下的远程桌面这样的图形远程程序来管理服务器(比如安装ORACLE),然而Linux下默认并不存在这样的程序。所以,我们需要安装KDE或gnome桌面环境和VNC来实现远程图形管理!具体步骤如下:
1.安装KDE
yum install kdepim
或安装Gnome(256M以上内存可两个都安装)
yum groupinstall gnome-desktop
yum install gnome-session
内存大的建议用GNOME!
再运行
yum groupinstall "X Window System" "GNOME Desktop Environment" "KDE (K Desktop Environment)"
2.安装VNC
yum -y install vnc vnc-server firefox x11-xorg
yum -y install fonts-chinese
3.配置
运行如下代码
vncserver
运行完后会提示你设置密码,需要输两遍。设好你的密码后,然后程序会建立一个.vnc的目录,一般情况下是/root/.vnc
杀掉VNC的进程并删除临时sockets。
pkill -9 vnc
rm -rf /tmp/.X1*
编辑/root/.vnc/xstartup
vi /root/.vnc/xstartup
在最后一行将twm
KDE则改成startkde
GNOME则改成gnome-session
4.重新开启vncserver
vncserver
到此,安装结束。现在可以使用vnc客户端远程图形化管理服务器了。
http://yongsheng0550.blog.163.com/blog/static/249841052011443444574/
CentOS6.3的VNC--远程桌面:
http://www.douban.com/note/290552870/
Linux(CentOS 6.4)下安装VMware Tools:
http://blog.itpub.net/29409386/viewspace-1081603/
VMware Server 2.0使用手册(加入了USB设备连接方法):(感觉靠谱)
http://wenku.baidu.com/link?url=G1ZO2IqwPIBEDW5wiy2UZV5Ni-OC5619xST2BtkISzwmxuNXLSXNhNjDdH5t4JGjs793g0zo3vj-mBjEv4NqILp0CQiG-jJ2H02SlTtMk4q
首先我想说vmware 在linux下安装真TM坑爹..
吐槽结束,然后看看我如何搞定它..:
http://www.bianceng.cn/OS/Linux/201406/41369.htm
centos下安装VMware Server 虚拟机的方法:
http://www.jb51.net/os/RedHat/31989.html
三、安装vnc
注意:CentOS6.3 VNC的命名rpm为tiggervnc-server
(1)
yum install tiggervnc-server
(2)
vi /etc/sysconfig/vncservers
#加一行
VNCSERVERS="1:root"
(3)
vncpasswd
创建密码
(4)
/etc/init.d/vncserver start
[root@jackxiang ~]# /etc/init.d/vncserver start
正在启动 VNC 服务器:no displays configured [失败]
实践OK:
[root@jackxiang ~]# vncserver :2
xauth: (stdin):1: bad display name "jackxiang:2" in "add" command
New 'jackxiang:2 (root)' desktop is jackxiang:2
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/jackxiang:2.log
/root/startvnc.sh
#vncserver :1
vncserver -geometry 1504x807
/usr/bin/Xvnc :1 -desktop jackxiang:1 (root) -auth /root/.Xauthority -geometry 1504x807 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn
在服务器端启动VNC服务时按如下命令启动:vncserver -geometry 1152x864 -depth 24 即可以1152x864的分辨率和24位的颜色深度来显示。
-geometry x指定显示桌面的分辨率,默认为1024x768,比1152x864更大一点的:1152x864 1440x900 1600x1200 。
http://blog.sina.com.cn/s/blog_45a43d6d01017smq.html
(5)
# netstat -nulpt | grep vnc
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 29167/Xvnc
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 29167/Xvnc
tcp 0 0 :::6001 :::* LISTEN 29167/Xvnc
表示vnc可以使用了
以上来自:http://www.server110.com/kvm/201310/2721.html
Linux(CentOS下)安装VMware Server 2.0:
http://www.cuwww.com/help/detail-11.html
CentOS下安装KDE/GNOME+VNC实现远程图形界面管理
通常,我们用ssh命令行来管理linux服务器。但有时候,我们需要像Windows下的远程桌面这样的图形远程程序来管理服务器(比如安装ORACLE),然而Linux下默认并不存在这样的程序。所以,我们需要安装KDE或gnome桌面环境和VNC来实现远程图形管理!具体步骤如下:
1.安装KDE
yum install kdepim
或安装Gnome(256M以上内存可两个都安装)
yum groupinstall gnome-desktop
yum install gnome-session
内存大的建议用GNOME!
再运行
yum groupinstall "X Window System" "GNOME Desktop Environment" "KDE (K Desktop Environment)"
2.安装VNC
yum -y install vnc vnc-server firefox x11-xorg
yum -y install fonts-chinese
3.配置
运行如下代码
vncserver
运行完后会提示你设置密码,需要输两遍。设好你的密码后,然后程序会建立一个.vnc的目录,一般情况下是/root/.vnc
杀掉VNC的进程并删除临时sockets。
pkill -9 vnc
rm -rf /tmp/.X1*
编辑/root/.vnc/xstartup
vi /root/.vnc/xstartup
在最后一行将twm
KDE则改成startkde
GNOME则改成gnome-session
4.重新开启vncserver
vncserver
到此,安装结束。现在可以使用vnc客户端远程图形化管理服务器了。
http://yongsheng0550.blog.163.com/blog/static/249841052011443444574/
CentOS6.3的VNC--远程桌面:
http://www.douban.com/note/290552870/
Linux(CentOS 6.4)下安装VMware Tools:
http://blog.itpub.net/29409386/viewspace-1081603/
VMware Server 2.0使用手册(加入了USB设备连接方法):(感觉靠谱)
http://wenku.baidu.com/link?url=G1ZO2IqwPIBEDW5wiy2UZV5Ni-OC5619xST2BtkISzwmxuNXLSXNhNjDdH5t4JGjs793g0zo3vj-mBjEv4NqILp0CQiG-jJ2H02SlTtMk4q
首先我想说vmware 在linux下安装真TM坑爹..
吐槽结束,然后看看我如何搞定它..:
http://www.bianceng.cn/OS/Linux/201406/41369.htm
centos下安装VMware Server 虚拟机的方法:
http://www.jb51.net/os/RedHat/31989.html
三、安装vnc
注意:CentOS6.3 VNC的命名rpm为tiggervnc-server
(1)
yum install tiggervnc-server
(2)
vi /etc/sysconfig/vncservers
#加一行
VNCSERVERS="1:root"
(3)
vncpasswd
创建密码
(4)
/etc/init.d/vncserver start
[root@jackxiang ~]# /etc/init.d/vncserver start
正在启动 VNC 服务器:no displays configured [失败]
实践OK:
[root@jackxiang ~]# vncserver :2
xauth: (stdin):1: bad display name "jackxiang:2" in "add" command
New 'jackxiang:2 (root)' desktop is jackxiang:2
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/jackxiang:2.log
/root/startvnc.sh
#vncserver :1
vncserver -geometry 1504x807
/usr/bin/Xvnc :1 -desktop jackxiang:1 (root) -auth /root/.Xauthority -geometry 1504x807 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn
在服务器端启动VNC服务时按如下命令启动:vncserver -geometry 1152x864 -depth 24 即可以1152x864的分辨率和24位的颜色深度来显示。
-geometry x指定显示桌面的分辨率,默认为1024x768,比1152x864更大一点的:1152x864 1440x900 1600x1200 。
http://blog.sina.com.cn/s/blog_45a43d6d01017smq.html
(5)
# netstat -nulpt | grep vnc
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 29167/Xvnc
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 29167/Xvnc
tcp 0 0 :::6001 :::* LISTEN 29167/Xvnc
表示vnc可以使用了
以上来自:http://www.server110.com/kvm/201310/2721.html
Linux(CentOS下)安装VMware Server 2.0:
http://www.cuwww.com/help/detail-11.html
背景:经常用Windows的小乌龟提交东西习惯了后,发现Linux下修改一个文件后,再sz下来,再用那个小乌龟太麻烦,直接svn ci得了,但发出冲突,如何解决冲突是一个关键,于是此篇博文产生了,来自网上。
[版本控制]Linux下的svn命令行和Windows下中解决冲突有关问题步骤。
一、Linux下:svn命令行中解决冲突问题
如果不小心提交了一些动态改变根本不需要的文件到svn服务器上,出现冲突如何解决,基本思路是首先使用svn resolved filename 放弃对文件的修改,然后就可以提交上去了。然后svn rm test.log删除掉这个文件。然后再次提交,如果其他人更新的也同样处理。
1.svn ci -m "update"
svn: Commit failed (details follow):
svn: Aborting commit: 'test.log' remains in conflict
2.使用svn resolved test.log
3.svn ci -m "update"
这个时候应该可以提交了
4.svn rm test.log
删除掉这个文件
5.svn ci -m "update"
再次提交
这个时候服务器上就没有这个文件了。
在其他的服务器终端上如果遇到这个问题的时候重复这个操作。
http://www.myexception.cn/cvs-svn/486458.html
二、Windows下:svn更新报错 remains in tree-conflict
今天做项目,svn报错
xx remains in tree-conflict
更新可以,commit 不行.网上找到解决方法
右击冲突的文件或文件夹(一般上面有个感叹号)选择Edit TreeConflicts
有2个按钮(全英文的)
keep the directory from the reostitroy和Mark the conflict as resovled(我是点选这个就好了).
希望对大家有帮助,谢谢.
http://jfbcb.com/article/detail/54
[版本控制]Linux下的svn命令行和Windows下中解决冲突有关问题步骤。
一、Linux下:svn命令行中解决冲突问题
如果不小心提交了一些动态改变根本不需要的文件到svn服务器上,出现冲突如何解决,基本思路是首先使用svn resolved filename 放弃对文件的修改,然后就可以提交上去了。然后svn rm test.log删除掉这个文件。然后再次提交,如果其他人更新的也同样处理。
1.svn ci -m "update"
svn: Commit failed (details follow):
svn: Aborting commit: 'test.log' remains in conflict
2.使用svn resolved test.log
3.svn ci -m "update"
这个时候应该可以提交了
4.svn rm test.log
删除掉这个文件
5.svn ci -m "update"
再次提交
这个时候服务器上就没有这个文件了。
在其他的服务器终端上如果遇到这个问题的时候重复这个操作。
http://www.myexception.cn/cvs-svn/486458.html
二、Windows下:svn更新报错 remains in tree-conflict
今天做项目,svn报错
xx remains in tree-conflict
更新可以,commit 不行.网上找到解决方法
右击冲突的文件或文件夹(一般上面有个感叹号)选择Edit TreeConflicts
有2个按钮(全英文的)
keep the directory from the reostitroy和Mark the conflict as resovled(我是点选这个就好了).
希望对大家有帮助,谢谢.
http://jfbcb.com/article/detail/54
背景:
yum install vsftpd
[root@ZWCLC6X-7198 vhost]# vi /etc/vsftpd/ftpusers
//均把root注释掉。
[root@ZWCLC6X-7198 vhost]# vi /etc/vsftpd/user_list
//均把root注释掉。
[root@ZWCLC6X-7198 vhost]# setsebool -P ftpd_disable_trans=1
setsebool: SELinux is disabled.
[root@ZWCLC6X-7198 vhost]# vi /etc/vsftpd/vsftpd.conf
userlist_file=/data/htdocs/jackxiang.com
[root@ZWCLC6X-7198 vhost]# service vsftpd restart
关闭 vsftpd: [失败]
为 vsftpd 启动 vsftpd: [确定]
[root@ZWCLC6X-7198 vhost]# netstat -atlunp|grep ftp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1176/vsftpd
vi /etc/sysconfig/iptables-config
lsmod | grep ftp
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
Linux iptables开启ftp端口:
开启被动模式FTP支持:
在/etc/sysconfig/iptables-config里面添加ip_nat_ftp、ip_conntrack_ftp模块,如下:
vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_nat_ftp"
IPTABLES_MODULES="ip_conntrack_ftp"
然后重启iptables或者执行如下命令:
lsmod | grep ftp (查看是否加载ftp模块)
modprobe ip_nat_ftp(加载ftp模块)
lsmod | grep ftp (查看模块是否被加载)
之后只需要添加规则
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
leapftp 被动连接模式:
LeapFTP:SiteManager-->Option ->FTP -> Connection mode->Use Pasv Mode(PASV)
参考:http://hi.baidu.com/wd892/item/eb087e029da9fa6fd45a1188
参看Linux iptables开启ftp端口:http://wgkgood.blog.51cto.com/1192594/282737
vsftpd允许root用户登录 :
Linux下安装vsftpd之后,默认的配置是
匿名用户可以登录,匿名帐户有两个:
用户名:anonymous
密码:空
用户名:ftp
密码:ftp
如果要用匿名进行上传删除等操作需要配置其它参数。
本篇文章主要是设置如何让root用户可以登录的。
因为默认配置是不行。
主要在vsftpd.conf的两个参数控制
userlist_enable和pam_service_name
默认userlist_enable是YES的状态,pam_service_name是vsftpd
你需要在/etc/vsftpd/user_list文件中把root那一行删除或者注释掉
同理,/etc/vsftpd/ftpusers文件中的root也注释掉
然后重启vsftpd就可以了
http://blog.itpub.net/196700/viewspace-745364/
yum install vsftpd
[root@ZWCLC6X-7198 vhost]# vi /etc/vsftpd/ftpusers
//均把root注释掉。
[root@ZWCLC6X-7198 vhost]# vi /etc/vsftpd/user_list
//均把root注释掉。
[root@ZWCLC6X-7198 vhost]# setsebool -P ftpd_disable_trans=1
setsebool: SELinux is disabled.
[root@ZWCLC6X-7198 vhost]# vi /etc/vsftpd/vsftpd.conf
userlist_file=/data/htdocs/jackxiang.com
[root@ZWCLC6X-7198 vhost]# service vsftpd restart
关闭 vsftpd: [失败]
为 vsftpd 启动 vsftpd: [确定]
[root@ZWCLC6X-7198 vhost]# netstat -atlunp|grep ftp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1176/vsftpd
vi /etc/sysconfig/iptables-config
lsmod | grep ftp
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
Linux iptables开启ftp端口:
开启被动模式FTP支持:
在/etc/sysconfig/iptables-config里面添加ip_nat_ftp、ip_conntrack_ftp模块,如下:
vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_nat_ftp"
IPTABLES_MODULES="ip_conntrack_ftp"
然后重启iptables或者执行如下命令:
lsmod | grep ftp (查看是否加载ftp模块)
modprobe ip_nat_ftp(加载ftp模块)
lsmod | grep ftp (查看模块是否被加载)
之后只需要添加规则
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT
leapftp 被动连接模式:
LeapFTP:SiteManager-->Option ->FTP -> Connection mode->Use Pasv Mode(PASV)
参考:http://hi.baidu.com/wd892/item/eb087e029da9fa6fd45a1188
参看Linux iptables开启ftp端口:http://wgkgood.blog.51cto.com/1192594/282737
vsftpd允许root用户登录 :
Linux下安装vsftpd之后,默认的配置是
匿名用户可以登录,匿名帐户有两个:
用户名:anonymous
密码:空
用户名:ftp
密码:ftp
如果要用匿名进行上传删除等操作需要配置其它参数。
本篇文章主要是设置如何让root用户可以登录的。
因为默认配置是不行。
主要在vsftpd.conf的两个参数控制
userlist_enable和pam_service_name
默认userlist_enable是YES的状态,pam_service_name是vsftpd
你需要在/etc/vsftpd/user_list文件中把root那一行删除或者注释掉
同理,/etc/vsftpd/ftpusers文件中的root也注释掉
然后重启vsftpd就可以了
http://blog.itpub.net/196700/viewspace-745364/
HTML中如何快速检查漏掉的闭合标签?
在套页面的时候,经常会遇到 HTML不闭合或者 过早闭合等问题,
很多时间都浪费在 核对标签上,
于是乎就有了 这个 HTML标签检测插件,
它可以很方便的帮你查找HTML标签中的闭合问题,
这个插件原作者不是我,是一个日本人,我之前一直在用,挺好用的,
但是 CHROME 升级到20X之后,这个插件就不能用了,很多特性,20x之后的版本不支持,
大半年了,作者也没有要升级的意思,chrome商店里面也下掉了,不知为何,
所以今天下午挤了挤时间,完善了这个版本。
效果图如下:
安装方法
一、通过CHROME商店安装
1、用chrome浏览器打开
https://chrome.google.com/webstore/detail/html-tracter/eglomijmggnafcfejliedcljabfgblia?hl=zh-CN
2、点击红色部分
3、安装成功
二、通过CRX文件安装
1、下载CRX文件
http://www.imsiren.com/wp-content/uploads/chrome-plugins/htmlchecker_v02.crx
2、打开 浏览器的扩展程序:工具 --->扩展程序---》拖动crx到该页
3、将crx拖拽到打开的页面即可
原文出处:http://www.imsiren.com/archives/891
————————————————————————————————————————————————————————————
实践证明先下载再安装是最靠谱的方法,测试下未闭合的div标签:
<div><div>11111<div></div></div>
<h2>
jack
</body></html>
安装后在右上角会出现一个HTML标签图,发现它显示值为2,点入后提示如下,说明这个插件是Ok的:
行 420:
<div> : 没有结束标签
行 421:
<h2> : 没有结束标签
在套页面的时候,经常会遇到 HTML不闭合或者 过早闭合等问题,
很多时间都浪费在 核对标签上,
于是乎就有了 这个 HTML标签检测插件,
它可以很方便的帮你查找HTML标签中的闭合问题,
这个插件原作者不是我,是一个日本人,我之前一直在用,挺好用的,
但是 CHROME 升级到20X之后,这个插件就不能用了,很多特性,20x之后的版本不支持,
大半年了,作者也没有要升级的意思,chrome商店里面也下掉了,不知为何,
所以今天下午挤了挤时间,完善了这个版本。
效果图如下:
安装方法
一、通过CHROME商店安装
1、用chrome浏览器打开
https://chrome.google.com/webstore/detail/html-tracter/eglomijmggnafcfejliedcljabfgblia?hl=zh-CN
2、点击红色部分
3、安装成功
二、通过CRX文件安装
1、下载CRX文件
http://www.imsiren.com/wp-content/uploads/chrome-plugins/htmlchecker_v02.crx
2、打开 浏览器的扩展程序:工具 --->扩展程序---》拖动crx到该页
3、将crx拖拽到打开的页面即可
原文出处:http://www.imsiren.com/archives/891
————————————————————————————————————————————————————————————
实践证明先下载再安装是最靠谱的方法,测试下未闭合的div标签:
<div><div>11111<div></div></div>
<h2>
jack
</body></html>
安装后在右上角会出现一个HTML标签图,发现它显示值为2,点入后提示如下,说明这个插件是Ok的:
行 420:
<div> : 没有结束标签
行 421:
<h2> : 没有结束标签
背景:搞个个人博客的全文搜索得用like啥的,现在mysql版本号已经大于5.6.4了也就支持了innodb的全文搜索了,刚查了下目前版本号都到MySQL Community Server 5.6.19 了,所以,一些小的应用可以用它做全文搜索了,像sphinx和Lucene这样偏重的、需要配置或开发的,节省了成本。
这儿有一个原创的Mysql全文搜索的文章, mysql的全文搜索功能:
http://blog.csdn.net/bravekingzhang/article/details/6727541
基于mysql全文索引的深入理解:
http://www.jb51.net/article/37738.htm
为什么要设置 Mysql 的 ft_min_word_len=1:
http://blog.csdn.net/shilian_h/article/details/6215537
MySQL 全文搜索支持简述:
从MySQL 4.0以上 myisam引擎就支持了full text search 全文搜索,在一般的小网站或者blog上可以使用这个特性支持搜索。
那么怎么使用了,简单看看:
1.创建一个表,指定支持fulltext的列
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
);
2.插入一些数据作为测试
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...'),
('How To Use MySQL Well','After you went through a ...'),
('Optimizing MySQL','In this tutorial we will show ...'),
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
('MySQL vs. YourSQL','In the following database comparison ...'),
('MySQL Security','When configured properly, MySQL ...');
3.select查询fulltext的列
SELECT * FROM articles
WHERE MATCH (title,body) AGAINST ('database');
查询结果:
5 MySQL vs. YourSQL In the following database comparison ...
1 MySQL Tutorial DBMS stands for DataBase ...
全文查询中的boolean语句, + -跟普通的搜索引擎语法一样
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
innodb不支持fulltext,当然可以使用http://sphinxsearch.com/ sphinx来dump数据库数据支持全文搜索。
原文地址:http://www.javaarch.net/jiagoushi/700.htm
后记,MySQL 5.6.4里才添加了InnoDB引擎的Full-Text索引支持,或用张宴兄弟的基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计: http://blog.s135.com/post/360/
Q:
我想在查询时使用MATCH(...) AGAINST(...)语法,但是我的数据表引擎是Innodb,当我CREATE FULLTEXT INDEX的时候,返回提示The used table type doesn't support FULLTEXT indexes。
我想问的是在innodb引擎中是否不能使用FULLTEXT引擎?有什么替代品吗?可以使用MATCH(...) AGAINST(...)语法吗?
A:
MySQL 5.6.4里才添加了InnoDB引擎的Full-Text索引支持。
不能升级MySQL版本的话:
推荐用Lucene(ElasticSearch比较容易部署)或Sphinx这样的第三方解决方案。
innodb 不支持FULLTEXT类型的全文索引,但是innodb可以使用sphinx插件支持全文索引,并且效果更好。
sphinx 是一个开源软件,提供多种语言的API接口,可以优化mysql的各种查询。
如果这个表更新不频繁,查询量不大,又赶时间,可以用触发器、定时任务或者其他类似的DBA技巧创建支持全文索引的镜像表(如MyISAM类型的),代码改动会小一些。
MySQL5.6 InnoDB FULLTEXTIndexes研究测试:
http://blog.csdn.net/zyz511919766/article/details/12780173
mysql 5.6.4支持nosql:
在最新的 mysql-5.6.4-labs-innodb-memcached 中,实现了简单的给予 key/value的nosql功能,其主要原理
就是mysqld除了监听3306端口之外,同时监听11211端口。使mysqld和memcached服务处在同一进程中。通过
数据库、表与字段的映射,将缓存在memcache的数据插入到映射的表中。安装包中提供了三张表:containers
cache_policies和config_options,表containers就提供了映射关系,表cache_policies提供了三种存储方式(
innodb_only数据只插入表,cache_only只缓存数据,caching即缓存数据又插入表),表config_options中提供
了一个默认分隔符“|”,就是说如果在表containers的values字段中定义了col1,col2...字段,那在设置缓存值时就
可以用val1|val2的形式,这样将会把val1插入到col1,val2插入到col2。
来自:http://blog.csdn.net/sunny5211/article/details/7357893
这个不能算是全文搜索, 只是传统的全表搜索。如果使用mysql的全文检查,在200万数据集上,不可能用那么长的时间的。
使用mysql全文检索的方法如下:
1. 配置mysql参数ft_min_word_len=1
在数据表的文本字段中创建fulltext索引。
2.将原始文本进行分词(处理成按空格分隔的字符串),可使用一些开源的分词模块实现。 再导入到mysql数据表中
3. 使用mysq select * from tb1 where title match'词语' 进行检索。
来自:http://www.oschina.net/question/123890_133459
这儿有一个原创的Mysql全文搜索的文章, mysql的全文搜索功能:
http://blog.csdn.net/bravekingzhang/article/details/6727541
基于mysql全文索引的深入理解:
http://www.jb51.net/article/37738.htm
为什么要设置 Mysql 的 ft_min_word_len=1:
http://blog.csdn.net/shilian_h/article/details/6215537
MySQL 全文搜索支持简述:
从MySQL 4.0以上 myisam引擎就支持了full text search 全文搜索,在一般的小网站或者blog上可以使用这个特性支持搜索。
那么怎么使用了,简单看看:
1.创建一个表,指定支持fulltext的列
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
);
2.插入一些数据作为测试
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...'),
('How To Use MySQL Well','After you went through a ...'),
('Optimizing MySQL','In this tutorial we will show ...'),
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
('MySQL vs. YourSQL','In the following database comparison ...'),
('MySQL Security','When configured properly, MySQL ...');
3.select查询fulltext的列
SELECT * FROM articles
WHERE MATCH (title,body) AGAINST ('database');
查询结果:
5 MySQL vs. YourSQL In the following database comparison ...
1 MySQL Tutorial DBMS stands for DataBase ...
全文查询中的boolean语句, + -跟普通的搜索引擎语法一样
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
innodb不支持fulltext,当然可以使用http://sphinxsearch.com/ sphinx来dump数据库数据支持全文搜索。
原文地址:http://www.javaarch.net/jiagoushi/700.htm
后记,MySQL 5.6.4里才添加了InnoDB引擎的Full-Text索引支持,或用张宴兄弟的基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计: http://blog.s135.com/post/360/
Q:
我想在查询时使用MATCH(...) AGAINST(...)语法,但是我的数据表引擎是Innodb,当我CREATE FULLTEXT INDEX的时候,返回提示The used table type doesn't support FULLTEXT indexes。
我想问的是在innodb引擎中是否不能使用FULLTEXT引擎?有什么替代品吗?可以使用MATCH(...) AGAINST(...)语法吗?
A:
MySQL 5.6.4里才添加了InnoDB引擎的Full-Text索引支持。
不能升级MySQL版本的话:
推荐用Lucene(ElasticSearch比较容易部署)或Sphinx这样的第三方解决方案。
innodb 不支持FULLTEXT类型的全文索引,但是innodb可以使用sphinx插件支持全文索引,并且效果更好。
sphinx 是一个开源软件,提供多种语言的API接口,可以优化mysql的各种查询。
如果这个表更新不频繁,查询量不大,又赶时间,可以用触发器、定时任务或者其他类似的DBA技巧创建支持全文索引的镜像表(如MyISAM类型的),代码改动会小一些。
MySQL5.6 InnoDB FULLTEXTIndexes研究测试:
http://blog.csdn.net/zyz511919766/article/details/12780173
mysql 5.6.4支持nosql:
在最新的 mysql-5.6.4-labs-innodb-memcached 中,实现了简单的给予 key/value的nosql功能,其主要原理
就是mysqld除了监听3306端口之外,同时监听11211端口。使mysqld和memcached服务处在同一进程中。通过
数据库、表与字段的映射,将缓存在memcache的数据插入到映射的表中。安装包中提供了三张表:containers
cache_policies和config_options,表containers就提供了映射关系,表cache_policies提供了三种存储方式(
innodb_only数据只插入表,cache_only只缓存数据,caching即缓存数据又插入表),表config_options中提供
了一个默认分隔符“|”,就是说如果在表containers的values字段中定义了col1,col2...字段,那在设置缓存值时就
可以用val1|val2的形式,这样将会把val1插入到col1,val2插入到col2。
来自:http://blog.csdn.net/sunny5211/article/details/7357893
这个不能算是全文搜索, 只是传统的全表搜索。如果使用mysql的全文检查,在200万数据集上,不可能用那么长的时间的。
使用mysql全文检索的方法如下:
1. 配置mysql参数ft_min_word_len=1
在数据表的文本字段中创建fulltext索引。
2.将原始文本进行分词(处理成按空格分隔的字符串),可使用一些开源的分词模块实现。 再导入到mysql数据表中
3. 使用mysq select * from tb1 where title match'词语' 进行检索。
来自:http://www.oschina.net/question/123890_133459
FileLocator Pro 是一款专业的文件搜索软件,它内置了多种灵活的搜索规则来快速定位文件,如逻辑判断、通配符、正则表达式、日期/属性等,内置脚本支持可以实现更复杂的搜索操作,搜索结果也可保存为 Text、CSV、XML/HTML 等格式存档。
在文件名搜索方面,已经有很多工具都做的很出色了,如 Everything、淘奇桌面、Quick Search 等,但文件名的信息毕竟有限,有时还是很需要全文搜索,直接搜索、定位文件中的内容,FileLocator 在全文搜索方面做的比较强大,主要的特色是无需建立索引即可快速全文搜索,支持 Office、PDF 等大部分文档格式和压缩格式。
FileLocator
通过安装 Microsoft Office 2010 Filter Pack 筛选器,FileLocator Pro 即能额外支持全文搜索 .docx、.docm、.pptx、.pptm、.xlsx、.xlsm、.xlsb、.zip、.one、.vdx、.vsd、.vss、.vst、.vdx、.vsx 和 .vtx 等格式。
使用说明:下载解压后直接运行 FileLocator.exe 即可,默认显示简体中文界面,2014/3/31 更新版本为 FileLocator Pro 7.2.2038,7.x 系列是一个大的版本升级,增加了很多功能特性,下载时注意区分32位和64位版;经 f1098 评测,FileLocator 应是目前最好的免索引全文搜索工具了。
Download:
http://download.mythicsoft.com/flp/2038/flp_in_2038.exe
要注册是吧?
http://nj.baidupcs.com/file/33c5203d0a3da541c4c2033cb557a74c?fid=2000151504-250528-1950099856&time=1402189660&sign=FDTAXER-DCb740ccc5511e5e8fedcff06b081203-RcXLTdfUI8biF6XC3RKN3hYY%2FJQ%3D&to=nb&fm=N,B,U,nc&newver=1&expires=1402190260&rt=sh&r=515307869&logid=3256158307&sh=1&vuk=1393076444&fn=FileLocatorPro%5B%E6%9C%80%E5%A5%BD%E7%9A%84%E5%85%8D%E7%B4%A2%E5%BC%95%E5%85%A8%E6%96%87%E6%90%9C%E7%B4%A2%E5%B7%A5%E5%85%B7%5D%20v6.5.1355%20%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E7%89%88%20TTRAR.Com.rar
在文件名搜索方面,已经有很多工具都做的很出色了,如 Everything、淘奇桌面、Quick Search 等,但文件名的信息毕竟有限,有时还是很需要全文搜索,直接搜索、定位文件中的内容,FileLocator 在全文搜索方面做的比较强大,主要的特色是无需建立索引即可快速全文搜索,支持 Office、PDF 等大部分文档格式和压缩格式。
FileLocator
通过安装 Microsoft Office 2010 Filter Pack 筛选器,FileLocator Pro 即能额外支持全文搜索 .docx、.docm、.pptx、.pptm、.xlsx、.xlsm、.xlsb、.zip、.one、.vdx、.vsd、.vss、.vst、.vdx、.vsx 和 .vtx 等格式。
使用说明:下载解压后直接运行 FileLocator.exe 即可,默认显示简体中文界面,2014/3/31 更新版本为 FileLocator Pro 7.2.2038,7.x 系列是一个大的版本升级,增加了很多功能特性,下载时注意区分32位和64位版;经 f1098 评测,FileLocator 应是目前最好的免索引全文搜索工具了。
Download:
http://download.mythicsoft.com/flp/2038/flp_in_2038.exe
要注册是吧?
http://nj.baidupcs.com/file/33c5203d0a3da541c4c2033cb557a74c?fid=2000151504-250528-1950099856&time=1402189660&sign=FDTAXER-DCb740ccc5511e5e8fedcff06b081203-RcXLTdfUI8biF6XC3RKN3hYY%2FJQ%3D&to=nb&fm=N,B,U,nc&newver=1&expires=1402190260&rt=sh&r=515307869&logid=3256158307&sh=1&vuk=1393076444&fn=FileLocatorPro%5B%E6%9C%80%E5%A5%BD%E7%9A%84%E5%85%8D%E7%B4%A2%E5%BC%95%E5%85%A8%E6%96%87%E6%90%9C%E7%B4%A2%E5%B7%A5%E5%85%B7%5D%20v6.5.1355%20%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E7%89%88%20TTRAR.Com.rar
背景:整个vps一般都要整个dns,像linux在/etc/resolve,会写上:search 202.106.0.20 nameserver 202.106.0.20。
[DNS设置]202.106.0.20是网通的DNS还是电信的DNS?
有人回答说是:网通。。。。
通过:ip.cn 查一下,如下:
查询的 IP:202.106.0.20 来自:北京市 联通
GeoIP: Beijing, China
China Unicom Beijing
202.106.0.20 vs 202.106.196.115
DNS测试:202.106.0.20 vs 202.106.196.115
By pengyao - Last updated: 星期三, 二月 3, 2010 - Save & Share - Leave a Comment
北京的用户一般会使用202.106.0.20及202.106.196.115两个公共DNS,那么哪个DNS更稳定一些哪?
直接上测试结果:
DNS IP 请求次数 成功次数 超时次数 成功比率(%)
202.106.0.20 166988 166627 361 99.784%
202.106.196.115 166988 166797 191 99.886%
从测试结果来看,使用202.106.196.115做为主DNS可能更好一些!
202.106.196.115
来自:https://blog.csdn.net/weixin_33810006/article/details/86369180
[DNS设置]202.106.0.20是网通的DNS还是电信的DNS?
有人回答说是:网通。。。。
通过:ip.cn 查一下,如下:
查询的 IP:202.106.0.20 来自:北京市 联通
GeoIP: Beijing, China
China Unicom Beijing
202.106.0.20 vs 202.106.196.115
DNS测试:202.106.0.20 vs 202.106.196.115
By pengyao - Last updated: 星期三, 二月 3, 2010 - Save & Share - Leave a Comment
北京的用户一般会使用202.106.0.20及202.106.196.115两个公共DNS,那么哪个DNS更稳定一些哪?
直接上测试结果:
DNS IP 请求次数 成功次数 超时次数 成功比率(%)
202.106.0.20 166988 166627 361 99.784%
202.106.196.115 166988 166797 191 99.886%
从测试结果来看,使用202.106.196.115做为主DNS可能更好一些!
202.106.196.115
来自:https://blog.csdn.net/weixin_33810006/article/details/86369180
背景:平时没有观注CPU温度,以前都上81度,报警了,今天给超小机箱里的笔记本硬盘给挪动了下让CPU的风能更多的从下面吹到盖板上的孔里吹出来,一看有66-76度之间,查了下好像是正常的。
一、感觉4核心的CPU温度还是下面这个值比较靠谱,特摘录如下:
CPU温度高低不只是跟风扇,机箱内温度和室温都有关。机箱内温度较室温高3-11度正常,过高则因为机箱散热不好。CPU温度较机箱温度应不高于19度,较室温高应在8-21度之间.
一般CPU工作可以在25-75度,闲时40--50度,
较忙时50--65度,全速工作时65--78度,过高会重新启动或死机,60度的温度就有些高,温度在50度以下比较合适。
(个人认为所谓全速:不知是不是CPU 100%的运行?要这样,我这电脑估计得上90度,平时就看个片,上个网,打个游戏也就耗费CPU 2%。)
来自:http://zhidao.baidu.com/link?url=hq144V_BDyEqoBBWIlJlV8OuzU-GnyiK2jXZha3uNGXlRR_fXN4NPXBDwngjKeTfV5de9sJXdkYF-YOQwqo-oa
中立、客观、实践:
http://www.chachaba.com/news/digi/tsj/20130219_112312.html
二、从BIOS里可以设置风扇的是PWM还是恒转速:
方法如下:启动电脑--进入bois(多数电脑开机后一直按Del键可以进bois,不行的可以参考你们主板参考书)---选择 power 菜单---pc health 里面即可查看当前处理器等硬件温度
来自:http://product.pconline.com.cn/itbk/diy/cpu/1305/3302995.html
三、笔记本多少正常:
笔记本显卡散热问题应该比笔记本CPU更严重,特别是中高端独立显卡,玩游戏时温度飙涨是难免的事,笔记本显卡的耐热温度是120度,警告温度是90度,通常认为到80度左右是正常的,满载应该在85度左右,如果再高就不太正常了,可能需要加强散热了,或清除灰尘。
来自:http://www.ludashi.com/html/20100610/731.html
二)Linux如何查看CPU温度:
CentOS系列:
1.yum install lm_sensors;
2.sensors-detect #注意:这些命令执行的过程中,需要你 YES/NO/SELECT,直接一路YES,就OK啦!
3.sensors
最后的信息大致如下:
#sensors
nct6776-isa-0a30
Adapter: ISA adapter
Vcore: +0.87 V (min = +0.00 V, max = +1.74 V)
in1: +1.50 V (min = +0.00 V, max = +0.00 V) ALARM
AVCC: +3.22 V (min = +2.98 V, max = +3.63 V)
+3.3V: +3.22 V (min = +2.98 V, max = +3.63 V)
in4: +1.09 V (min = +0.00 V, max = +0.00 V) ALARM
in5: +0.00 V (min = +0.00 V, max = +0.00 V)
in6: +0.62 V (min = +0.00 V, max = +0.00 V) ALARM
3VSB: +3.28 V (min = +2.98 V, max = +3.63 V)
Vbat: +2.96 V (min = +2.70 V, max = +3.63 V)
fan1: 0 RPM (min = 0 RPM)
fan2: 772 RPM (min = 0 RPM)
SYSTIN: +57.0°C (high = +0.0°C, hyst = +0.0°C) ALARM sensor = thermistor
CPUTIN: +123.5°C (high = +80.0°C, hyst = +75.0°C) ALARM sensor = CPU diode
AUXTIN: +38.5°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
PECI Agent 0: +44.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +105.0°C)
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
PCH_MCH_TEMP: +0.0°C
intrusion0: OK
intrusion1: OK
beep_enable: disabled
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +46.0°C (high = +85.0°C, crit = +105.0°C)
Core 0: +43.0°C (high = +85.0°C, crit = +105.0°C)
Core 1: +44.0°C (high = +85.0°C, crit = +105.0°C)
Core 2: +38.0°C (high = +85.0°C, crit = +105.0°C)
Core 3: +36.0°C (high = +85.0°C, crit = +105.0°C)
一、感觉4核心的CPU温度还是下面这个值比较靠谱,特摘录如下:
CPU温度高低不只是跟风扇,机箱内温度和室温都有关。机箱内温度较室温高3-11度正常,过高则因为机箱散热不好。CPU温度较机箱温度应不高于19度,较室温高应在8-21度之间.
一般CPU工作可以在25-75度,闲时40--50度,
较忙时50--65度,全速工作时65--78度,过高会重新启动或死机,60度的温度就有些高,温度在50度以下比较合适。
(个人认为所谓全速:不知是不是CPU 100%的运行?要这样,我这电脑估计得上90度,平时就看个片,上个网,打个游戏也就耗费CPU 2%。)
来自:http://zhidao.baidu.com/link?url=hq144V_BDyEqoBBWIlJlV8OuzU-GnyiK2jXZha3uNGXlRR_fXN4NPXBDwngjKeTfV5de9sJXdkYF-YOQwqo-oa
中立、客观、实践:
http://www.chachaba.com/news/digi/tsj/20130219_112312.html
二、从BIOS里可以设置风扇的是PWM还是恒转速:
方法如下:启动电脑--进入bois(多数电脑开机后一直按Del键可以进bois,不行的可以参考你们主板参考书)---选择 power 菜单---pc health 里面即可查看当前处理器等硬件温度
来自:http://product.pconline.com.cn/itbk/diy/cpu/1305/3302995.html
三、笔记本多少正常:
笔记本显卡散热问题应该比笔记本CPU更严重,特别是中高端独立显卡,玩游戏时温度飙涨是难免的事,笔记本显卡的耐热温度是120度,警告温度是90度,通常认为到80度左右是正常的,满载应该在85度左右,如果再高就不太正常了,可能需要加强散热了,或清除灰尘。
来自:http://www.ludashi.com/html/20100610/731.html
二)Linux如何查看CPU温度:
CentOS系列:
1.yum install lm_sensors;
2.sensors-detect #注意:这些命令执行的过程中,需要你 YES/NO/SELECT,直接一路YES,就OK啦!
3.sensors
最后的信息大致如下:
#sensors
nct6776-isa-0a30
Adapter: ISA adapter
Vcore: +0.87 V (min = +0.00 V, max = +1.74 V)
in1: +1.50 V (min = +0.00 V, max = +0.00 V) ALARM
AVCC: +3.22 V (min = +2.98 V, max = +3.63 V)
+3.3V: +3.22 V (min = +2.98 V, max = +3.63 V)
in4: +1.09 V (min = +0.00 V, max = +0.00 V) ALARM
in5: +0.00 V (min = +0.00 V, max = +0.00 V)
in6: +0.62 V (min = +0.00 V, max = +0.00 V) ALARM
3VSB: +3.28 V (min = +2.98 V, max = +3.63 V)
Vbat: +2.96 V (min = +2.70 V, max = +3.63 V)
fan1: 0 RPM (min = 0 RPM)
fan2: 772 RPM (min = 0 RPM)
SYSTIN: +57.0°C (high = +0.0°C, hyst = +0.0°C) ALARM sensor = thermistor
CPUTIN: +123.5°C (high = +80.0°C, hyst = +75.0°C) ALARM sensor = CPU diode
AUXTIN: +38.5°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor
PECI Agent 0: +44.0°C (high = +80.0°C, hyst = +75.0°C)
(crit = +105.0°C)
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
PCH_MCH_TEMP: +0.0°C
intrusion0: OK
intrusion1: OK
beep_enable: disabled
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +46.0°C (high = +85.0°C, crit = +105.0°C)
Core 0: +43.0°C (high = +85.0°C, crit = +105.0°C)
Core 1: +44.0°C (high = +85.0°C, crit = +105.0°C)
Core 2: +38.0°C (high = +85.0°C, crit = +105.0°C)
Core 3: +36.0°C (high = +85.0°C, crit = +105.0°C)
当一个不懂技术的人试图对软件开发时间进行评估时,有两个很基本的直观指标在辅助他们:以体积为指标的复杂度和以速度为指标的复杂度。但他们没有意识到,软件跟他们想象的不一样。软件本质上不是有形物质。没有体积和速度。它的极小的组成部分可能会时不时的在电脑屏幕上闪现。正因为如此,当面对开发一个web应用时(或任何类型的软件),我们的基本直观感觉失效了。
这第一点,速度,很显然根本不可能被外行人拿来对软件进行评估。于是很自然的,他们倾向于使用体积指标进行评估。要么是根据描述文档的页数,要么是根据软件的功能用例数或特征数。
有时候,这种评估手段确实有效!当面对一个静态网站,没有特别的设计要求,外行人很容易用这种方法估计出开发时间。但是,通常情况下,对于软件开发,体积并不能真实有效的反映复杂度。
不幸的是,对于软件的复杂度,唯一有效的推测方法是依据经验。而且还不是时时都好用。作为一个程序员,我知道,根据我之前开发过的相似的功能特征,我可以估计出现在的这些功能特征各自要多少开发时间。然后,我把总时间加起来,这就得到了完成整个项目需要的大致时间。然而,事实情况中,每个项目在开发过程中都遇到二、三个瓶颈。这些瓶颈会肆意的消耗程序员的大量时间,你在遇到它们之前根本不会有所预见。它们会拖住整个项目,致使工期延后数周甚至数月。
这些是没有经验的人在评估复杂度时不会理解的。他们不明白在其他事情上都很灵的方法,为什么放到软件开发上就不灵了。
QQ群里的结论是:
第一方:
威武 这话应该说给 那些 过分强调进度的领导听
第二方:
知道这些又能怎么样 是啊,领导还是每次都要评估时间,还是不停催
这第一点,速度,很显然根本不可能被外行人拿来对软件进行评估。于是很自然的,他们倾向于使用体积指标进行评估。要么是根据描述文档的页数,要么是根据软件的功能用例数或特征数。
有时候,这种评估手段确实有效!当面对一个静态网站,没有特别的设计要求,外行人很容易用这种方法估计出开发时间。但是,通常情况下,对于软件开发,体积并不能真实有效的反映复杂度。
不幸的是,对于软件的复杂度,唯一有效的推测方法是依据经验。而且还不是时时都好用。作为一个程序员,我知道,根据我之前开发过的相似的功能特征,我可以估计出现在的这些功能特征各自要多少开发时间。然后,我把总时间加起来,这就得到了完成整个项目需要的大致时间。然而,事实情况中,每个项目在开发过程中都遇到二、三个瓶颈。这些瓶颈会肆意的消耗程序员的大量时间,你在遇到它们之前根本不会有所预见。它们会拖住整个项目,致使工期延后数周甚至数月。
这些是没有经验的人在评估复杂度时不会理解的。他们不明白在其他事情上都很灵的方法,为什么放到软件开发上就不灵了。
QQ群里的结论是:
第一方:
威武 这话应该说给 那些 过分强调进度的领导听
第二方:
知道这些又能怎么样 是啊,领导还是每次都要评估时间,还是不停催
用PHP做一个在线文字转图片的网站,服务与微博,下面是代码。
Php/Js/Shell/Go jackx 2014-6-6 16:44
来自:http://wenwen.sogou.com/z/q309347664.htm
现在apc和ea都不行了,这个叫opcache的比较牛x。
Php/Js/Shell/Go jackx 2014-6-6 12:13
背景:装了个php,说是现在apc和ea都不行了,这个叫opcache的比较牛x,来处:http://www.laruence.com/2013/11/11/2928.html
一、不同,就是不一样:
不同于APC, O+除了是Opcodes Cache以外, 还做了很多的Opcodes优化, 这个PPT就是主要列举了一下主要的优化们.
也不同于eacc, O+做的优化更多一些.
这个特性, 就使得O+要比APC快不少, 从Benchmark来看(Zend/bench.php), O+能节省5%的CPU IR, 能快7%以上.
另外就是, 随着Opcache进入PHP源代码树, APC我们也就不在做更新了, 主要的精力都迁移到了O+的进一步开发上.
所以, 建议大家都切换O+吧(支持5.2 到最新的5.5). 基本上只需要改一个配置, 你就能得到性能提升, 何乐而不为呢? 是吧.
二、在哪儿才能下载得到呢?
http://pecl.php.net/package/ZendOpcache
三、一个Opcache的推荐配置:
[opcache]
zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/opcache.so
opcache.enable_cli=1
opcache.memory_consumption=128 ;共享内存大小, 这个根据你们的需求可调
opcache.interned_strings_buffer=8 ;interned string的内存大小, 也可调
opcache.max_accelerated_files=4000 ;最大缓存的文件数目
opcache.revalidate_freq=60 ;60s检查一次文件更新
opcache.fast_shutdown=1 ;打开快速关闭, 打开这个在PHP Request Shutdown的时候
// 会收内存的速度会提高
opcache.save_comments=0 ;不保存文件/函数的注释
[Zend Opcache]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
;opcache end
一、不同,就是不一样:
不同于APC, O+除了是Opcodes Cache以外, 还做了很多的Opcodes优化, 这个PPT就是主要列举了一下主要的优化们.
也不同于eacc, O+做的优化更多一些.
这个特性, 就使得O+要比APC快不少, 从Benchmark来看(Zend/bench.php), O+能节省5%的CPU IR, 能快7%以上.
另外就是, 随着Opcache进入PHP源代码树, APC我们也就不在做更新了, 主要的精力都迁移到了O+的进一步开发上.
所以, 建议大家都切换O+吧(支持5.2 到最新的5.5). 基本上只需要改一个配置, 你就能得到性能提升, 何乐而不为呢? 是吧.
二、在哪儿才能下载得到呢?
http://pecl.php.net/package/ZendOpcache
三、一个Opcache的推荐配置:
[opcache]
zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/opcache.so
opcache.enable_cli=1
opcache.memory_consumption=128 ;共享内存大小, 这个根据你们的需求可调
opcache.interned_strings_buffer=8 ;interned string的内存大小, 也可调
opcache.max_accelerated_files=4000 ;最大缓存的文件数目
opcache.revalidate_freq=60 ;60s检查一次文件更新
opcache.fast_shutdown=1 ;打开快速关闭, 打开这个在PHP Request Shutdown的时候
// 会收内存的速度会提高
opcache.save_comments=0 ;不保存文件/函数的注释
[Zend Opcache]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
;opcache end
[实践Ok]centos linux防火墙添加80端口iptables ,顺带把FTP的21端口也开了得了,Rtx服务器映射linux后服务端口打开。
Php/Js/Shell/Go jackx 2014-6-5 21:52
背景:买了个vps云主机,安了一个lnmp,发现nginx启动后,其没法访问,通过curl又能访问,但22端口又可以使用,原来是防火墙给挡住了,so,得让防火墙给打开这个80端口可以访问,方法如下。
阅读全文

[需要实践]使用PHP获取网卡实时流量带宽使用情况,shell脚本之获取网卡实时流量。
Php/Js/Shell/Go jackx 2014-6-5 11:18
Firefox的网站IP扩展:https://addons.mozilla.org/zh-CN/firefox/addon/server-ip/ 这个和chrome一样的功能。
零、最近发现一个Chrome在F12下的Http头header里有一个Remote Address:XX.XX.XX.XX的显示,开始以为是服务器的Nginx设置了的原来是Chrome自己显示出来的,然后就是这个值可以配置在Network项下的Url列表网络里,设置的URL地址,http://blog.csdn.net/btlas/article/details/52383166 ,在Network项下面的请求链接的表头上右键(也就是:Name Status Type Initiator Size...),在任何一列上右击,选择”Remote Address”,就能显示所有请求的IP地址 。
一、firefox 29 及后面的界面变化太大是一个问题,附加工具栏没了,尤其是forecastfox没办法调出。经过搜索,终于可以使用附加工具栏了。
搜索安装扩展The Addon Bar (restored) 即可
怎样调出来啊?一直喜欢firefox的附加工具栏。
二、以前firefox是自己有代理,好像在后面版本里有试图妥协用微软的代理的倾向(是不是开发人员经常出现开发时发现有缓存等系列问题?因其默认用系统的代理。),呵呵,我有时开fiddler2后,用IE、chrome进行开发调试,
后又想某时不想经过fiddler2,一是用附加工具栏里关掉,二是用firefox自己的代理即可。
可以在工具/附加组件里搜索并添加这个扩展:The Addon Bar (restored) 下载地址:
https://addons.mozilla.org/zh-CN/firefox/addon/the-addon-bar/?src=api
实践成功如下:
在firefox里顶部菜单中多一个:
查看:->工具栏->菜单栏 /书签工具栏/Web Developer Tools/The Addon Bar Ctrl+/。
出现:与Firefox55.03不兼容。 AddTime:2017-09-05 改用Chrome:而且装了这个插件后会在你的浏览页面的左下角显示服务器ip。
而且装了这个插件后会在你的浏览页面的左下角显示服务器ip:
按[ESC]切换展示和隐藏IP,双击复制IP, 双击[F4] 去项目主页:http://git.oschina.net/surprise/Chrome.Website.Ip#git-readme
插件会在左下角显示当前网站的IP和地区,显示网站IP扩展:
1. 显示 ip(切换修改host文件后,IP时要强制新Chrome浏览器,有时也不行,IP不会变,得参考:打开Chrome的开发者模式打开IP栏后(network栏目里的 disable cache打开),在chrome://net-internals/#sockets里只需要Sockets->Close idle sockets点后,再刷新其HostsIP就会变化 ,更多:https://jackxiang.com/post/10127/)
2. 显示地区,如中国-杭州@网站IP:
https://chrome.google.com/webstore/detail/%E6%98%BE%E7%A4%BA%E7%BD%91%E7%AB%99ip/eaghlkamibfjbicomdmbbohljdhicpgb?hl=zh-CN
3.更多显示ISP提供商@网站 IP 信息查询:https://chrome.google.com/webstore/detail/%E7%BD%91%E7%AB%99-ip-%E4%BF%A1%E6%81%AF%E6%9F%A5%E8%AF%A2/mifjlfhembandabikpiehhokhdepbdai?hl=zh-CN
勾选:The Addon Bar Ctrl+/ 就出来了以前的附加工具栏了,很简单,很实用。
我的附加工具栏里有Host Admin和DNS Flusher及Fiddler很是方便开发及切换Host:Not in Hosts DNS Flusher Fiddler:OFF(auto)
零、最近发现一个Chrome在F12下的Http头header里有一个Remote Address:XX.XX.XX.XX的显示,开始以为是服务器的Nginx设置了的原来是Chrome自己显示出来的,然后就是这个值可以配置在Network项下的Url列表网络里,设置的URL地址,http://blog.csdn.net/btlas/article/details/52383166 ,在Network项下面的请求链接的表头上右键(也就是:Name Status Type Initiator Size...),在任何一列上右击,选择”Remote Address”,就能显示所有请求的IP地址 。
一、firefox 29 及后面的界面变化太大是一个问题,附加工具栏没了,尤其是forecastfox没办法调出。经过搜索,终于可以使用附加工具栏了。
搜索安装扩展The Addon Bar (restored) 即可
怎样调出来啊?一直喜欢firefox的附加工具栏。
二、以前firefox是自己有代理,好像在后面版本里有试图妥协用微软的代理的倾向(是不是开发人员经常出现开发时发现有缓存等系列问题?因其默认用系统的代理。),呵呵,我有时开fiddler2后,用IE、chrome进行开发调试,
后又想某时不想经过fiddler2,一是用附加工具栏里关掉,二是用firefox自己的代理即可。
可以在工具/附加组件里搜索并添加这个扩展:The Addon Bar (restored) 下载地址:
https://addons.mozilla.org/zh-CN/firefox/addon/the-addon-bar/?src=api
实践成功如下:
在firefox里顶部菜单中多一个:
查看:->工具栏->菜单栏 /书签工具栏/Web Developer Tools/The Addon Bar Ctrl+/。
出现:与Firefox55.03不兼容。 AddTime:2017-09-05 改用Chrome:而且装了这个插件后会在你的浏览页面的左下角显示服务器ip。
而且装了这个插件后会在你的浏览页面的左下角显示服务器ip:
按[ESC]切换展示和隐藏IP,双击复制IP, 双击[F4] 去项目主页:http://git.oschina.net/surprise/Chrome.Website.Ip#git-readme
插件会在左下角显示当前网站的IP和地区,显示网站IP扩展:
1. 显示 ip(切换修改host文件后,IP时要强制新Chrome浏览器,有时也不行,IP不会变,得参考:打开Chrome的开发者模式打开IP栏后(network栏目里的 disable cache打开),在chrome://net-internals/#sockets里只需要Sockets->Close idle sockets点后,再刷新其HostsIP就会变化 ,更多:https://jackxiang.com/post/10127/)
2. 显示地区,如中国-杭州@网站IP:
https://chrome.google.com/webstore/detail/%E6%98%BE%E7%A4%BA%E7%BD%91%E7%AB%99ip/eaghlkamibfjbicomdmbbohljdhicpgb?hl=zh-CN
3.更多显示ISP提供商@网站 IP 信息查询:https://chrome.google.com/webstore/detail/%E7%BD%91%E7%AB%99-ip-%E4%BF%A1%E6%81%AF%E6%9F%A5%E8%AF%A2/mifjlfhembandabikpiehhokhdepbdai?hl=zh-CN
勾选:The Addon Bar Ctrl+/ 就出来了以前的附加工具栏了,很简单,很实用。
我的附加工具栏里有Host Admin和DNS Flusher及Fiddler很是方便开发及切换Host:Not in Hosts DNS Flusher Fiddler:OFF(auto)
安装php的php-protobu扩展及使用
Php/Js/Shell/Go jackx 2014-5-29 09:39
背景:群里讨论的,我也没用过,一搜索以前我也贴过类似的:http://jackxiang.com/post/7226/ ,先记下吧。
http://XX.XX.com/group/456/articles/show/134097 (应该是来自某大公司内网做了改造。)
这是我们之前对pb4php做的改造
1.补充了sint32、sint64和fixed32等常用数据类型的支持
2.增加了DebugString调试函数支持。
阅读全文
http://XX.XX.com/group/456/articles/show/134097 (应该是来自某大公司内网做了改造。)
这是我们之前对pb4php做的改造
1.补充了sint32、sint64和fixed32等常用数据类型的支持
2.增加了DebugString调试函数支持。

使window.open() 全兼容IE, Firefox, Chrome的最新写法
Php/Js/Shell/Go jackx 2014-5-28 16:45
背景:新窗口打开下载页时出现Firefox第一次会提示拦截。
window.open() 可谓是 弹窗广告的利器, 不过因为浏览器的拦截机制越来越完善, 打开几率也越来越低了.
之前在百度上看到很多种写法,如:
通过 js 去触发某按钮的click事件
通过 js 去触发某form的submit事件,并且form的target 设置为_blank
不过经过我的测试,发现都已经不再兼容了于是想到了下面这个办法:
加入关闭功能:
其中用到的原理就是
通过用户真实的点击 触发window.open() 打开一个新窗口(因为是真实的用户行为,浏览器会认为是用户意愿,不会进行拦截)
然后再通过js去更改新窗口的 location
来自:http://www.phplover.cn/post/480.html
原理:
window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,不过一般用来的是打开新窗口,因为修改原来的网页地址,可以有另一个函数,那就是window.location,他可以重定向网页地址,使网页跳转到另一个页面。
我现在要说的是window.open函数的几个使用策略,一般情况下,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,认为你将弹出广告等用户不想得到的窗体,所以如果不想让浏览器拦截你,你可以将这个函数改为用户点击时触发,这样浏览器就认为是用户想访问这个页面,而不是你直接弹出给用户。
所以常用的方法就是在超链接里加入onclick事件,如<a href="javascript:void(0)" onclick="window.open()"></a>这样用户点击这个超链接,浏览器会认为它是打开一个新的链接,所以就不会拦截。
可是有时候我们会遇到想要弹出一个窗口,可是却是在onckick事件执行后,才去弹出来的,这时就会被浏览器拦截,我们可以通过下面的方法来避免,就是先用window.open打开一个窗口,然后修改地址。如var tempwindow=window.open('_blank');打开一个窗口,然后用tempwindow.location='http://www.baidu.com';使这个窗口跳转到百度,这样就会呈现弹出百度窗口的效果了。
方法二:
由于在使用window.open时,在很多情况下,弹出的窗口会被浏览器阻止,但若是使用a链接target='_blank',则不会,基于这一特点,自己封装了一个open方法:
实践OK代码如下所示:
调用方式如下:
<input type="button" id="btn" value="向东博客" onclick="openwin('http://jackxiang.com');" />
window.open() 可谓是 弹窗广告的利器, 不过因为浏览器的拦截机制越来越完善, 打开几率也越来越低了.
之前在百度上看到很多种写法,如:
通过 js 去触发某按钮的click事件
通过 js 去触发某form的submit事件,并且form的target 设置为_blank
不过经过我的测试,发现都已经不再兼容了于是想到了下面这个办法:
加入关闭功能:
其中用到的原理就是
通过用户真实的点击 触发window.open() 打开一个新窗口(因为是真实的用户行为,浏览器会认为是用户意愿,不会进行拦截)
然后再通过js去更改新窗口的 location
来自:http://www.phplover.cn/post/480.html
原理:
window.open是javascript函数,该函数的作用是打开一个新窗口或这改变原来的窗口,不过一般用来的是打开新窗口,因为修改原来的网页地址,可以有另一个函数,那就是window.location,他可以重定向网页地址,使网页跳转到另一个页面。
我现在要说的是window.open函数的几个使用策略,一般情况下,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,认为你将弹出广告等用户不想得到的窗体,所以如果不想让浏览器拦截你,你可以将这个函数改为用户点击时触发,这样浏览器就认为是用户想访问这个页面,而不是你直接弹出给用户。
所以常用的方法就是在超链接里加入onclick事件,如<a href="javascript:void(0)" onclick="window.open()"></a>这样用户点击这个超链接,浏览器会认为它是打开一个新的链接,所以就不会拦截。
可是有时候我们会遇到想要弹出一个窗口,可是却是在onckick事件执行后,才去弹出来的,这时就会被浏览器拦截,我们可以通过下面的方法来避免,就是先用window.open打开一个窗口,然后修改地址。如var tempwindow=window.open('_blank');打开一个窗口,然后用tempwindow.location='http://www.baidu.com';使这个窗口跳转到百度,这样就会呈现弹出百度窗口的效果了。
方法二:
由于在使用window.open时,在很多情况下,弹出的窗口会被浏览器阻止,但若是使用a链接target='_blank',则不会,基于这一特点,自己封装了一个open方法:
实践OK代码如下所示:
调用方式如下:
<input type="button" id="btn" value="向东博客" onclick="openwin('http://jackxiang.com');" />
如何让c编译器是c99标准: gcc mallocPointerTest.c --std=c99,错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现,???"在 C99 模式之外使用 ‘for’ 循环初始化声明"。
Unix/LinuxC技术 jackx 2014-5-26 21:02
如何让c编译器是c99标准: gcc mallocPointerTest.c --std=c99
错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现,???
mallocPointerTest.c:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
mallocPointerTest.c:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
__________________________________________________________
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
追问
所有你应该这样改
int i;
for(i=0;;);
为什么,
如何让c编译器是c99标准:
gcc mallocPointerTest.c --std=c99
来自:http://bbs.chinaunix.net/thread-803643-1-1.html
http://blog.163.com/zhaoxiaosen_2008@126/blog/static/105797239201344517767/
错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现,???
mallocPointerTest.c:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
mallocPointerTest.c:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
__________________________________________________________
c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式
而c99的模式允许了
你的c编译器不是c99标准
for(int i=0;;)
所有你应该这样改
int i;
for(i=0;;);
追问
所有你应该这样改
int i;
for(i=0;;);
为什么,
如何让c编译器是c99标准:
gcc mallocPointerTest.c --std=c99
来自:http://bbs.chinaunix.net/thread-803643-1-1.html
http://blog.163.com/zhaoxiaosen_2008@126/blog/static/105797239201344517767/