手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年11月的文章

nginx 的resolv.conf经常被自动清空

有时候,服务器上用的DNS其实并不是我想要的,有些DNS其实速度慢,而且解析更慢,更新也慢。所以这时候就想要换一个快一点的dns了。

第一个想到要改的是resolv.conf,在里面加入nameserver 114.114.114.114,但改完后,过一阵子看,却发现文件又空了。找了下资料,原来不能这样。。

直接改/etc/network/interface ,在里面加入:dns-nameservers 114.114.114.114 8.8.8.8

看好了,这里是dns开头,而且是复数。完了重启networking即可

参考:http://blog.jsdan.com/3743

因为上面是台湾网站,如果打不开,请看这个PDF:[ubuntu] 修改 resolv.pdf

Tags: nginx, resolv

mac下面安装php5.4

 苹果下面安装php5.4还算是比较方便的,主要是默认为php5.3,想用trait的时候,没5.4跑不了啊。。

于是直接使用brew install php54,结果报错,查了下资料,原来,需要:

  • brew tap josegonzalez/homebrew-php
  • brew tap homebrew/dupes 
  • brew install php54 --with-mysql --with-intl --with-fpm --without-apache 

因为有装nginx。所以就without-apache了。。。

安装好后,brew 会告诉你:

XML/HTML代码
  1. The php.ini file can be found in:  
  2.     /usr/local/etc/php/5.4/php.ini  
  3.   
  4. ✩✩✩✩ PEAR ✩✩✩✩  
  5.   
  6. If PEAR complains about permissions, 'fix' the default PEAR permissions and config:  
  7.     chmod -R ug+w /usr/local/Cellar/php54/5.4.13/lib/php  
  8.     pear config-set php_ini /usr/local/etc/php/5.4/php.ini  
  9.   
  10. ✩✩✩✩ Extensions ✩✩✩✩  
  11.   
  12. If you are having issues with custom extension compiling, ensure that this php is  
  13. in your PATH:  
  14.     PATH="$(brew --prefix josegonzalez/php/php54)/bin:$PATH"  
  15.   
  16. PHP54 Extensions will always be compiled against this PHP. Please install them  
  17. using --without-homebrew-php to enable compiling against system PHP.  
  18.   
  19. ✩✩✩✩✩ INTL Support ✩✩✩✩✩  
  20.   
  21. icu4c is broken as of mxcl/homebrew#03ed757c, so you will need to install intl as  
  22. a separate extension:  
  23.   
  24.     brew install php54-intl  
  25.   
  26. ✩✩✩✩ FPM ✩✩✩✩  
  27.   
  28. To launch php-fpm on startup:  
  29.     * If this is your first install:  
  30.         mkdir -p ~/Library/LaunchAgents  
  31.         cp /usr/local/Cellar/php54/5.4.13/homebrew-php.josegonzalez.php54.plist ~/Library/LaunchAgents/  
  32.         launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php54.plist  
  33.   
  34.     * If this is an upgrade and you already have the homebrew-php.josegonzalez.php54.plist loaded:  
  35.         launchctl unload -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php54.plist  
  36.         cp /usr/local/Cellar/php54/5.4.13/homebrew-php.josegonzalez.php54.plist ~/Library/LaunchAgents/  
  37.         launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php54.plist  
  38.   
  39. The control script is located at /usr/local/Cellar/php54/5.4.13/sbin/php54-fpm  
  40.   
  41. Mountain Lion comes with php-fpm pre-installed, to ensure you are using the brew version you need to make sure /sbin is before /usr/sbin in your PATH:  
  42.   
  43.   PATH="/sbin:$PATH"  
  44.   
  45. You may also need to edit the plist to use the correct "UserName".  
  46.   
  47. Please note that the plist was called 'org.php-fpm.plist' in old versions  
  48. of this formula.  
  49.   
  50. To have launchd start php54 at login:  
  51.     ln -sfv /usr/local/opt/php54/*.plist ~/Library/LaunchAgents  
  52. Then to load php54 now:  
  53.     launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php54.plist  
  54. Warning: /usr/local/sbin is not in your PATH  
  55. You can amend this by altering your ~/.bashrc file  
记下这些路径和使用方法,以后会用得到

Tags: mac, php

动态添加和删除crontab

 其实说白了很简单,就是新建一个文件 。然后把计算任务 写进去。执行完了或者有修改的地方就删除它。然后再crontab 执行下而已

1.添加:echo "1 * * * * /home/test" >> /user/crontabfile
2.删除:sed -i '/test/d'  /user/crontabfile
3.然后 crontab  /user/crontabfile 就行了.

然而我在测试的时候,一直失败。。。。我在mac下面的时候。sed -i '/test/d' xxxxfile的时候,一直报错。直到在linux下面执行就正常了。

不过,本来就是准备扔在服务器上处理,不影响不影响,我淡定的飘过

Tags: crontab

Dig的详细用法

之前查看域名信息等资料用whois,后来发现只能解析主域名的A记录才是whois,于是就有了nslookup,但nslookup还得不停的set type,太麻烦了。所以,看到有dig的时候,就决定还是用dig吧。

教程有点长,不过。如果你只是简单的用法,就dig --help就够 了。。要更深的用法和查看dig的详细输出,还是先了解一下?

dig 在freebsd、linux等类unix下很好用的dns辅助工具
# dig 基本的用法
dig @dnsserver(@dnsserver指定某台服务器来做查询,不过一般都省略这个选项) aiobox.net

# 查询 zone 数据传输
dig  www.aiobox.net.AXFR

#zone 数据的增量传输查询
dig www.aiobox.net.IXFR=N

#查询反向解析
dig -x202.175.191.49 @dnsserver

# 找某个域的授权 dns 服务器
dig aiobox.net +nssearch

# 从根服务器开始追踪一个域名的解析过程
dig aiobox.net +trace

# 查看你使用的是哪个 F root dns server
dig +norec @F.ROOT-SERVERS.NET HOSTNAME.BIND CHAOS TXT

# 查看某个使用 bind 的服务器的版本号
dig @dnsserver CHAOS TXT version.bind

用途
DNS 查询实用程序。
语法
dig [@server] [-b address] [-c class] [-f filename] [-k filename] [ -n ][-p port#] [-t type] [-x addr] [-y name:key] [name] [type] [class] [queryopt...]
dig [-h]
dig [global-queryopt...] [query...]
描述
dig(域 信息搜索器)命令是一个用于询问 DNS 域名服务器的灵活的工具。它执行 DNS 搜索,显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为 DNS 问题的故障诊断,因为它灵活性好、易用、输出清晰。虽然通常情况下 dig 使用命令行参数,但它也可以按批处理模式从文件读取搜索请求。不同于早期版本,dig 的 BIND9 实现允许从命令行发出多个查询。除非被告知请求特定域名服务器,dig 将尝试 /etc/resolv.conf 中列举的所有服务器。当未指定任何命令行参数或选项时,dig 将对“.”(根)执行 NS 查询。
标志
-b address 设置所要询问地址的源 IP 地址。这必须是主机网络接口上的某一合法的地址。
-c class 缺省查询类(IN for internet)由选项 -c 重设。class 可以是任何合法类,比如查询 Hesiod 记录的 HS 类或查询 CHAOSNET 记录的 CH 类。
-f filename 使 dig 在批处理模式下运行,通过从文件 filename 读取一系列搜索请求加以处理。文件包含许多查询;每行一个。文件中的每一项都应该以和使用命令行接口对 dig 的查询相同的方法来组织。
-h 当使用选项 -h 时,显示一个简短的命令行参数和选项摘要。
-k filename 要签署由 dig 发送的 DNS 查询以及对它们使用事务签名(TSIG)的响应,用选项 -k 指定 TSIG 密钥文件。
-n 缺省情况下,使用 IP6.ARPA 域和 RFC2874 定义的二进制标号搜索 IPv6 地址。为了使用更早的、使用 IP6.INT 域和 nibble 标签的 RFC1886 方法,指定选项 -n(nibble)。
-p port# 如果需要查询一个非标准的端口号,则使用选项 -p。port# 是 dig 将发送其查询的端口号,而不是标准的 DNS 端口号 53。该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器。
-t type 设置查询类型为 type。可以是 BIND9 支持的任意有效查询类型。缺省查询类型是 A,除非提供 -x 选项来指示一个逆向查询。通过指定 AXFR 的 type 可以请求一个区域传输。当需要增量区域传输(IXFR)时,type 设置为 ixfr=N。增量区域传输将包含自从区域的 SOA 记录中的序列号改为 N 之后对区域所做的更改。
-x addr 逆向查询(将地址映射到名称)可以通过 -x 选项加以简化。addr 是一个以小数点为界的 IPv4 地址或冒号为界的 IPv6 地址。当使用这个选项时,无需提供 name、class 和 type 参数。dig 自动运行类似 11.12.13.10.in-addr.arpa 的域名查询,并分别设置查询类型和类为 PTR 和 IN。
-y name:key 您可以通过命令行上的 -y 选项指定 TSIG 密钥;name 是 TSIG 密码的名称,key 是实际的密码。密码是 64 位加密字符串,通常由 dnssec-keygen(8)生成。当在多用户系统上使用选项 -y 时应该谨慎,因为密码在 ps(1)的输出或 shell 的历史文件中可能是可见的。当同时使用 dig 和 TSCG 认证时,被查询的名称服务器需要知道密码和解码规则。在 BIND 中,通过提供正确的密码和 named.conf 中的服务器声明实现。
参数
global-queryopt… 全局查询选项(请参阅多个查询)。
查询 查询选项(请参阅查询选项)。
查询选项
dig 提供查询选项号,它影响搜索方式和结果显示。一些在查询请求报头设置或复位标志位,一部分决定显示哪些回复信息,其它的确定超时和重试战略。每个查询选项 被带前缀(+)的关键字标识。一些关键字设置或复位一个选项。通常前缀是求反关键字含义的字符串 no。其他关键字分配各选项的值,比如超时时间间隔。它们的格式形如 +keyword=value。查询选项是:
+[no]tcp
查询域名服务器时使用 [不使用] TCP。缺省行为是使用 UDP,除非是 AXFR 或 IXFR 请求,才使用 TCP 连接。
+[no]vc
查询名称服务器时使用 [不使用] TCP。+[no]tcp 的备用语法提供了向下兼容。 vc 代表虚电路。
+[no]ignore
忽略 UDP 响应的中断,而不是用 TCP 重试。缺省情况运行 TCP 重试。
+domain=somename
设定包含单个域 somename 的搜索列表,好像被 /etc/resolv.conf 中的域伪指令指定,并且启用搜索列表处理,好像给定了 +search 选项。
+[no]search
使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]defname
不建议看作 +[no]search 的同义词。
+[no]aaonly
该选项不做任何事。它用来提供对设置成未实现解析器标志的 dig 的旧版本的兼容性。
+[no]adflag
在查询中设置 [不设置] AD(真实数据)位。目前 AD 位只在响应中有标准含义,而查询中没有,但是出于完整性考虑在查询中这种性能可以设置。
+[no]cdflag
在查询中设置 [不设置] CD(检查禁用)位。它请求服务器不运行响应信息的 DNSSEC 合法性。
+[no]recursive
切换查询中的 RD(要求递归)位设置。在缺省情况下设置该位,也就是说 dig 正常情形下发送递归查询。当使用查询选项 +nssearch 或 +trace 时,递归自动禁用。
+[no]nssearch
这个选项被设置时,dig 试图寻找包含待搜名称的网段的权威域名服务器,并显示网段中每台域名服务器的 SOA 记录。
+[no]trace
切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]cmd
设定在输出中显示指出 dig 版本及其所用的查询选项的初始注释。缺省情况下显示注释。
+[no]short
提供简要答复。缺省值是以冗长格式显示答复信息。
+[no]identify
当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。如果请求简短格式应答,缺省情况不显示提供应答的服务器的源地址和端口号。
+[no]comments
切换输出中的注释行显示。缺省值是显示注释。
+[no]stats
该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
+[no]qr
显示 [不显示] 发送的查询请求。缺省不显示。
+[no]question
当返回应答时,显示 [不显示] 查询请求的问题部分。缺省作为注释显示问题部分。
+[no]answer
显示 [不显示] 应答的回答部分。缺省显示。
+[no]authority
显示 [不显示] 应答的权限部分。缺省显示。
+[no]additional
显示 [不显示] 应答的附加部分。缺省显示。
+[no]all
设置或清除所有显示标志。
+time=T
为查询设置超时时间为 T 秒。缺省是5秒。如果将 T 设置为小于1的数,则以1秒作为查询超时时间。
+tries=A
设置向服务器发送 UDP 查询请求的重试次数为 A,代替缺省的 3 次。如果把 A 小于或等于 0,则采用 1 为重试次数。
+ndots=D
出 于完全考虑,设置必须出现在名称 D 的点数。缺省值是使用在 /etc/resolv.conf 中的 ndots 语句定义的,或者是 1,如果没有 ndots 语句的话。带更少点数的名称被解释为相对名称,并通过搜索列表中的域或文件 /etc/resolv.conf 中的域伪指令进行搜索。
+bufsize=B
设置使用 EDNS0 的 UDP 消息缓冲区大小为 B 字节。缓冲区的最大值和最小值分别为 65535 和 0。超出这个范围的值自动舍入到最近的有效值。
+[no]multiline
以详细的多行格式显示类似 SOA 的记录,并附带可读注释。缺省值是每单个行上显示一条记录,以便于计算机解析 dig 的输出。
多条查询
dig 的 BIND9 支持在命令行上指定多个查询(支持 -f 批处理文件选项的附加功能)。每条查询可以使用自己的标志位、选项和查询选项。
在这种情况下,在上面描述的命令行语法中,每条查询自变量代表一个个别查询。每一条由任意标准选项和标志、待查询名称、可选查询类型和类以及任何适用于该查询的查询选项。
也可以使用对所有查询均有效的查询选项全局集合。全局查询选项必须位于命令行上第一个名称、类、类型、选项、标志和查询选项的元组之前。任何全局查询选项(除了 +[no]cmd 选项)可以被下面的查询特别选项重设。例如:
dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr显示 dig 如何从命令行出发进行三个查询:一个针对 www.isc.org的任意查询、一个 127.0.0.1 的逆向查询,以及一个 isc.org 的 NS 记录查询。应用了 +qr 的全局查询选项,以便 dig 显示进行每条查询的初始查询。最后那个查询有一个本地查询选项 +noqr,表示 dig 在搜索 isc.org 的 NS 记录时不显示初始查询。
示例
一个典型的 dig 调用类似:
dig @server name type其中:
server
待 查询名称服务器的名称或 IP 地址。可以是用点分隔的 IPv4 地址或用冒号分隔的 IPv6 地址。当由主机提供服务器参数时,dig 在查询域名服务器前先解析那个名称。如果没有服务器参数可以提供,dig 参考 /etc/resolv.conf,然后查询列举在那里的域名服务器。显示来自域名服务器的应答。
name
将要查询的资源记录的名称。
type
显示所需的查询类型 - ANY、A、MX、SIG,以及任何有效查询类型等。如果不提供任何类型参数,dig 将对纪录 A 执行查询。

---EOF

上面的内容来自于:http://www.aiobox.net/dig%E7%9A%84%E8%AF%A6%E7%BB%86%E7%94%A8%E6%B3%95.html,就是一字未动的COPY

 

Tags: dig, nslookup

Google QR Code 的说明

GoogleQRCode的介绍很久没有出现在网上了,直接从chart页过去找也很麻烦,而且还经常 找不到。

在这里贴个链接:https://developers.google.com/chart/infographics/docs/qr_codes

再来个简单的说明,生成QRCode真的很简单(以前也写过博客介绍过,其实我这次只是想贴个链接而已),上一次是: google QRCode,在之前还有一篇:QR CODE,看文中的链接已经变了,原文中说的:https://code.google.com/apis/chart/docs/gallery/qr_codes.html,已经是404了。。。

用法很简单:

1、接口地址:https://chart.googleapis.com/chart?

2、几个参数:

Parameter Required or Optional Description
cht=qr Required Specifies a QR code.
chs=<width>x<height> Required Image size.
chl=<data> Required The data to encode. Data can be digits (0-9), alphanumeric characters, binary bytes of data, or Kanji. You cannot mix data types within a QR code. The data must be UTF-8 URL-encoded. Note that URLs have a 2K maximum length, so if you want to encode more than 2K bytes (minus the other URL characters), you will have to send your data using POST.
choe=<output_encoding> Optional How to encode the data in the QR code. Here are the available values:
  • UTF-8 [Default]
  • Shift_JIS
  • ISO-8859-1
chld=<error_correction_level>|<margin> Optional
  • error_correction_level - QR codes support four levels of error correction to enable recovery of missing, misread, or obscured data. Greater redundancy is achieved at the cost of being able to store less data. See the appendix for details. Here are the supported values:
    • L - [Default] Allows recovery of up to 7% data loss
    • M - Allows recovery of up to 15% data loss
    • Q - Allows recovery of up to 25% data loss
    • H - Allows recovery of up to 30% data loss
  • margin - The width of the white border around the data portion of the code. This is in rows, not in pixels. (See below to learn what rows are in a QR code.) The default value is 4.

 是不是很简单?

Tags: google, qrcode