东东东 陈煜东的博客

年份存档: 2013 ( 1 / 7)

QQ邮箱无限容量

今天登录QQ邮箱,对QQ邮箱容量进行了一次免费升级。本以为容量会翻一番的,结果直接显示无限容量了。给了一个提示

您于2013年12月30日成为QQ邮箱第34654位升级至无限容量的用户!

邮箱容量从之前的1048576G变成无限。QQ邮箱可以每3个月手工扩容一次,或者你的邮箱容量使用了50%,3个月后容量会自动升级一倍。以前往邮箱里面拼命的发送附件,发送了40G就没有再发了,因为会频繁的出现说邮箱被攻击,屏蔽接收邮件。

这么大的邮箱可以干么用呢?

  • 当网盘用,但每个文件有50M的上限
  • 备份文件,但微云有10T的容量,够用
  • 备份服务器代码,定时给这个邮箱发送代码
  • 呃。。想不出来了

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: QQ邮箱无限容量 – https://www.chenyudong.com/archives/qqmail-unlimited-capacity.html

分类: 网络

python导出变量 等价php的var_dump或print_r函数

在编写PHP代码的时候,想查看这个变量的成员变量等信息,可以使用下面的方法

//php 代码
var_dump($variable);
//或者
print_r($variable);
//或者
var_export($variable,true);//true说明这个函数有返回值,返回字符串

最近学习Python,在编写Python的时候,自然也想查看变量的信息。可以使用一下方法

#python代码
print vars(variable)
#或者
variable.__dict__

vars其实就是调用对象的__dict__成员变量。因为如果没有这个成员变量,去调用,会出现TypeError: vars() argument must have dict attribute这样的错误。

这样就可以查看变量的信息了。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: python导出变量 等价php的var_dump或print_r函数 – https://www.chenyudong.com/archives/var_dump-or-print_r-function-like-php-in-python.html

分类: Programming

PuTTY设置SSH端口代理转发

PuTTY是我用过的第一个SSH客户端,也是因为它,我接触了SSH,后来到公司工作后,发现大家都在使用SecureCRT,于是PuTTY就是用的比较少了。但是PuTTY还是在许多场合用到的。比如给git的图形客户端tortoisegit设置网络代理的时候会用上。

要使用SSH端口转发,首先下载一个putty,如果是公司内网,是无法直接连接外网的,需要有个代理服务器才能访问外网。如果不需要代理服务器就可以直接上网,可以使用myentunnel进行访问。

下载putty,http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

设置PuTTY

如图设置hostport,然后命名一个session保存起来,将来就不用再输入这些了。

设置本地转发端口

在与SSH服务器连接的同时,在本地开启一个7070端口,这样可以把网络请求转发到这个端口上,这个端口又与SSH服务器的22端口连接。

设置网络代理

如果你无法直接连接你的SSH服务器,那么你需要设置一下网络代理。如果你可以直接连接,那么忽略这步。在公司,必须通过代理才能访问外网,所以非常需要这步。

好了,通过以上设置,就可以连接SSH服务器了。连接成功后,利用本地开启的7070端口,就可以进行sock5进行SSH代理访问了。

推荐:给Goolge Chrome安装Proxy SwitchySharp插件。这个可以快速切换浏览器的代理模式,又兼有firefox的autoproxy功能。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: PuTTY设置SSH端口代理转发 – https://www.chenyudong.com/archives/putty-ssh-port-forwarding-setting.html

分类: 网络

使用bash shell脚本编写简易的看门狗watch dog

发现有个定时上报的脚本,突然挂了,导致数据收集不到。查看了下,居然是数据库获得锁失败了。

单个脚本那边运行,肯定有风险存在,不知道之前的人怎么都没有注意到这个问题。为了解决这个问题,中午编写了一个看门狗的shell脚本,让其每隔固定的时间检查一下进程,如果没有发现进程就拉起来。否则就休眠一段时间。

看门狗shell脚本的编写

#!/bin/bash
now=`date '+%Y-%m-%d %H:%M:%S'`

grepFlag='grepDataReport'
thisLog='/data/report/watchlog'

baseDir="/data/report"
sleepTime=60

if [ ! -f "$baseDir/run.sh" ]; then
    echo "$baseDir/run.sh missing, check again" > "$thisLog"
    exit
