liujia 发布的文章

坐 K34 次火车,从深圳到和平站

头一天的晚上在手机12306里查票,仅“无座”有,半夜或第二天早上刷新,还是仅有“站(着的)票”。考虑到不赶时间,不想被深圳到和平的班车兜来兜去,且觉得自己还年轻,可以站得住,所以就决定坐火车回家。

railway-1.jpg

出发前,买了干粮:两个糯米南瓜饼和另两个不知道叫什么的,卖早餐的啊姨说糯米耐饱些。走到固戍地铁站,选5号线8块钱坐到终点罗湖站。可能是老天考验我,从固戍地铁站一路站到罗湖,因为地铁也没座。

罗湖地铁站和火车站相近,刷二维码和刷脸后,上二楼等火车,吃了那两个不知道叫什么的东西,当作午饭。快吃完时,广播喊K34开始检票了。

railway-2.jpg

从站台进车厢时,要排队,因为是始发站,且多数是大包小包或行李箱的要放,行李和乘客入座都需要时间。我是从13车厢头走到尾,看哪里有站的地方。在洗漱台一侧,看到一个壮汉坐在洗手盆那,我也站了进去。对面有两个小伙,其中一个笑着把不锈钢的垃圾箱当座位,另一个站着。发车后,笑着的小伙指着一个硬座说,那人补卧铺去了,去坐。他同伴去坐下,然后他又指着他同伴对面的一个座位对我说,你也去。不过,我笑着摇了摇头。后来,笑小伙那来了个带行李箱的阿姨,阿姨把箱子塞到洗手盆侧,人坐到行李箱上。对面两个人,我们这边也有两个人。

站着闲着,我掏出电子书来看,倒不觉得累。笑小伙一开始看手机,偶尔会有一、两个乘客拿着果皮或袋子来找垃圾箱,这时,笑小伙会笑着站起来,拉开垃圾箱顶上的小方盖,说,“在这里”。我这边呢?有乘客上厕所后,会来洗手,或拿着水果来洗,再是来梳梳头,照照镜子,每当来人时,我就侧一下身子,眼睛也不用离开电子书的屏幕。还没到东莞东,我们这边的壮汉不知道去哪了,所以我又往里边站,面对着挂在灭火器,靠着洗手盆边,累了还可以背靠着玻璃窗,可惜是毛玻璃,不能看到窗外。

过了东莞东后,来扔垃圾的人多了,笑小伙坐不住了,更糟糕的是,垃圾箱满了,好几个方便面的盒子是堆着到垃圾箱顶,或干脆放到洗手盆上了。笑小伙蹲了会,后来见他拿走挂在钩上背包,估计是在附近找着座位了。我再看了会电子书,原先对面坐着倚着的阿姨也不见了,只有那个行李箱,估计也找着座位了。所以,觉得无座的站票和站票是一样的价钱,可能站票就是让乘客自由发挥,趁着空闲座位坐的,如我这样看见空着的位也不敢坐的人,估计不适合买站票,哈哈。

好象过了惠州站,过道里摆了个哆啦A梦的行李箱,一乘客用不锈钢的垃圾斗当座位,另一个用桶当座位,第三个是拿着袋子里的棉被坐,摆起牌局来了。乘务员对此好象有点不满意,桶座的人说,“没办法啊,餐车上有座位,但东西老贵,四十多元的饭象屎一样”。棉被座则说,“不影响你工作就行,你要接水搞卫生,我来给你接”。垃圾斗座说,“坐坏了,我赔你,不用你说,我知道这斗值一百块钱”。这牌局摆得挺科学的,不影响火车上的小推车和乘客的行李箱经过。因为堵住了洗漱间入口,所以没乘客再到我这边来洗手洗脸了。但也有不好的地方,每当棉被座上的大哥抽烟时,站后边的我被呛得厉害。再之后,他们打牌会交流,说话声影响,电子书是看不了,塞上耳机听歌,也可以接受。

railway-3.jpg

快到和平站时,提前到抽烟区等着,遇到同村的一个大爷。一同下火车,出站。我是从火车站走路回家,这段路况不妙,正在为路面扩建施工,黄土尘多,厚,一脚踩下去,尘能飞到裤脚上。幸好没下雨,否则脚都可能变成“叫化脚”了。

railway-4.jpg

29日去了阿里云深圳“驱动数字中国”听“阿里云支持与服务专场”

等了几天,盼到了。

坐地铁5号线,在“会展中心”站下,会场就在附近,好找。

yunxi-sz-1.jpg

先是在签到处说了身份证号码和手机号,妹纸说找不到信息,但可以现场报名,妹纸问有没有名片,我说没有。扫一下屏幕的二维码,现场提交个人信息,其中有“就职公司”之类的,我“发挥”一下,填了“安群网”,职位是“老总”,打印出来的二维码上,真有“安群网”,但可能顾及我的面子,“老总”的职位没打印出来。

