php
Ubuntu下安装php-redis扩展
$ sudo apt-get install php5-dev $ wget --no-check-certificate http://github.com/nicolasff/phpredis/tarball/master -O phpredis.tar.gz $ tar -xzvf phpredis.tar.gz $ cd nicolasff-phpredis-94e0649 $ phpize $ ./configure $ make $ sudo make install
增加php.ini配置
extension=redis.so
在PHP中使用memcached
由于网站流量逐渐增大,而且有个新需求是需要实时更新文章的点击和回复。所以准备上memcached来做一个解决的办法。
在php中使用memcached
1 安装memcached
直接
njava:~ njava$ sudo apt-get install memcached
本地开发使用的是刚升级了的mac10.6.4,使用port安装
njava-MacPro:~ njava$ sudo port install memcached
当然也可以自己编译代码了,为了省事就这样用了
› Continue reading
隐藏php版本号
很不爽http头部信息给别人看njava的Php版本信息,修改对应的php.ini属性expose_php
bear@njava:~/nginx-0.8.34# sudo vi /etc/php5/cgi/php.i #expose_php = On expose_php = Off
nginx链接php的一种方法,unix domain socket
1 建立sock文件/tmp/php-cgi.njava.sock
bear@njava:/tmp$sudo chown www-data /tmp/php-cgi.njava.sock
2 修改站点配置/etc/nginx/site-available
# fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/tmp/php-cgi.njava.sock;
3 修改php-cgi启动方式
#DAEMON_OPTS=”-a 127.0.0.1 -p 9000 -C 1 -u www-data -f /usr/bin/php-cgi” DAEMON_OPTS=”-a 127.0.0.1 -s /tmp/php-cgi.njava.sock -C 1 -u www-data -f /usr/bin/php-cgi
nginx 0.8.34以fastcgi方式运行php
1 安装spawn-fcgi
bear@bear-laptop:~$sudo apt-get install php5-cli php5-cgi php5-xcache build-essential bear@bear-laptop:~$ sudo apt-get install spawn-fcgi
很多地方都说要先安装lighttpd,不用这样,可以直接安装 spawn-fcgi
2 增加fastcgi控制脚本
bear@bear-laptop:/usr/bin$ sudo vi /etc/init.d/php-fastcgi #!/bin/bash SCRIPT=/usr/bin/spawn-fcgi NAME=php-fastcgi DESC=Spawn-fcgi case "$1" in start) echo -n "Starting $DESC: " $SCRIPT -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/$NAME.pid|| true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " killall -9 php5-cgi echo "$NAME." ;; restart) echo -n "Stopping $DESC: " killall -9 php5-cgi sleep 1 echo "Starting $DESC: " $SCRIPT -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/$NAME.pid|| true echo "$DESC." ;; *) echo "Usage: $NAME {start|stop|restart}" exit 1 ;; esac exit 0
3 开机启动
bear@bear-laptop:/usr/bin$ sudo gedit /etc/rc.local /etc/init.d/php-fastcgi start
给ubuntu9.10的fastcgi方式的php增加eaccelerator0.9.6加速
1 安装编译环境
root@njava:~# sudo apt-get install build-essential php5-dev
2 安装eaccelerator
root@njava:~# axel http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2 root@njava:~# tar -xjvf eaccelerator-0.9.6.tar.bz2 root@njava:~#cd eaccelerator-0.9.6.tar.bz2 root@njava:~#sudo /usr/bin/phpize root@njava:~/eaccelerator-0.9.6# ./configure -enable-eaccelerator=shared -with-php-config=/usr/bin/php-config root@njava:~/eaccelerator-0.9.6# make root@njava:~/eaccelerator-0.9.6# make install Installing shared extensions: /usr/lib/php5/20060613+lfs/ root@njava:~/eaccelerator-0.9.6# mkdir /tmp/eaccelerator root@njava:~/eaccelerator-0.9.6# chmod 777 /tmp/eaccelerator/ root@njava:~/eaccelerator-0.9.6# vi /etc/php5/conf.d/eaccelerator [eaccelerator] zend_extension="/usr/lib/php5/20060613+lfs/eaccelerator.so" #extension="eaccelerator.so" eaccelerator.shm_size="128" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="300" eaccelerator.shm_prune_period="120" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9"
discuz论坛禁止无效页面的收录
discuz会产生哪些无效的页面,有什么问题
1.删除了的帖子、版块,当访问时返回帖子不存在的提示信息页。
2.设置了一定权限才能浏览的帖子、版块,很多情况会泄露链接,得到没权限的提示
3.其它各种情况下的提示信息页面。这些都是给用户看的,没有实质内容,都禁止收录。
其实最大的问题还是副本内容的问题,因这些不同的URL,返回的却是相同的内容。对SE不友好。其实对于删除了内容,应该返回404,但为了简单,都使用加meta robots标签,禁止ES收录的方法来解决。
修改提示信息页面,解决重复内容问题
方法一
1.建立/templates/defualt/header_norobot.htm文件
完全拷贝header.htm的内容,在<title>下再加一行:
<meta name=”robots” content=”noindex,nofollow” />
2.修改/templates/default/showmessage.htm文件
将{subtemplate header}替换为{subtemplate header_norobot}
3.修改/templates/default/nopermission.htm文件
将{subtemplate header}替换为{subtemplate header_norobot}
如此修改之后,SE就不会收录无权访问的URL,对于已删除的帖子,因为禁止收录了,过一段时间也会从索引中删除。这样,给SE的都是一些有内容的网页,对于提高权重会有好处。
方法二
修改global.func.php文件中的showmessage函数。
function showmessage($message, $url_forward = '', $extra = '', $forwardtype = 0) { extract($GLOBALS, EXTR_SKIP); global $hookscriptmessage, $extrahead, $discuz_uid, $discuz_action, $debuginfo, $seccode, $seccodestatus, $fid, $tid, $charset, $show_message, $inajax, $_DCACHE, $advlist; define('CACHE_FORBIDDEN', TRUE); $hookscriptmessage = $show_message = $message;$messagehandle = 0;
在第四行 define(‘CACHE_FORBIDDEN’, TRUE); 后面加上:
$extrahead .='';
即是
function showmessage($message, $url_forward = '', $extra = '', $forwardtype = 0) { extract($GLOBALS, EXTR_SKIP); global $hookscriptmessage, $extrahead, $discuz_uid, $discuz_action, $debuginfo, $seccode, $seccodestatus, $fid, $tid, $charset, $show_message, $inajax, $_DCACHE, $advlist; define('CACHE_FORBIDDEN', TRUE); $extrahead .='<meta name="robots" content="noindex,nofollow" />'; $hookscriptmessage = $show_message = $message;$messagehandle = 0;
标签云
.htaccess 301 2010 Android apache cache cacti CSS date ddos discuz django fastcgi freebsd git google http iftop linux macos mysql nginx njava php pr python sed seo snmp ssh ubuntu ubuntu10.04 wordpress xdebug 优化 密码 文件 时区 用户 登录 监控 缓存 网站 脚本 颜色
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
近期文章
近期评论
文章归档
链接表
QR Code