fi

#user=`whoami`
user="root"
if [ "$user" != "root" ]; then
    echo "this tool must run as *root*"
    exit
fi

while [ 0 -lt 1 ]
do
    now=`date '+%Y-%m-%d %H:%M:%S'`
    ret=`ps aux | grep "$grepFlag" | grep -v grep | wc -l`
    if [ $ret -eq 0 ]; then
        cd $baseDir
        echo "$now process not exists ,restart process now... " > "$thisLog"
        ./run.sh
        echo "$now restart done ..... "  > "$thisLog"
        cd $curDir
    else
        echo "$now process exists , sleep $sleepTime seconds " > "$thisLog"
    fi
    sleep $sleepTime
done

在写这个脚本的时候,遇到了一些问题,主要是很久没有编写shell脚本了,有些忘记了。

在声明变量的时候 grepFlag = 'DataReport',提醒说命令不存在,原来是多了空格,生命变量必须紧邻=号才行。

多次启动一个程序。之前是因为变量没取到,获取不到进程。在if [ $ret -eq 0 ]里发现0,一直拉起进程,后来变换一下if分支的内容。使用判断如果进程查不到,就启动,如果启动多个,没有做处理。

在使用输出重定向的时候,我从 >> 改用为 > 。因为我觉得每次echo出来的文字都追加到一个文件里去,时间一长,这个文件会很大。于是我就直接改成覆盖,看最后一个消息是什么即可判断,还有查看文件的时间戳判断一下进程的情况。

后台运行程序run.sh的编写

后台的程序

nohup /usr/local/php/bin/php run.php grepDataReport &

注意这里一定要使用nohup。之前没有使用nohup,当终端没有关闭的时候,我kill了这个程序,会自动拉起,但是我退出终端,重新打开一个终端去kill后,发现无法拉起进程了。

注意使用nohup启动的时候,可能需要按一下按键,

nohup与&的区别

nohup是让命令忽略SIGHUP命令而已,退出终端后可以继续运行;&则让命令在后台运行,至于该命令是否能在退出终端后继续执行则要看进程是否是守护进程,如果不是,则需要nohup来帮忙。

nohup命令及其输出文件nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( nohang up)。

该命令的一般形式为:nohup command &使用nohup命令提交作业如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:nohup command > myout.file 2>&1 &在上面的例子中,输出被重定向到myout.file文件中。

PS.粗略看一下,发现shell脚本和python脚本感觉有些像,不用封号结尾,直接使用变量。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: 使用bash shell脚本编写简易的看门狗watch dog – https://www.chenyudong.com/archives/bash-shell-watch-dog-auto-restart-process.html

分类: Linux

Nginx上搭建WordPress及配置 完美迁移

昨天晚上20点,空间的带宽达到上限了,本来1个月才2G的流量,现在20天就跑5G,23点才发现网站不能访问。赶紧将www.daoiqi.com域名解析转成日本的Linode服务器上,但是博客却还没有迁移,因为要在Nginx上搭建WordPress比较麻烦,需要配置一些东西。

今天趁着零碎的时间,终于把博客给迁移到Nginx上了。这篇文章是参考http://codex.wordpress.org/Nginx,官网给出的配置,我这里没办法使用,但是我已经解决了。

第一步:上传代码

将代码上传到服务器,目录/data/www/chenyudong.com/wwwroot

第二步:设置Nginx.conf

修改nginx.conf文件,它可能在/etc/nginx/nginx.conf或者/usr/local/nginx/conf/nginx.conf下,看你的具体情况。本文假定在/usr/local/nginx/conf/nginx.conf目录下。

# Generic startup file.
user {user} {group};

#ususally equal to number of CPU's you have. run command "grep processor /proc/cpuinfo | wc -l" to find it
worker_processes  2;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

# Keeps the logs free of messages about not being able to bind().
#daemon     off;

events {
    worker_connections  1024;
}

