轻量级MQ替代品—msg_get_queue函数

作者:linux120 发布时间:December 20, 2012 分类:服务器配置

PHP异步消息通讯,编译PHP时加上–enable-sysvmsg,否则无法支持msg_get_queue函数,轻量级MQ替代品.

send.php
//创建获取消息队列
$ip = msg_get_queue(12340);
//将消息写入队列
msg_send($ip,2,”Test Message”,false,false,$err);

receive.php
$ip = msg_get_queue(12340);
//接收并处理消息队列
while(msg_receive($ip,0,$msgtype,4000,$data,false,null,$err))
echo “msgtype {$msgtype} data {$data}:{$err}n”;

对于轻量级的MQ应用来说,PHP自带的msg_get_queue函数足够了,缺点的是只能在Linux/Unix下使用。

PHP安全模式下dedecms安装的解决方案

作者:linux120 发布时间:December 18, 2012 分类:服务器配置

个别客户因地域特殊以及管理上的问题,香港Linux服务器的安全模式是打开的,fsockopen函数是关闭的,导致安装dedecms时候无法正常安装或使用,如下为解决方案:

1、打开include/common.inc.php进行编辑:$isSafeMode = @ini_get("safe_mode");改为$isSafeMode = false;报错再安装即可。
2、安全模式下,若要创建栏目新建目录等需要在dedecms系统设置里面设置好ftp账号,强制使用ftp创建目录.

cpanel禁止客户自定义php.ini

作者:linux120 发布时间:December 16, 2012 分类:服务器配置

管理过cpanel的童鞋一般都在/usr/local/lib/php.ini文件中对php环境做了配置和限制,比如disable functions,当然你肯定不希望客户在public_html目录上传自己的php.ini,导致我们对环境的限制失效吧,一个简单的方法在 /usr/local/apache/conf/includes/pre_main_global.conf 中添加如下代码:

suPHP_ConfigPath /usr/local/lib/php.ini

然后使用 /scripts/restartsrv_httpd 命令重启apache后就可以了。

使用Nginx反向代理部署Node.js应用

作者:linux120 发布时间:December 14, 2012 分类:服务器配置

默认使用Node.js开发的站点都是在3000端口下运行的,也就是说用户必须在网址中加入:3000才能访问站点,默认HTTP端口是80,因此必须监听80端口才会让网址看起来更简洁。当然,如果整个服务器只有node.js开发的一个站点,那么只需要让app.js监听80即可,但很多时候服务器上会有其他的web应用,比如php,python,ruby等,这时候就需要nginx反向代理node.js了。
配置nginx反向代理node.js只需要在配置文件中添加如下代码:

server{
listen 80;
server_name your_node_js_site.com;

location / {
proxy_pass http://localhost:3000;
}
}

重启nginx后即生效,使用nginx反向代理node.js还可以在nginx配置添加静态文件规则,同时删除node.js中app.js的app.user(express.static(__dirname+'/public'))以减少反向代理以及node.js的开销!

关闭Apache文件列表功能

作者:linux120 发布时间:December 7, 2012 分类:服务器配置

1、打开Apache配置文件
vi /etc/httpd/conf/httpd.conf 或 vi /usr/local/apache/conf/httpd.conf

2、设置关闭目录列表功能

去除Indexes 或是前面加上"-"号,如果要开启就写+Indexes
Options -Indexes