按月存档: 2012/03

http重定向到https

分类:网站技术日期:2012-03-09 - 22:15:20评论:12条作者:老谢

老谢目前做了一个新站,全站采用https协议访问,所以需要http重定向到https,只需要在.htaccess加入下面规则既可:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

代码来自:301 redirect from http to https (6 posts)

Tags: , , ,

PT是什么?怎么挂PT?

分类:乱七八糟日期:2012-03-07 - 16:41:39评论:31条作者:老谢

PT是什么?怎么挂PT?

经常有人说挂pt挂pt,可是好多人并不知道pt是什么,老谢在此之前也对PT一无所知,老谢在朋友的邀请下,有幸进入HDChina这个PT论坛,于是乎老谢开始了挂PT之旅!

首先需要说明,玩PT需要投入比较大的精力以及遵守比较严格的规定,如果没有足够的兴趣,则没有必要接着看下去了,玩pt要做好受虐的准备。

一、什么是PT?

大家肯定都用种子下载过BT,BT下载的Tracker则是公开的,大家拿到种子都可以下载,而PT(Private Tracker)则是私有的,PT其实也是BT的一种,最大的区别即PT为私密的小范围下载和进行流量统计,下面为网络上的一段解释:

BT下载时,BT客户端首先解析.torrent种子文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别向对方告知自己已经有的块(数据),然后交换对方没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。Tracker是BT下载的一个重要组成部分,用于记录上下载用户的互连信息。而PT下载和BT下载的区别是PT下载的Tracker是私有的,BT下载的Tracker则是公开的。

PT下载的实现方法

有些人会说,PT既然是小范围内的活动,如何做到的呢?首先,划分范围最好的方式就是论坛。新会员必须通过前期的会员邀请才可以加入,邀请注册机制有效地控制了下载人数。

其次是通过passkey,登陆论坛后,系统会给该账号用户分配一个固定的passkey,用户下载的种子中,会包含passkey的信息。若没有passkey的认证通过,即便其他用户得到了种子,也不能进行下载。

PT的流量统计:

PT是什么?怎么挂PT?

二、怎么挂PT?

挂PT通过PT的客户端软件下载种子就可以了,客户端的软件推荐如下:

Windows 用户使用 uTorrent 或者 Azureus
Linux 用户使用 rTorrent , kTorrent 或者 libTorrent 等
MacOSX 用户使用 Transmission, Azureus

老谢使用的客户端是Transmission,安装在美国的一台vps上,我在我的pc上安装了Transmission Remote GUI进行管理。

一般PT论坛都有新手任务机制,就拿老谢加入的HDChina论坛来说,新手的考核任务如下:

请注意您的考核状态,请在30天内完成考核内容!到期未完成将会导致帐号被禁用!查看详情
当前:上传量=25.52 GB,还差4.48 GB;下载量=30.58 GB,已经完成;做种积分=124 ,还差3876

网上找了几点玩PT的建议,大家可以参考:

  • 如果自己带宽够大,尽量下载新的资源,然后自己做种,这样获取上行流量
  • 下载蓝种(free),不计下载只记上传,尽可能的可以平衡自己的分享率
  • 有的时候如果你已经在别处下到了某个资源,突然发现在PT站也有人发了同样的资源。那么你就可以下载该PT种子,然后利用BT客户端下载到同一个目录底下,BT客户端会自动探测到已有的文件,通过校验该目录之后即可直接上传做种了。
Tags: ,

Nginx反代后WordPress无法记录真实ip

分类:折腾日期:2012-03-05 - 14:23:38评论:14条作者:老谢

今天老谢查看评论页面,发现评论者的ip全都是nginx反代服务器的ip地址,真实的ip地址全看不到,这个问题不大不小,老谢是个完美主义者,不解决这个问题挺别扭的,于是乎谷歌之,找到了可行的方法,下面与大家分享:

这个方法需要Nginx的HttpRealIpModule模块,如果您按照CentOS编译安装Nginx(附:管理脚本)进行编译的Nginx则不需要再次编译,因为这个安装教程里面已经编译了这个模块,如果没有编译这个模块,需要重新编译这个模块后才可以用。

在Nginx前端添加下面语句:

proxy_set_header X-Real-IP $remote_addr;

PS:如果您之前配置过nginx前端反代,后端apache记录正确访问者ip,这里也不需要进行再次添加了。

