在命令行下直接输入以下命令
python -m SimpleHTTPServer 8080
之后即可访问 http://localhost:8080/
在命令行下直接输入以下命令
python -m SimpleHTTPServer 8080
之后即可访问 http://localhost:8080/
什么是 Wifi Portal,简单的说,就是当你连上 Wifi 之后,就会强制弹出某个页面,这个页面就是 Wifi Portal,要实现 Wifi Portal 需要 iptables 与 web 服务器的配合才可以 :)
在 OpenWrt 中,打开 Network/Firewall,再打开 Custom Rules,输入以下内容
iptables -t nat -A prerouting_lan_rule -p tcp -m tcp --dport 80 -j REDIRECT
然后再打开 /etc/config/uhttpd,在配置段适当的位置加上
option error_page '/error.html'
最后再编辑 /www/error.html 文件,内容如下
这样当你连接到 Wifi 的时候,你就会被带到 luci 的登录页,至于怎么美化,就看大家发挥了
<html>
<head>
<meta http-equiv="refresh" content="0;url=/cgi-bin/luci">
</head>
</html>
使用过苹果手机的同学如果连接过一些公共 Wifi,就会遇到过这样的现象,当你连接上 Wifi 后,会自动弹出一个Web网页让你进行认证,比那些纯密码认证的 Wifi 要高大上不少,这其中究竟是什么原理呢?
其实原理并不复杂,当 iOS 连接上 Wifi 后,就会连接到他的测试 URL 地址上进行测试,看看返回的网页与期望的网页是否一致,如果一致,则认为这个 Wifi 是可以成功连接的,如果是一个跳转页,则会弹出一个 Web 容器窗口,而跳转页就会在这个容器中显示出来。
但 iOS 对外请求时使用的是 HTTP 1.0 协议,如果返回的是 HTTP 1.1 的 302 则可以直接识别跳转,如果返回的也是 HTTP 1.0 的 302,iOS 就无法识别不会弹窗了,这个时候我们就应该使用 HTML head 里的 refresh 来进行跳转
不过 HTTP 1.0 协议里也是有 302 代码的,可就是不知道为什么 iOS 不识别 1.0 的 302
opkg update opkg install iptables-mod-conntrack-extra
opkg update opkg install ipset reboot
ipset create WifiQRCode bitmap:ip,mac range 192.168.96.0-192.168.96.255 ipset -L
OpenWrt 是个功能极强的路由系统,部署运行 PHP 环境非常方便
由于 WordPress 默认使用 Google Open Sans 字体,有时候会导致网页载入速度特别慢,为了消除这个影响,只能忍痛不去使用 Google 字体,幸好 WordPress 足够强大,可以通过插件直接禁用这个字体,否则就得改代码了。
安装方法很简单,到 WordPress 的插件管理后台搜索 Disable Google Fonts,第一个就是,安装后激活,网页头部就不会再引用 Google 字体了。
这个插件在 WordPress 的主页地址是:https://wordpress.org/plugins/disable-google-fonts/
我们有时候需要临时手动备份一下服务器上的 MySQL 数据库,而且需要记录备份的时间点,以防止新备份把老的备份给删除掉,通常我们可能会采用类似一下的备份策略:
mv test.sql.gz test.sql.gz.1 mysqldump test > test.sql gzip test.sql
或者使用带时间戳的备份策略
mysqldump test > test.sql mv test.sql test-20141023.sql gzip test-20141023.sql
其实我们可以有更便捷的方法来执行这个操作,在备份写文件时直接把时间信息带上
mysqldump test > test-`date +%Y%m%d%H%M%S`.sql
类似地,我们可以用这样的方式实现 Web 目录的打包
tar zcvf www-`date +%Y%m%d%H%M%S`.tar.gz /var/www/html
在 Ubuntu 系统下运行 Rails 项目,会得到提示信息:
rake aborted! ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
看提示是找不到 JavaScript 运行环境,根据提示,把 nodejs 安装上就可以
sudo apt-get install nodejs