分类 Skill 下的文章

电脑疑难杂症


朋友在 PE 下用 diskpgen 分区,C 盘既不能设置为活动分区,也没有取消活动分区的选项,后来才发现他用 diskgen 的一键分区功能,把硬盘分成 GPT 分区表了。

另一朋友电脑电脑 BIOS 自检之后就不能加载系统,用 PE 备份数据正常,也能顺利用 dism++ 恢复系统,就算重新分区都不能解决问题,后来证实是启动扇区有问题,修复之后就可以了。

单位里的某电教平台,每次启动都是进入 BIOS 界面,加载默认设置故障依旧,但手动设置启动设备便可以进入系统。后来发现,故障原因是键盘的 F2 键按下去不能复位造成的。


创建Aria2启动脚本


脚本内容如下:

#!/bin/sh
#!/bin/bash
### BEGIN INIT INFO
# Provides:          aria2
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO

USER=sh_user
CONF=/etc/aria2/aria2.conf
BIN=/usr/local/bin/aria2c
case "$1" in
start)
    echo "Start aria2c"
    su - $USER -c "$BIN --conf-path=$CONF"
    ;;
stop)
    echo "Stopping aria2c, please wait..."
    killall -w aria2c
    ;;
restart)
    echo "Stopping aria2c, please wait..."
    $0 stop
    echo "Start aria2c"
    $0 start
    ;;
*)
    echo "$0 {start|stop|restart|status}"
    ;;
esac
exit

增加脚本运行权限

chmod +x /etc/init.d/aria2

设置aria2服务开机自动运行

update-rc.d aria2 defaults

Nginx 下为网站添加 auth_basic 认证


Nginx 下 auth_basic 认证至少可以分两种,目录认证和整站认证。
实现代码分别为:

1. 整站认证,在 Server 段添加以下代码:

auth_basic “input you user name and  password”;
auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;

完成之后就是这个样子:

server {
        listen 80;
        root /home/www/;
        index index.php;
        server_name domain.com;
         #密码认证
        auth_basic “input you user name and  password”;
        auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;
        location / {
        }
}

2. 目录认证,在 location 段添加以下代码:

auth_basic “input you user name and  password”;
auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;

完成之后就是这个样子:

location ^~ /目录/.* {
        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
                auth_basic “input you user name and  password”;
                auth_basic_user_file /usr/local/nginx/conf/vhost/nginx_passwd;
}

目录认证后就丧失了继承的 PHP 解析能力,所以要重新添加 PHP 解析语法:

location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
}

密码认证文件可以通过 http://tool.oschina.net/htpasswd 在线生成!
参考:http://blog.rekfan.com/articles/288.html


修改火狐intl.accept_languages选项,修复不能访问某些网站的BUG


一直以为firefox很科学,很给力,直到访问http://wiki.openwrt.org/遇挫,才发现,IE11,chrome都能打开该页面,真是尺有所短寸有所长。

经过网友支招,自己验证,以下的修改方法可以debug。

1、firefox地址栏输入about:config打开配置页面

2、搜索intl.accept_languages,双击该选项

3、把zh-cn修改成zh_CN

确认之后关闭页面就可以打开了。


使用cookies下载认证URL文件


先来个引子:

一直为手中的联想A820T没有喜欢的ROM而耿耿于怀!试过“R大”的AOSP,但界面采用的是lewa,有些BUG,没有用多久就放弃了。

抱着“念念不忘,必有回响”的态度,寻寻觅觅,发现www.needrom.com有AOSP的ROM,但是访问该站的时候,浏览器返回403错误,没有权限!好吧,算了。

好久之后,再次搜索,发现twitter上有相关的信息,挂上shadowsocks,上去看看,点击推文中的链接,即时有被猴耍的感觉!!原来链接也是指向www.needrom.com,而且还能打开,只不过要登陆才能下载。至此才明白,www.needrom.com禁止了中国的IP!!


好了,回到正式问题

既然www.needrom.com挂上shadowsocks能访问,能下载,本没有问题了,但是proxy好像不给力,每次都是下载到一半就不能下载了,重置后又重新下载,就这样一次次地尝试,一次次地失败。

到了这个时候唯有祭出VPS这个大杀器了。wget一下,很快就出错!原来问题出现在没有登陆这个环节上,shell如何登陆网站?ARE YOU KIDDING ME?正面不行就迂回一下,使用firefox+export插件导出cookies,cookies里保存了账号,密码和登陆信息,使用wget配合cookies就可以正常下载了。

wget --load-cookies=./cookies http://bsp.needrom.com/2014/02/A820T_gacama-AOSP.zip

后记:

念念不忘,必有回响!就在我搜索该ROM的地址时,在搜索引擎里发现2小时前有网友发布了新的AOSP ROM,哦耶!


控制Nginx的地址跳转


如何设置 nginx,防止别人绑定你的域名,主机评论整理了2个方法,分享给大家:
nginx 的默认虚拟主机在用户通过 IP 访问 ,
或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效。
比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500。
目前国内很多机房都要求网站主关闭空主机头,防止未北岸的域名指向过来造成麻烦。

1. 直接返回500

server {
        listen 80 default;
        return 500;
} 

2. 也可以把这些流量 收集起来,导入到自己的网站,只要做以下跳转设置就可以:

server {
        listen 80 default;
        rewrite ^(.*) http://yd631.com permanent;
}

补充一个 Nginx 跳转规律:
如果所有配置都没有设置 listen 80 default,那么无论通过 IP 还是未经绑定的域名访问,Nginx 都会跳转到在配置中排在首位的网站。

文章转自:http://www.yd631.com/nginx-link-you-domain