网站启用https访问

孤魂 发表了文章 • 0 个评论 • 2174 次浏览 • 2016-01-11 16:10 • 来自相关话题

今天在沃通申请了免费两年的ssl证书,申请比较简单,就不写教程了,申请地址:https://buy.wosign.com/freessl.html

在配置Nginx的时候,学到了一点东西,就是直接让http访问强制转向到https,在conf文件中,加入以下内容即可,试试本文地址:http://www.kalvin.cn/article/4if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
nginx配置ssllisten 443;
ssl on;
ssl_certificate /root/sslcert/???.crt;
ssl_certificate_key /root/sslcert/???.key; 查看全部
今天在沃通申请了免费两年的ssl证书,申请比较简单,就不写教程了,申请地址:https://buy.wosign.com/freessl.html

在配置Nginx的时候,学到了一点东西,就是直接让http访问强制转向到https,在conf文件中,加入以下内容即可,试试本文地址:http://www.kalvin.cn/article/4
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}

nginx配置ssl
listen 443;
ssl on;
ssl_certificate /root/sslcert/???.crt;
ssl_certificate_key /root/sslcert/???.key;

再见2015,2016哥欢迎你

孤魂 发表了文章 • 0 个评论 • 2036 次浏览 • 2015-12-31 14:06 • 来自相关话题

今天,2015年的最后一天,回想这过去的一年,也可以稍微做做总结了。2015是比较成功的一年,提前一个月完成了2015年前自己心理既定的目标,在个人能力方面得得到了一定的发展;家庭和睦,老少健康,幸福完美的一年。
 
2016年来了,根据身边所见所闻,然后前几天看了一篇比较权威的报告,个人对明年的经济环境并不是很看好,做为普通公民,一般情况下不会注意到大的经济环境对自己的影响,但是我已经体会到了这个关系的厉害性,所以2016年个人发展目标不敢期望太高,但目标不可能是停止不前,我们是现实派,所以目前将既定目标定为今年的1.2倍即可。俗话说知足常乐,我发现我已经体会到这句话的含意了;虽然成就一般,但对于我个人来说,我的人生大起大落也不止那么一两次了,在失败中获得了教训,在发展中得到了成长,期待2016年跟今年一样,大家都开开心心的!
 
补充:对了,2016年,大家一起快乐的生猴子吧:) 查看全部
今天,2015年的最后一天,回想这过去的一年,也可以稍微做做总结了。2015是比较成功的一年,提前一个月完成了2015年前自己心理既定的目标,在个人能力方面得得到了一定的发展;家庭和睦,老少健康,幸福完美的一年。
 
2016年来了,根据身边所见所闻,然后前几天看了一篇比较权威的报告,个人对明年的经济环境并不是很看好,做为普通公民,一般情况下不会注意到大的经济环境对自己的影响,但是我已经体会到了这个关系的厉害性,所以2016年个人发展目标不敢期望太高,但目标不可能是停止不前,我们是现实派,所以目前将既定目标定为今年的1.2倍即可。俗话说知足常乐,我发现我已经体会到这句话的含意了;虽然成就一般,但对于我个人来说,我的人生大起大落也不止那么一两次了,在失败中获得了教训,在发展中得到了成长,期待2016年跟今年一样,大家都开开心心的!
 
补充:对了,2016年,大家一起快乐的生猴子吧:)

PHP通过pthreads扩展实现真正的多线程采集

孤魂 发表了文章 • 0 个评论 • 1749 次浏览 • 2015-12-25 09:11 • 来自相关话题

最近自己的项目采集,一直在使用PHP CURL的功能在进行采集,使用命令行执行PHP文件,解决了PHP运行超时的问题,但只能单线程采集。最近找到了使用pthreads实现多线程采集的方法,这里安装方法就不在详细说明了,如果你使用Phpstudy的套件的话,需要注意到两点,一是选择好正确的版本,php 5.x只能使用2.09以下的版本;其次是需要将php_pthreads.dll放在ext目录,然后在php.ini文件中加载此文件;最后需要将pthreadVC2.dll分别复制到./PHPa/目录和./Apache/bin/目录。下面分享一下我的采集源码。<?php
set_time_limit(0);

