技术整理

我遇到的奇怪的HTTP500及解决

刚为公司成功部署了18返利网,可是今天为在测试服务再次部署时,却总不能成功,检查各种环境,折腾了半天就是找不到原因,甚至网站后台都能够进去,就是首页报出HTTP500错误。

实在想不出会是什么原因了,无奈之下,把整个文件夹的权限设置为777

chmod -R 777 18fanli.com

结果就好了,这下算是明白原因了,可能程序第一次运行时,一定要向某个目录写入缓存文件,结果权限不够,写不成功,所以网站访问不了,这应该算程序上的一个BUG.

由此我想到,这程序如果在linux下安装同样会遇到安装不成功的可能,测试一下,果真如此。

以后遇到安装不成功,或者第一次访问不了,出现HTTP500时,别忘记很有可能是某个目录没有权限导致的。

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: 我遇到的奇怪的HTTP500及解决

By LEO on 2010年06月23日 | 系统管理 | A comment?

discuz! x1 在nginx服务器上的地址静态化rewrite规则

今天在升级比较购物社区为discuz x1版本,升级倒是很顺利,可是URL静态化上出了点问题,官方默认是支持apache的,而我们的web 服务器是nginx,到网上找了半天并整理如下:

location / {
            root   /data0/htdocs/www/3shopcitybbs;
            index  index.php index.html index.htm;
rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/article-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3 last;
if (!-e $request_filename) {
        return 404;
}
        }

注意一定要在后台先开启静态化选项,另外各个栏目地址以上代码并没有处理

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: discuz! x1 在nginx服务器上的地址静态化rewrite规则

By LEO on 2010年06月6日 | 系统管理 | A comment?

ucenter未通知的错误导购通信失败原因

这几天与开发人员一直在处理比较购物搜索网 用户中心,总是会碰到通信失败的情况…一直很晕

开始我们升级了论坛到X1,以及升级了ucenter到1.5.1等各种操作

再加上,我们还要增加一个第三方应用,也作了一些操作

经过几次折腾,终于把问题解决,同时对ucenter有了更多了解

应用与ucenter不能同步注册、登录、退出,首先要检查是否通信成功

如果通信不成功,那么问题就出在部署上,与开发暂时无关…

那么哪些原因导致通信不成功呢

1、uckey

2、appid

3、域名解析,或者指定IP

4、应用缓存目录是否可写 uc_client/data/cache

5、ucenter数据目录是否可以 data

第5点很关键,我们问题就出在这里,不知为什么这个目录,我们没有写的权限,因为在安装时没有写的权限,是安装不了的。

哎总算把问题解决了,希望给大家有所帮助

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: ucenter未通知的错误导购通信失败原因

By LEO on 2010年05月26日 | 系统管理 | A comment?

配置邮件营销大师的邮件帐户

公司决定要进行许可式邮件营销,为此我专门配置了一台服务器,这台服务器刚好与我们的邮件服务器是在一个局域网里。可能是由于防火墙设置的原因,在局域网网里用邮件服务器发送邮件是不能成功的。这样也导致配置邮件营销大师的发送邮件帐户时,总是验证通不过…

当时以为是邮件服务器设置的问题,如:是不是信任主机没有设置,或者是否限制了外域直送等…

一直都不能解决问题,后面才想到是路由器的原因,可是我这个新路由器也不熟悉,不敢轻举妄动。左思右想,想出来一个临时解决办法,就是在邮件营销的服务器里,配置hosts文件,把smtp服务器指向内网IP,参考如下:

mail.yicike.com 192.168.40.67

验证通过了。

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: 配置邮件营销大师的邮件帐户

By LEO on 2010年05月25日 | 系统管理 | A comment?

DISCUZ公司的ucenter管理员密码恢复办法

1、在UCenter/data/下找到config.inc.php,打开找到下面2行代码:

define(‘UC_FOUNDERPW’, ‘3858cdf66b0794bfd435af8c0c3e8712′);
define(‘UC_FOUNDERSALT’, ‘939786′);

2、创建新的ucpass.php文件 把下面的代码COPY进去 保存

<?php
$ucfounderpw = ‘你要设置的密码’;
$ucsalt = rand(100000,999999);
$ucfounderpw = md5(md5($ucfounderpw).$ucsalt);
echo $ucfounderpw.’<br />’.$ucsalt;
?>

3、将该PHP文件放到UCenter根目录下
4、在浏览器里打开ucpass这个文件 会看到2行数字 分别替换第1步里的2行数字
5、保存 覆盖原来的 搞定!

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: DISCUZ公司的ucenter管理员密码恢复办法

By LEO on 2010年05月18日 | 系统管理 | A comment?

linux上解压RAR文件的工具使用

下面以安装cyask程序为例

cd /data0/software

wget http://cyaskuc.googlecode.com/files/cyask3uc.build0524.rar

wget http://www.rarsoft.com/rar/rarlinux-x64-3.9.3.tar.gz

tar zxvf rarlinux-x64-3.9.3.tar.gz

cd rar

make

还要执行以下这条,再执行命令rar,

cp rar_static /usr/local/bin/rar

不然会报出这样的错误