之后呢,人多,所以坐扶手楼梯到了6楼,找到“文厅”,听“阿里云支持与服务专场”的演讲。

yunxi-sz-3.jpg

我在后边找一个“安静”的位坐下。听着大佬们讲,不时有人捧着手机拍屏幕上显示的演讲稿内容,但我仿佛是因为没睡午觉,眼前的PPT越来越模糊,声音慢慢变远,眼皮懒懒地想合上。瞌睡中,一个帅小伙说是卓游的技术总监,讲了阿里云适合他们业务的原因,挺不错的。四点多时,会场结束,我差不多最后,出门时,一个妹纸问,“你的牌牌呢?”,我从裤兜里掏出带有二维码的参会卡片,被“滴”了之后,换到了一本“hello world”的笔记(第二天送给小张了)。

yunxi-sz-5.jpg

我是特意穿着阿里云“more than just cloud”去的,但签到处的妹纸穿的是新版的"hello YunQi",在离开下扶手楼梯时看到两个提着AOC设备的哥们也是老版的"just cloud",再凑一个,可以上场打“吃鸡”游戏了。

yunxi-sz-4.jpg

在CentOS6 系统里为 postfix 配置外部smtp服务器发邮件

1.yum update # 更新软件
2.hostname erow.org # 设置主机名
3.vi /etc/postfix/main.cf # 编辑 postfix 配置文件,设置 myhostname = erow.org
4.yum install stunnel # 安装 stunnel 软件,目的是转发465端口数据
5.vi /etc/stunnel/stunnel.conf # 编辑 stunnel 配置文件,内容如下:

[smtp-tls-wrapper]
accept = 11125
client = yes
connect = smtp.mxhichina.com:465

6.vi /etc/rc.d/init.d/stunnel # 编辑 stunnel 启动配置文件,内容如下:

#!/bin/bash
#
# Init Script to run stunnel in daemon mode at boot time.
#
# Author: Riccardo Riva - RPM S.r.l.
# Revision 1.0 - 2010 November, 11

#====================================================================
# Run level information:
#
# chkconfig: 2345 99 99
# description: Secure Tunnel
# processname: stunnel
#
# Run "/sbin/chkconfig --add stunnel" to add the Run levels.
# This will setup the symlinks and set the process to run at boot.
#====================================================================

#====================================================================
# Paths and variables and system checks.

# Source function library
. /etc/rc.d/init.d/functions

# Check that networking is up.
#
[ ${NETWORKING} ="yes" ] || exit 0

# Path to the executable.
#
SEXE=/usr/bin/stunnel

# Path to the configuration file.
#
CONF=/etc/stunnel/stunnel.conf

# Check the configuration file exists.
#
if [ ! -f $CONF ] ; then
echo "The configuration file cannot be found!"
exit 0
fi

# Path to the lock file.
#
LOCK_FILE=/var/lock/subsys/stunnel

#====================================================================

# Run controls:

prog=$"stunnel"

RETVAL=0

# Start stunnel as daemon.
#
start() {
if [ -f $LOCK_FILE ]; then
echo "stunnel is already running!"
exit 0
else
echo -n $"Starting $prog: "
$SEXE $CONF
fi

RETVAL=$?
[ $RETVAL -eq 0 ] && success
echo
[ $RETVAL -eq 0 ] && touch $LOCK_FILE
return $RETVAL
}

# Stop stunnel.
#
stop() {
if [ ! -f $LOCK_FILE ]; then
echo "stunnel is not running!"
exit 0

else

echo -n $"Shutting down $prog: "
killproc stunnel
RETVAL=$?
[ $RETVAL -eq 0 ]
rm -f $LOCK_FILE
echo
return $RETVAL

fi
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
condrestart)
if [ -f $LOCK_FILE ]; then
stop
start
RETVAL=$?
fi
;;
status)
status stunnel
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac

exit $RETVAL

#--- End of file ---

7.chkconfig stunnel on # 启用 stunnel 服务
8.chmod +x /etc/init.d/stunnel # 为 stunnel 配置文件,添加执行权限
9.service stunnel start # 启动 stunnel 服务
10.mkdir /etc/postfix/sasl # 创建 sasl 目录
11.vi /etc/postfix/sasl/sasl_passwd # 创建邮箱账户登录信息配置文件,内容如下:

[localhost]:11125 postmaster@erwo.org:password