这时候,客户真实IP会保存在$_SERVER[‘HTTP_X_REAL_IP’]变量中,如果使用php程序,输出:echo $_SERVER[‘HTTP_X_REAL_IP’];

修改WordPress根目录下的wp-config.php:,在第二行添加:

if (isset($_SERVER['HTTP_X_REAL_IP'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];
}

评论测试:

Nginx反代后WordPress无法记录真实ip

本文参考自:WordPress+Nginx+proxy取得真实IP

IE下图片链接有边框的解决办法

分类:网站技术日期:2012-03-04 - 18:28:42评论:20条作者:老谢

今天在修改一个页面,发现ie下显示图片链接有边框,如图所示:

IE下图片链接有边框的解决办法

解决办法如下:

img{ border:none;}

感谢独角鲸

Tags: ,

Nginx提示host not found in upstream

分类:运维技术日期:2012-03-04 - 0:00:36评论:2条作者:老谢

今天对nginx.conf进行修改,保存后进行语法检查,配置应该没问题,但是提示下面的信息,瞬间忧桑了,

nginx: [emerg] host not found in upstream “demo1.xj123.info” in /usr/local/nginx
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

其中demo1.xj123.info是我的博客后端之一,从提示的错误和网上搜索一番来看,应该是找不到主机,于是ping了一下demo1.xj123.info,结果是可以ping通,这就令我费解了,而且cat /etc/resolv.conf里面的nameserver是正确的。

实在没头绪了,又敲了一次nginx -t竟然提示成功。

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

最后:这个问题就是由于找不到主机导致的,如果担心类似问题,可以修改hosts文件

Nginx 1.1.9配置PHP 5.3.10(php-fpm+fastcgi)

分类:运维技术日期:2012-03-03 - 15:04:43评论:7条作者:老谢

本文只介绍PHP的安装以及整合到Nginx,至于Nginx的安装教程请看:CentOS编译安装Nginx(附:管理脚本)

Nginx 1.1.9配置PHP 5.3.10(php-fpm+fastcgi)

wget http://vps.xj123.info/usr/lamp/php-5.3.10.tar.gz
tar -zxf php-5.3.10.tar.gz
cd php-5.3.10
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm
make && make install
cp php.ini-production /usr/local/php/etc/php.ini

继续阅读…

Tags: , ,

php获取访问者ip地址

分类:程序设计日期:2012-03-03 - 12:08:45评论:10条作者:老谢

老谢目前需要这个功能来做点小东西,于是就网上找了一番,下面的代码直接复制走即可,如需要自己可以美化一下,摘抄自andrew_659的空间
演示地址http://67.215.236.139/ip.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>公网ip查询</title>
</head>
<body>
<?php
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP."<br>";
?>
</body>
</html>

让vim支持中文编码(GB2312和Unicode编码UTF8)

分类:linux日期:2012-03-02 - 10:32:19评论:4条作者:老谢

有时候一些脚本,网上直接wget,里面有中文注释,这样用vim编辑脚本的时候一堆乱码,就比较蛋痛了!但是又懒得把脚本下载回来,修改后再上传,比较麻烦,于是乎,非常有必要让vim支持中文编码了!

返回自己的主目录,可以直接敲击cd命令,然后ls -al看下有没有.vimrc文件,如果没有就新建,加入下面的两行内容:

let &termencoding=&encoding
set fileencodings=utf-8,gbk,ucs-bom,cp936

保存后,再用vim编辑试试看,UTF8和GB2312都没有问题了!!

指定目录禁止执行php文件

分类:运维技术日期:2012-03-01 - 22:51:31评论:6条作者:老谢

做网站,有些目录必须要有写入权限,网站才能运行,但又担心别有用心的人在该目录上传.php的可执行文件,这样就有安全隐患了,下面例子为如何禁止某个目录执行.php的文件,代码摘自:http://who0168.blog.51cto.com/253401/577309

apache

<Directory /usr/local/apache/htdocs/bbs/data>
php_flag engine off
</Directory>
<Directory ~ "^/home/centos/web/data">
 <Files ~ ".php">
 Order allow,deny
 Deny from all
 </Files>
</Directory>

nginx

location /data/ {
location ~ .*\.(php)?$ {
deny all;
}
}