class new_thread_run extends Thread
{
public $url;
public $data;
public function __construct($url)
{
$this->url = $url;
}
public function run()
{
if (($url = $this->url)) {
$this->data = model_http_curl_get($url);
}
}
}
function model_thread_result_get($urls_array)
{
if (class_exists('Thread')) {
foreach ($urls_array as $key => $value) {
$thread_array[$key] = new new_thread_run($value);
$thread_array[$key]->start();
}
foreach ($thread_array as $thread_array_key => $thread_array_value) {
while ($thread_array[$thread_array_key]->isRunning()) {
usleep(10);
}
if ($thread_array[$thread_array_key]->join()) {
$variable_data[$thread_array_key] = $thread_array[$thread_array_key]->data;
}
}
} else {
foreach ($urls_array as $key => $value) {
$variable_data[$key] = model_http_curl_get($value);
}
}
return $variable_data;
}
function model_http_curl_get($url)
{
$userAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 20);
curl_setopt($curl, CURLOPT_USERAGENT, $userAgent);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}

//实际例子
for ($i = 0; $i < 50; $i++) {
$urls_array = "http://www.baidu.com/s?wd=" . mt_rand(10000, 20000);
}
$t = microtime(true);
$result = model_thread_result_get($urls_array);
$e = microtime(true);
echo "多线程:" . ($e - $t) . "\n";
?>参考链接:
http://www.thinkphp.cn/topic/22676.htmlhttp://zyan.cc/pthreads/ 查看全部
最近自己的项目采集,一直在使用PHP CURL的功能在进行采集,使用命令行执行PHP文件,解决了PHP运行超时的问题,但只能单线程采集。最近找到了使用pthreads实现多线程采集的方法,这里安装方法就不在详细说明了,如果你使用Phpstudy的套件的话,需要注意到两点,一是选择好正确的版本,php 5.x只能使用2.09以下的版本;其次是需要将php_pthreads.dll放在ext目录,然后在php.ini文件中加载此文件;最后需要将pthreadVC2.dll分别复制到./PHPa/目录和./Apache/bin/目录。下面分享一下我的采集源码。
<?php
set_time_limit(0);

class new_thread_run extends Thread
{
public $url;
public $data;
public function __construct($url)
{
$this->url = $url;
}
public function run()
{
if (($url = $this->url)) {
$this->data = model_http_curl_get($url);
}
}
}
function model_thread_result_get($urls_array)
{
if (class_exists('Thread')) {
foreach ($urls_array as $key => $value) {
$thread_array[$key] = new new_thread_run($value);
$thread_array[$key]->start();
}
foreach ($thread_array as $thread_array_key => $thread_array_value) {
while ($thread_array[$thread_array_key]->isRunning()) {
usleep(10);
}
if ($thread_array[$thread_array_key]->join()) {
$variable_data[$thread_array_key] = $thread_array[$thread_array_key]->data;
}
}
} else {
foreach ($urls_array as $key => $value) {
$variable_data[$key] = model_http_curl_get($value);
}
}
return $variable_data;
}
function model_http_curl_get($url)
{
$userAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 20);
curl_setopt($curl, CURLOPT_USERAGENT, $userAgent);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}

//实际例子
for ($i = 0; $i < 50; $i++) {
$urls_array = "http://www.baidu.com/s?wd=" . mt_rand(10000, 20000);
}
$t = microtime(true);
$result = model_thread_result_get($urls_array);
$e = microtime(true);
echo "多线程:" . ($e - $t) . "\n";
?>
参考链接:

通告:博客更换程序,原站数据移至二级目录

孤魂 发表了文章 • 0 个评论 • 1837 次浏览 • 2015-12-18 09:04 • 来自相关话题

今年一直在使用Wecenter的网站程序,无论是代码风格,还是负载性能,个人感觉在国内程序里面,都算一流的,所以打算把自己的博客也更换为此程序,并且希望能保持长期更新。
 
原来网站的数据正在考虑是否需要迁移过来,因为有HTML转UBB的问题,如果需要查询原来网站的一些数据,目前请移步:http://www.kalvin.cn/old/ 查看全部
今年一直在使用Wecenter的网站程序,无论是代码风格,还是负载性能,个人感觉在国内程序里面,都算一流的,所以打算把自己的博客也更换为此程序,并且希望能保持长期更新。
 
原来网站的数据正在考虑是否需要迁移过来,因为有HTML转UBB的问题,如果需要查询原来网站的一些数据,目前请移步:http://www.kalvin.cn/old/