http {
#  rewrite_log on;

    include mime.types;
    default_type       application/octet-stream;
    access_log         /var/log/nginx/access.log;
    sendfile           on;
#  tcp_nopush         on;
    keepalive_timeout  3;
#  tcp_nodelay        on;
#  gzip               on;
        #php max upload limit cannot be larger than this
    client_max_body_size 13m;
    index              index.php index.html index.htm;

    # Upstream to abstract backend connection(s) for PHP.
    upstream php {
        #this should match value of "listen" directive in php-fpm pool
        #server unix:/tmp/php-fpm.sock;
        server 127.0.0.1:9000;
    }

    include sites-enabled/*;
}

对着你的Nginx.conf的配置,参考一下这个配置

  • 其中33~37行,这个是php-fpm的一些设置,php-fpm是运行php用的一个cgi,一般都用这个;
  • 第39行,这个是为了添加多个站点使用的,以后新增站点就不用修改nginx.conf,直接在sites-enabled目录下添加一个nginx的配置即可

我的机器上,只有监听127.0.0.1:9000端口进行php的处理,没有/tmp/php-fpm.sock这个sock,所以我将上面的一行给注释了。如果没有注意到,这里会出现403 Forbidden的错误。

每个站点的设置

你肯定是有多个站点的吧,不可能装一个nginx就跑一个网站。新建一个文件/usr/local/nginx/conf/sites-enabled/chenyudong.conf。注意文件的位置,是在conf/sites-enabled目录下面。

# Redirect everything to the main site. We use a separate server statement and NOT an if statement - see http://wiki.nginx.org/IfIsEvil
server {
        server_name  _;
        rewrite ^ $scheme://mysite.com$request_uri redirect;
}

server {
    server_name www.chenyudong.com;
    root /data/www/chenyudong.com/wwwroot;

    include global/restrictions.conf;

    # Additional rules go here.

    # Only include one of the files below.
    include global/wordpress.conf;
#  include global/wordpress-ms-subdir.conf;
#  include global/wordpress-ms-subdomain.conf;
}

我们注意到11行include了一个文件,17行include了一个文件。这两个文件因为比较具有通用性,所以将其单独提取出来,方便以后多个站点进行include,减少重复的编写。

第三步:编写restrictions.conf

新建一个文件夹/usr/local/nginx/conf/global/,并在这个目录下新建一个文件restrictions.conf,绝对路径为/usr/local/nginx/conf/global/restrictions.conf。

这个配置是给限制一些文件的访问的。

# Global restrictions configuration file.
# Designed to be included in any server {} block.</p>
location = /favicon.ico {
    log_not_found off;
    access_log off;
}

location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
}

# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
location ~ /\. {
    deny all;
}

# Deny access to any files with a .php extension in the uploads directory
# Works in sub-directory installs and also in multisite network
# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
location ~* /(?:uploads|files)/.*\.php$ {
    deny all;
}

文件说明:

  • 比如favicon.ico这个文件,一个网站的icon,就不用访问日志了,打出来也是浪费。robots.txt这个文件是给搜索引擎看得,也没必要打log
  • .开头的隐藏文件也禁止访问,这里面有重要的信息,比如 .htaccess, .htpasswd, .DS_Store (Mac).
  • uploads或者files下的php禁止访问,通常这个目录的意义是用户上传的一些文件,为了保证安全,防止用户上传可运行的脚本,禁止其访问。

通用的WordPress设置,配置文件

# WordPress single blog rules.
# Designed to be included in any server {} block.

# This order might seem weird - this is attempted to match last if rules below fail.
# http://wiki.nginx.org/HttpCoreModule
location / {
    index        index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

# Directives to send expires headers and turn off 404 error logging.
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
       access_log off; log_not_found off; expires max;
}

# Uncomment one of the lines below for the appropriate caching plugin (if used).
#include global/wordpress-wp-super-cache.conf;
#include global/wordpress-w3-total-cache.conf;

# Pass all .php files onto a php-fpm/php-fcgi server.
location ~ \.php$ {
    # Zero-day exploit defense.
    # http://forum.nginx.org/read.php?2,88845,page=3
    # Won't work properly (404 error) if the file is not stored on this server, which is entirely possible with php-fpm/php-fcgi.
    # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on another machine.  And then cross your fingers that you won't get hacked.
    try_files $uri =404;

    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#  fastcgi_intercept_errors on;
    fastcgi_pass php;
}

注意到第7行,指明默认的首页的文件名是什么。我之前没有这一样,在nginx.conf里,也没有为站点做设置,结果访问 http://www.chenyudong.com/index.html 跳转到了http://www.chenyudong.com/ ,但是因为没有指定index的文件,导致又一个403 Forbidden错误。

第8行,try_files这个命令相当于做一个url重写,可以利用它来做一个伪静态。try_files $uri $uri/ /index.php?$args,$uri是nginx的一个变量,他的意义是先查看一下uri这个文件是不是存在,存在就返回,不存在就检查uri/这个目录看是否存在,存在返回,不存在查看index.php?$args这个是不是存在,如果不存在就返回默认的错误码,一般是404错误。

确认是否需要更改数据库密码

从其他的地方迁移过来,检查一下是否需要更改数据库的用户名和密码,在文件/wp-config.php,可以更改博客的数据库用户名和密码。

重启nginx

重启一下nginx,准确的说应该是重新读取一下配置。/usr/local/nginx/sbin/nginx -s reload

访问一下http://www.chenyudong.com/就可以了,而且原有的重写规则还是可以用的。

参考文章:http://codex.wordpress.org/Nginx

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: Nginx上搭建WordPress及配置 完美迁移 – https://www.chenyudong.com/archives/nginx-support-wordpress-and-configure.html

分类: WordPress, 网站建设

chrome v32解决QQ快速登录、支付宝、财付通安全控件启用插件

昨天更新了一下Google Chrome,发现出现32版本了,版本号为32.0.1664.3 m Aura,随手点击升级了。

现象

升级后,发现QQ快速登录无法使用,本来以为是QQ快捷登录插件出现问题,或者是浏览器临时出现的情况,没太在意。

第二天,登录财付通进行付款,无法使用安全控件登录,难道是安全控件无法支持最新版的Chrome?

于是点击下载,重新安装了一遍,发现还是不能使用。但是其他的浏览器比如IE、Firefox都可以使用这些插件。我也觉得这个只是个特例,没什么太大的影响,但是当我打开支付宝,发现也无法使用安全控件登录的时候,看来这个不是个特例呀,这么多的插件都不能使用了。

在Chrome的URL地址栏中,有一个提醒,说是运行网页上的插件,就算是这样也无法运行插件。

看样子,是Chrome把插件给禁用了,那么就可以在管理插件的页面进行启用了。

在支付宝的证书管理的时候,提示

当前操作环境不支持控件,为保护账户资金安全,需要通过你绑定手机的校验。

但是IE浏览器下却完好可用。这也是插件被禁用的情况。

原因

最近Google对Chrome浏览器的插件有一些动向,就是Chrome 将逐步放弃对 NPAPI 插件架构的支持,详情查看http://news.mydrivers.com/1/277/277033.htm

解决方法

打开网页chrome://plugins/,寻找需要启用的插件,如图

常用的插件有:

  • Tenpay Security Control         两个                                       财付通
  • Tencent SSO Platform – QQ QuickLogin Helper                  QQ快捷登录
  • Alipay Security Control  两个                                                  支付宝
  • npalicdo plugin 一个                                             支付宝证书、快捷支付

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: chrome v32解决QQ快速登录、支付宝、财付通安全控件启用插件 – https://www.chenyudong.com/archives/chrome-version-32-enable-plugin.html

分类: 网络

codeigniter在nginx安装配置及URL重写

codeigniter(CI)是一个轻量型的PHP优秀框架,但是它是在apache服务器下开发的,在nginx下需要特别的配置才可以使用。

codeigniter修改

application/config/config.php进行修改,大约在48行左右。

$config['uri_protocol'] = "PATH_INFO";

修改nginx配置

对nginx的进行配置,nginx.conf

server {
        listen       80;
        listen [::]:80 ipv6only=on;
        server_name  www.example.com;

        root   /data/www/www.example.com;
        index index.php  index.html index.htm;

        location / {
                # 这里使用try_files进行url重写,不用rewrite了。
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php($|/) {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param   PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        location ~ /\.ht {
                deny  all;
        }
}

要特别注意19行的include fastcgi_params;,如果没有这一行,那么你的PHP程序会无法运行的。我被这个坑了很多次了。

访问url

在CI框架下,有一个默认的controller,叫welcome。原先在没有nginx的rewrite前,我们需要通过这样的方式访问http://www.example.com/index.php/welcome/index。现在我们可以http://www.example.com/welcome/index这样访问URL了。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: codeigniter在nginx安装配置及URL重写 – https://www.chenyudong.com/archives/codeigniter-in-nginx-and-url-rewrite.html

分类: 网络

腾讯入股搜狗,形成全新的搜狗公司

今天收到邮件,发现腾讯花4.48亿美元现金,换取搜狗36.5%的股份,未来将合并搜搜与QQ输入法业务,形成一个全新的搜狗公司。

对于这次的联姻,合并后的搜索份额可以达到14%左右,与第二名的360搜索18%相差比较小。不知道这两个搜索在未来的市场上有什么大的动静不。

不知道将来搜狗输入法会不会有弹窗,向来QQ拼音输入法都比较清爽干净,我最讨厌搜狗输入法弹窗的了,可以看我对搜狗输入法的吐槽。因此我一直使用Google输入法。

还有搜狗浏览器和QQ浏览器这两个好像没有合并,不知道未来会不会有更近的动作。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: 腾讯入股搜狗,形成全新的搜狗公司 – https://www.chenyudong.com/archives/tencent-investing-into-sogou.html

分类: 网络

godaddy购买过期域名及其处理方式

去年帮别人建网站购买域名,当时提醒他们续费,但是他们没有消息。我又本着好心提醒他们续费,他们终于回复我了,让我帮忙处理一下。

我查看一下域名的状态,已经不在当时Godaddy的购买账户了,没办法续费,已经过期好几天了。

对于注册人来说,我们来看看Godaddy对域名过期续费的几个分段。

  • 过期第0天:godaddy尝试自动续费,如果自动续费失败,域名过期,仍可人工续费,不收额外费用。
  • 过期第5天:godaddy第2次尝试自动续费,如果自动续费失败,域名停止解析,仍可人工续费,不收额外费用。
  • 过期第12天:godaddy第3次尝试自动续费。
  • 过期第19天~42天:域名仍可自动续费,但是需要额外交域名赎回费(redemption fee)80美元。
  • 过期第43天:如果有竞标者,则把域名分配给获胜者,如果没有,则把域名返回给域名注册管理机构。

对于购买过期域名的人来说

  • 过期第26天:域名被放入拍卖(auction)列表,注册者仍可续费,额外交80美元赎回费。共10天
  • 过期第36天:拍卖结束,如果没有人竞标,则放到收尾竞标列表,清仓拍卖。有人竞标,等待6天,归他所有。赎回$80
  • 过期第37天:清仓拍卖第一天,直接$11可以购买。赎回$80
  • 过期第38天:清仓拍卖第二天,直接$10可以购买。赎回$80
  • 过期第39天:清仓拍卖第三天,直接$9可以购买。赎回$80
  • 过期第40天:清仓拍卖第四天,直接$8可以购买。赎回$80
  • 过期第41天:清仓拍卖第五天,直接$5可以购买。关闭收尾竞标。赎回$80
  • 过期第43天:如果有竞标者,则把域名分配给获胜者,如果没有,则把域名返回给域名注册管理机构。

要说明的是,Godaddy可能会在到期当天,帮你自动续费1年,查看whois信息,你会发现到期时间推迟了1年,但是如果你不续费的话,域名在43天后仍是进入删除阶段,管理机构会退给Godaddy帮你垫付的费用。

推荐:Godaddy续费优惠码

一些查老域名的工具

  • opensiteexplorer.com
  • archive.org

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: godaddy购买过期域名及其处理方式 – https://www.chenyudong.com/archives/godaddy-buy-expired-domain.html

分类: 未分类

个人博客备案审核通过

今天早上,邮箱里收到工信部发来的《关于ICP备案申请审核通过的通知》邮件。说我的域名通过备案了。

备案是从8月13日开始提交信息的,期间没有去复印资料邮寄过去,浪费了8天,21日收到邮寄的身份信息,今天9月3日通过备案。

有了备案,以后网站就可以在国内混了。但是国内的空间费用贵。还是继续去买Linode的VPS吧。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: 个人博客备案审核通过 – https://www.chenyudong.com/archives/blog-beian-pass.html

分类: 网站建设

较早的文章

Copyright © 2019 东东东 陈煜东的博客 粤ICP备13059639号-1

SITEMAP回到顶部 ↑