博客web端改用apache

试用了几天Cloudflare加racknerd的2h2g的小鸡,感觉还算差强人意。所以干脆就先把博客放这里算了,然后又突发奇想,其他的网站一直用的lnmp,为啥博客就不能用用lamp呢?况且apache在稳定性以及对php的支持等方面都比nginx要好,nginx的优势是轻便和并发能力强。其实对小博客来说,基本没有啥区别。

说折腾就折腾,编译安装apache,发现需要重新设置虚拟主机,设置的时候发现,不像nginx的时候,脚本提示把http301到https,什么www域名301到一级域名等,这些提示都没有。也没有设置伪静态的选项。网上查了一下,发现是几行代码就可以搞定的事情。

设置301跳转

在apache里设置301跳转很简单,只需要在.htaccess里添加代码就好了,老刘主要用到两个,一个是http跳到https,一个是www跳到一级域名。感觉比nginx要简洁一些,代码如下:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tunan.org/$1 [R,L]

RewriteEngine On
RewriteCond %{HTTP_HOST} !^iliu.org$ [NC]
RewriteRule ^(.*)$ http://iliu.org/$1 [L,R=301]

设置后才发现,设置和不设置没有啥区别,老刘用的cf,应该是在cf里设置了301到443接口了,至于wordpress伪静态的问题,也是很容易,直接到wordpress的后台,保存一下固定链接样式就行了,保存后在根目录里自动生成了.htaccess。代码如下:

# BEGIN WordPress
# 在“BEGIN WordPress”与“END WordPress”之间的指令(行)是
# 动态生成的,只应被WordPress过滤器修改。
# 任何对标记之间的指令的修改都会被覆盖。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

使用cloudflare后获取用户真实IP

由于apache已经自带mod_remoteip模块,所以只需按如下操作即可

#启用模块
vim /usr/local/apache/conf/httpd.conf
Include conf/extra/httpd-remoteip.conf
#添加如下内容
vim /usr/local/apache/conf/extra/httpd-remoteip.conf
LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1/24
#CloudFlare IP Ranges
RemoteIPInternalProxy 103.21.244.0/22
RemoteIPInternalProxy 103.22.200.0/22
RemoteIPInternalProxy 103.31.4.0/22
RemoteIPInternalProxy 104.16.0.0/12
RemoteIPInternalProxy 108.162.192.0/18
RemoteIPInternalProxy 131.0.72.0/22
RemoteIPInternalProxy 141.101.64.0/18
RemoteIPInternalProxy 162.158.0.0/15
RemoteIPInternalProxy 172.64.0.0/13
RemoteIPInternalProxy 173.245.48.0/20
RemoteIPInternalProxy 188.114.96.0/20
RemoteIPInternalProxy 190.93.240.0/20
RemoteIPInternalProxy 197.234.240.0/22
RemoteIPInternalProxy 198.41.128.0/17 #你的CDN的IP,可以重复添加
#在httpd.conf中修改日志格式,在日志格式中加上%a,然后重启apache即可
LogFormat "%h %a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %a %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combined

service httpd restar重启apache,然后去日志里看看,已经获得了真实IP。前连天灰常记忆博友说在cloudflare里设置一下也能显示真实IP,但是老刘没有找到这个设置,只好继续在网站上改了,网站上改还有一个好处是,这个方法不仅限于cloudflare,别的CDN也是适用的

Read more

粮票里的父爱

粮票里的父爱

前几天在博客群里闲聊,话题莫名其妙地扯到了粮票。我随口说了一句:“当年我爸把全国的粮票攒着不舍得用,说是为了给我和我哥上大学的时候用。”阿均半开玩笑地说:“整理一下这个故事吧,也挺有意思的。”我心里一动,其实不久前还听我爸抱怨呢:“当年给你们攒的粮票,其实也没怎么用上。” 说到粮票,很多年轻人可能都没见过。上世纪八九十年代,粮食和一些生活用品都是按票供应的。手里有粮票才能买粮,没有就只能干着急。那时候的粮票分两种:地方粮票和全国性粮票。地方粮票只能在本地用,而全国性的粮票可以全国通用,更珍贵。 我爸攒的,就是全国粮票。他考虑到我和我哥上大学,不一定会留在甘肃,怕我们去外地没粮票买粮,饿肚子。他省吃俭用,把这些全国粮票默默积攒起来,为我们未来的温饱留着。想象他每天回家,把一张张小票叠好放进抽屉里,那画面真是朴素又让人心安。 求学的道路上,其实父母一直在鼓励我们。父亲看到单位新分来的大学生待遇非常好,意识到知识和学历的重要性;同时,我们家从祖辈开始都没有什么学问,所以望子成龙的期望特别重。放假的时候,除非是集中性的农活,比如收种庄稼、施肥这些有时效的农活,平常的象除草这些活儿都不让我

By laoliu
物必自腐,而后虫生

物必自腐,而后虫生

前几天朋友送了一箱黄桃,一次性吃不了那么多,慢慢的桃子就有点发软,这两天吃桃子的时候,屡屡遇到外表鲜亮,啃两口发现里面已经变质的桃子。这不由的让我想起了一句忘了从哪里看到的话——“物必自腐,而后虫生”。 查了一下资料,出处应该是苏轼的《范增论》。苏轼借楚汉相争,感叹项羽失天下并非因为范增未被重用,而是因为项羽自己内部的问题。于是写道:“物必先腐也,而后虫生之;人必先疑也,而后谗入之。”意思是,万物的败坏,必然从自身腐烂开始,外来的虫子不过是乘虚而入;人的失败,往往是自己心中先起疑念,外来的谗言才有了可乘之机。桃子如此,世间又何尝不是? 一颗桃子,即便外皮光鲜,若果肉先行腐坏,虫子自然会滋生。虫并不是腐烂的原因,而是腐烂的结果。真正决定一颗桃子命运的,不在于外表多么饱满,而在于内里是否坚实清新。 历史上的王朝也是如此。唐宋明清,无不曾强盛一时,但当内部积弊滋生、腐化蔓延时,再坚固的城池也难以自保。外敌入侵只是导火索,真正的根源是自身的腐朽。 组织亦然。一个团队,如果内部保持团结向上,足以抵御风雨;

By laoliu
茶与菩提:慢下来的时光

茶与菩提:慢下来的时光

周末收拾店内的东西,无意中翻出一个纸袋。打开一看,里面是半块普洱茶饼。这块茶饼是媳妇她表哥送的。刚拿到手时,我兴致勃勃地撬下一点泡来喝。慢慢地,三两次、五六次,一块完整的茶饼就被消耗掉了一半。后来是因为茶壶被摔坏了,改用玻璃杯泡绿茶,也就放在那了。都说普洱茶的妙处,就在于它“越陈越香”。这两年,它是不是也在悄悄发生着变化呢? 茶汤里的岁月 普洱分为生普和熟普。生普茶汤清亮,滋味苦涩中带着一丝清甜,回甘悠长,那是岁月的原味,直接而真切。熟普则是经过人工发酵,褪去了青涩,变得醇厚温润。茶汤红浓明亮,入口顺滑,带着独特的陈香,仿佛一位历尽风霜的长者,沉稳而内敛。我这一块,是熟普。撬下一点,用开水冲泡,茶汤渐渐转为红褐色,透着微微的枣香。轻轻啜一口,醇厚顺滑,温润入喉。这不只是一杯茶,更是一段被遗忘的时光。 菩提的光泽 喝茶的时候,瞥见了柜子里的那一串星月菩提。那是2015年买的,这些年不知不觉间,

By laoliu