rar: /lib/tls/libc.so.6: version `GLIBC_2.4′ not found (required by rar)

解压

rar x -r ../cyask3uc.build0524.rar /data0/htdocs/yicike/zd

(对应的压缩命令为 rar a ../cyask3uc.build0524.rar ../cyask3uc )

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: linux上解压RAR文件的工具使用

By LEO on 2010年05月1日 | 软件推荐 | A comment?

nginx的几个重要配置

有几个配置,非常有用,也容易忘记,所以记下来

1、同一台机器,做反向代理,又做WEB,并且都占用80端口。

最好的办法就是一个网卡绑定两个IP

2、nginx做反向代理进行负载均衡时,后面的多台web的,对前台的session的处理.

ip_hash,nginx中的ip_hash技术能够将某个ip的请求定向到同一台后端,这样一来这个ip下的某个客户端和某个后端就能建立起稳固的session,ip_hash是在upstream配置中定义的:

upstream backend {
server 127.0.0.1:8001;
server 127.0.0.1:8002;
ip_hash;
}

3、经常会遇到不允许用户访问某个目录,或者需要有密码访问

比如要对 网站目录下的 www 文件夹 进行加密认证

那么 在 nginx.conf 文件中对应的 server 段中 添加引用:
location ^~ /www/ {
auth_basic “TEST-Login”;
auth_basic_user_file /root/htpasswd;
}再在 root 的主目录中 /root/ 创建一个新文件 htpasswd
此文件的书写格式是
用户名:密码
每行一个账户
并且 密码必须使用函数 crypt(3) 加密

4、提高反向代理的性能,web缓存功能决不能不用

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: nginx的几个重要配置

By LEO on 2010年04月30日 | 系统管理 | A comment?

centos5.3 64位 shpinx_coreseek_csft 全文搜索3.2安装部署

依赖环境安装:
Debina等使用deb系统:
aptitude -y install yum glibc-common build-essential libtool autoconf automake mysql-client libexpat-dev
Centos等使用yum系统:
yum -y install glibc-common libtool autoconf automake mysql-devel expat-devel
BSD系统:
pkg_add -r libtool autoconf automake mysql5-client iconv

mmseg安装:
wget -d http://www.coreseek.cn/uploads/csft/3.2/mmseg-3.2.12.tar.gz
tar xzvf mmseg-3.2.12.tar.gz
cd mmseg-3.2.12
aclocal
libtoolize --force
automake --add-missing
autoconf
autoheader
make clean
./configure --prefix=/usr/local/mmseg3
make
make install
/bin/cp -f src/*/*.h /usr/local/mmseg3/include/mmseg/

cd ..

coreseek安装:
wget -d http://www.coreseek.cn/uploads/csft/3.2/csft-3.2.12.tar.gz
tar xzvf csft-3.2.12.tar.gz
cd csft-3.2.12
aclocal
libtoolize --force
automake --add-missing
autoconf
autoheader

make clean
./configure --prefix=/usr/local/coreseek --enable-id64 --without-python --with-mysql --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/
perl -pi -e 's/lpthread/lpthread -liconv/g' src/Makefile
make
make install

附加:
如需启用python支持,请安装或者升级至python2.6,configure之中,去掉--without-python,加上--with-python,然后重新编译安装

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: centos5.3 64位 shpinx_coreseek_csft 全文搜索3.2安装部署

By LEO on 2010年04月29日 | 系统管理 | A comment?

Linux 无法开机 显示 an error occurred during the file system check

昨天晚上,发现某台机器出现不能创建目录,报出只能只读错误

今天,去机房一看发现如下错误

Linux 启动发生磁盘错误, 磁盘扫描进度完成后光标停留在

***An error occured during the filesystem check
***Dropping you to a shell; the system will reboot
***when you leave the shell.

Give root password for maintainence
(or type Controll-D to continue)

提示输入 root 密码

从网上找到解决方案,都是 输入 fsck 进行修复

但是,我试了,很慢…

所以,还是重新更换硬盘,来得放心

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: Linux 无法开机 显示 an error occurred during the file system check

centos linux 增加硬盘步骤

先将硬盘挂上,然后进入centos,执行如下步骤

第一步:查出新加设备
[root@YckTestSvr ~]# fdisk -l
Disk /dev/sda: 268.4 GB, 268435456000 bytes
255 heads, 63 sectors/track, 32635 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14       32635   262036215   8e  Linux LVM
Disk /dev/sdb: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

[root@YckTestSvr ~]# fdisk -l
Disk /dev/sda: 268.4 GB, 268435456000 bytes255 heads, 63 sectors/track, 32635 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          13      104391   83  Linux/dev/sda2              14       32635   262036215   8e  Linux LVM
Disk /dev/sdb: 128.8 GB, 128849018880 bytes255 heads, 63 sectors/track, 15665 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn’t contain a valid partition table

这里查出新增/dev/sdb

第二步 分区

输入 fdisk /dev/sdb

显示 Command (m for help):

输入 n

显示 Command action

e   extended
p   primary partition (1-4)
输入 p
显示Partition number (1-4):
输入 1
显示First cylinder (1-15665, default 1):
默认回车
显示 Last cylinder or +size or +sizeM or +sizeK (1-15665, default 15665):
默认回车,表示将整个盘分为一个区
显示Command (m for help):
输入w 保持退出

第三步 格式化

mkfs -t ext3 /dev/sdb1

第四步 挂载硬盘到某个目录下

mkdir /sedisk

mount /dev/sdb1 /sedisk/

第五步,将挂载硬盘设置系统启动自动挂载

vi /etc/fstab

在文件的末尾填加如下内容:

vi /etc/fstab

在文件的末尾填加如下内容:

/dev/sdb1               /sedisk                    ext3    defaults        1 2

如有多个分区可修改sdb1和/sedisk,修改完后保存,重起服务器。

原创文章,转载请注明: 转载自亿赐客比较购物搜索网

本文链接地址: centos linux 增加硬盘步骤

By LEO on 2010年04月28日 | 技术整理 | A comment?