[Original]设置默认虚拟主机,防止非法域名绑定
有些站点,经常因为被别人绑定了未备案的域名,遭电信关闭IP。该规则,也经常被竞争对手恶意利用。因此,对Web Serve设置默认虚拟主机,来屏蔽非法域名很重要。
Nginx的做法
添加以下server zone
server {
listen 80 default;
return 500;
}
或者是将非法域名的访问重定向
有些站点,经常因为被别人绑定了未备案的域名,遭电信关闭IP。该规则,也经常被竞争对手恶意利用。因此,对Web Serve设置默认虚拟主机,来屏蔽非法域名很重要。
添加以下server zone
server {
listen 80 default;
return 500;
}
或者是将非法域名的访问重定向
1. WordPress Mu后台开启永久链接功能
后台-设置-永久链接-自定义结构-/blog/archives/%post_id%
2. 修改Nginx.conf,加入rewrite rules
location / {
index index.html index.htm index.php;
root /data0/data_www/hangyan.com/wp;
#on server block
##necessary if using a multi-site plugin
server_name_in_redirect off;
##necessary if running Nginx behind a reverse-proxy
port_in_redirect off;
rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ /index.php last;
}
}
在《解决Linux Server时间不准确的问题》一文中,使用了crontab定期执行ntpdate来校对时间。之后恰巧某博客上的文章,认为“时钟的跃变,有时候会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务, 通常会地依赖这样的事实:时间不会往回跳跃。”时间的瞬变,对于crontab等对时间敏感的系统任务,也是很容易造成错乱的。
优雅的解决方案是,在机器刚开机时,执行ntpupdate直接修改系统时间,然后启动ntpd守护进程,渐进式逼近地调整系统时间,基本可以做到分毫不差。
误差小的时候,ntpd不会直接修改系统时间的,只是对时钟频率进行校正。这种方式好处是系统时间不会有跳变,不会影响像crontab这样程序的运行,缺点是校正需要一定的时间。
RHEL系统上,我们常用ntpd来完成该任务;而在Ubuntu系统里,我们则用openntpd来替代它。相对ntpd,openntpd是轻量级的网络时间协议,设置比较简单。关于ntpd和openntpd的设置,参考以下2篇文章
服务器每隔好几个月,总会差那么几分钟。应对措施,就是每隔段时间,进行网络对时。
以下摘自《鸟哥的私房菜》,可解读为什么会有偏差的问题。
事實上,在我們的身邊就有很多的原子鐘,例如石英表,還有電腦主機上面的 BIOS 內部就含有一個原子鐘在紀錄與計算時間的進行吶!不過由於原子鐘主要是利用計算晶片 (crystal) 的原子震盪週期去計時的,這是因為每種晶片都有自己的獨特的震盪週期之故。 然而因為這種晶片的震盪週期在不同的晶片之間多多少少都會有點差異性, 甚至同一批晶片也可能會或多或少有些許的差異(就連溫度也可能造成這樣的誤差呢!),因此也就造成了 BIOS 的時間會三不五時的給他快了幾秒或者慢了幾秒。
或許您會認為,BIOS 計時器每天快個五秒也沒有什麼了不起的,不過如果您再仔細的算一算,會發現,一天快五秒, 那麼一個月快2.5分鐘,一年就快了 75 分鐘了!所以說,呵呵!時間差是真的會存在的! (依据该原理,只要关机或者重启次数越多,时间就会差得越离谱)
1.挑选最快最稳定的ntp上层服务器
系统环境 – Vmware WorkStation 7(同系列其他产品,如ESX/Esxi类似)
客户机操作系统 – Ubunt Linux Server 9.10
搭建测试环境,为了快速部署,使用Vmware的Clone功能,快速复制出许多客户机。
启动后发现个问题,除了源客户机,其他副本客户机,网络功能都不正常,具体表现为
如同Linux的”sudo”
C:\Documents and Settings\linqp>runas /h
RUNAS 用法:
RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/user:<UserName> program
RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/smartcard [/user:<UserName>] program
多人管理同一台Linux Server,为了方便审计,最好在history内加入操作时间。
It comes in handy particularly if there are multiple people maintaining a given server (so you can see when a command was performed) or even if you are the sole maintainer, but can’t remember exactly when you did or changed something.
Edit your /etc/bashrc and append to the bottom:
export HISTTIMEFORMAT="%h/%d – %H:%M:%S "
故障现象
某Web服务器,突然出现以下问题,php-cgi僵死在进程里,无法重启
www 9463 0.0 0.3 41996 13612 ? D Apr19 1:22 /usr/local/php/bin/php-cgi –fpm
www 20858 0.0 0.3 40408 12932 ? D May05 1:55 /usr/local/php/bin/php-cgi –fpm
www 20866 0.0 0.3 40688 13296 ? D May05 1:53 /usr/local/php/bin/php-cgi –fpm
www 20878 0.0 0.3 40932 13604 ? D May05 1:51 /usr/local/php/bin/php-cgi –fpm
www 24288 0.0 0.3 40436 12880 ? D Apr15 2:36 /usr/local/php/bin/php-cgi –fpm
www 26881 0.0 0.3 41596 13712 ? D Apr16 6:11 /usr/local/php/bin/php-cgi –fpm
www 26921 0.0 0.3 43224 15848 ? D Apr16 5:57 /usr/local/php/bin/php-cgi –fpm
www 26983 0.0 0.3 42736 14524 ? D Apr16 6:01 /usr/local/php/bin/php-cgi –fpm
www 27007 0.0 0.3 42608 14248 ? D Apr16 6:01 /usr/local/php/bin/php-cgi –fpm
www 27023 0.0 0.3 42464 15172 ? D Apr16 5:57 /usr/local/php/bin/php-cgi –fpm
处理过程
近期评论