12.postmap /etc/postfix/sasl/sasl_passwd # 生成postfix密码配置文件
13.chmod 600 /etc/postfix/sasl/* # 为了保护smtp的登录信息,需要修改上边两个文件为root用户只读写
14.vi /etc/postfix/main.cf # 修改 /etc/postfix/main.cf 文件,修改 relayhost = [localhost]:11125 , 添加SMTP信息:

relayhost = [localhost]:11125

#### SMTP
# Enable SASL authentication
smtp_sasl_auth_enable = yes
# Disallow methods that allow anonymous authentication
smtp_sasl_security_options = noanonymous
# Location of sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
# Enable STARTTLS encryption
# smtp_tls_security_level = encrypt
# Location of CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_generic_maps = hash:/etc/postfix/generic

15.因为多数免费邮箱限定发信人是登录名(如postmaster@erwo.org),所以在 /etc/postfix/generic 文件里填写可能发信的地址,如:apache

apache postmaster@erwo.org

16.postconf -e 'smtp_host_lookup = dns, native' # 设置postfix dns解析
17./etc/init.d/postfix restart # 重启postfix
18.tail /var/log/maillog # 如有错误,可查看日志

参考:https://randomcentos.wordpress.com/2015/04/21/installing-stunnel-client-on-centos-6-6/

在Debian 9里vi(m)用鼠标远程选定复制文本

场景:日常用ssh远程登录到Debian,用vi来查看配置文件或日志文件,如nginx的,需要复制一些文本内容。

过程:

  1. Debian 8 系统里,vi 命令是 vi “原版”程序

    [root@iZj6c8af]# whereis vi
    vi: /bin/vi /usr/share/man/man1/vi.1.gz
    [root@iZj6c8af]# ls -l /bin/vi
    -rwxr-xr-x. 1 root root 907248 Jul 24  2015 /bin/vi
    [root@iZj6c8af]#
  2. 但在Debian 9系统里,vi命令是指向 vim 了

    root@AY130221:~# whereis vi
    vi: /usr/bin/vi /usr/share/man/man1/vi.1.gz
    root@AY130221:~# ls -l /usr/bin/vi
    lrwxrwxrwx 1 root root 20 Oct 25 14:08 /usr/bin/vi -> /etc/alternatives/vi
    root@AY130221:~# ls -l /etc/alternatives/vi
    lrwxrwxrwx 1 root root 18 Oct 25 14:11 /etc/alternatives/vi -> /usr/bin/vim.basic
  3. vim 相对于 vi 来说,可以提供额外的一些功能,如语法高亮显示等。对于本人的使用习惯,默认的vim配置,当用鼠标选中两个或多个字符时,会自动进入可视化(VISUAL),在vim程序中复制和粘贴,不是复制到本地
  4. vi ~/.vimrc # 创建个人的vim配置文件
  5. syntax on # 添加这行内容,目的是增加语言高亮显示功能,但清除在vim中鼠标选定等功能
  6. 再次运行vi测试,可以在ssh里用鼠标选定和复制文本内容到本地了

参考:

在Deiban 9里安装FUDforum 3.0 (PostgreSQL)

FUDforum是用PHP写的网上论坛程序,支持多种数据库。本例是在Debian 9,php7.0 和 PostgreSQL 9.6 环境里的安装实践。

过程:

  1. apt-get update # 更新软件仓库
  2. apt-get install nginx # 安装nginx,如果提示启动失败,请注释掉默认站点监听ipv6的配置行
  3. apt-get install php7.0-fpm php7.0-pgsql php7.0-mbstring php7.0-pspell # 安装php7.0及相应组件
  4. /etc/nginx/sites-enabled/default # 修改默认站点的配置内容,如添加php支持,增加SSL访问等,本例部分内容如下:

         # pass PHP scripts to FastCGI server
         #
         location ~ \.php$ {
                 include snippets/fastcgi-php.conf;
         #
         #       # With php-fpm (or other unix sockets):
                 fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
         #       # With php-cgi (or other tcp sockets):
         #       fastcgi_pass 127.0.0.1:9000;
         }
  5. apt-get install postgresql postgresql-client # 安装PostgreSQL服务端及客户端
  6. su postgres # 从当前root用户切换到postgres用户
  7. psql # 登录到PostgreSQL控制台
  8. 在控制台执行以下命令,创建 fuduser 用户,创建 fuddb 数据库,且授予fuduser用户管理fuddb数据库

    CREATE USER fuduser WITH PASSWORD 'aqtest888';
    CREATE DATABASE fuddb OWNER fuduser;
    GRANT ALL PRIVILEGES ON DATABASE fuddb to fuduser;
  9. 下载好FUDforum安装包,本例解压到/var/www/html的路径,且创建好/var/www/FUDforum的目录存储论坛的缓存等文件,并设置好权限
  10. 在浏览器里访问 install.php,开始安装
  11. 检测安装环境
  12. 安装第一步,检测访问网址和存储路径
  13. 安装第二步,填写数据库访问信息
  14. 安装第三步,设置cookies域名,不过这里出现了数据库查询失败的警告
  15. 安装第四步,设置论坛主题和显示语言,这里选择了默认的主题和简体中文的语言
  16. 安装第五步,设置论坛管理员用户名,密码和邮箱地址
  17. 删除网站目录里的 install.php , uninstall.php, upgrade.php 和 fudforum_archive 文件,完成安装
  18. 论坛前、后台浏览,内容显示正常

参考: