迁移到阿里云一些笔记

  现在看到的博客已经跑在阿里云上了,随之迁移的还有找歌词后台和花图相册(链接就在屏幕左侧)。由于之前用的linkcloud云主机业务与阿里云合并,商务那边通知到期后只能迁移到阿里云上,正好他们家的内核版本过低,无法满足docker需要,于是尽早开始了迁移计划。

  首先是转移备案,阿里的备案系统还是蛮方便的,后台填完资料,寄送幕布,都很快,最后审核了一周多点也就过了。收到邮件后立刻新开了主机,配置环境。这里还有个小插曲,备案前其实就买了一个,后来觉得配置太高了,于是又退了。事实证明,阿里的单核顶linkcloud双核。

  迁移并不复杂,无非是安装新环境,打包,传输,解压,运行,验证。这里简单做下笔记,以备不时之需。

1. 磁盘挂载
  买了新主机,自然是先挂载好数据盘,阿里的帮助中心已经写的很清楚了。我选配了100g的普通云盘,挂在点位于/dev/xvdb,将用ext4格式化。fdisk -l可以看到一个xvdb磁盘未包含任何分区信息,用fdisk /dev/xvdb对磁盘进行分区,再次使用fdisk -l可以看到/dev/xvdb1出现,用mkfs.ext4 /dev/xvdb1进行格式化。

配置到fstab以便开机自动挂载

echo '/dev/xvdb1 /mnt/vdb1 ext4 defaults 0 0' >> /etc/fstab

此时可以重启下验证是否成功df -h

/dev/xvdb1       99G   60M   94G   1% /mnt

2. nginx
  使用apt-get安装,同步旧服务器的conf.d/*配置文件,Jenkins密码文件,SSL证书。删除默认站点sites-available和sites-enabled目录下的default。nginx推荐做法是将站点配置(Virtual Host)文件放在sites-available下,在sites-enabled下建立到available的连接,可以方便的启用和禁用。我这里简单处理全放在了conf.d下。

关闭nginx版本显示和post大小限制:

vim /etc/nginx/nginx.conf
server_tokens off;
client_max_body_size 20M;

配置完重启nginx进程,检测是否有误

3. mysql
  使用apt-get安装,同步旧服务器conf,授权远程登录,修改root密码:

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "newpassword";
GRANT ALL PRIVILEGES ON *.* TO root@“127.0.0.1" IDENTIFIED BY "newpassword";
GRANT ALL PRIVILEGES ON *.* TO root@"localhost" IDENTIFIED BY "newpassword";
flush privileges;

导出旧服务器上的db,p参数表示待输入密码

mysqldump -p db_name > db_name.sql

复制到新机器上登录mysql后用以下命令导入

source /root/db_name.sql;

若数据量不大,可以用GUI工具转移,例如Navicat的数据传输功能

4. redis
  下载源代码&编译安装

wget http://download.redis.io/releases/redis-3.0.6.tar.gz
tar xf redis-3.0.6.tar.gz
cd redis-3.0.6/
make
make install

安装为服务,自启动

cd utils
./install_server.sh

为了安全起见,redis仅监听来自本机的请求,设置bind 127.0.0.1,并设置密码requirepass。再修改启动脚本,增加密码(若设置了密码,必须要如下操作,否则无法正常重启redis)

vim /etc/init.d/redis_6379
定义变量:
PASS="pass"
在stop方法中增加-a参数
$CLIEXEC -p $REDISPORT -a $PASS shutdown

迁移redis数据,在旧机器上登录redis-cli,使用save指令将内存数据保存到/var/lib/redis/dump.rdb中,再scp到新机器对应的目录上,重启即可。

5. java,maven,jenkins,tomcat
  官方JDK最新已经是8u65了,直接用最新的,不得不说Oracle也是个坑货,下载个jdk还要验证一下,导致直接wget链接会失败的。这里加一个cookie就好了:

wget --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie;" http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz

下载放在/usr/java 目录中
tar xf 解压到/usr/java/jdk1.8.0_66

设置环境变量:

# set maven home
export MAVEN_HOME=/usr/local/apache-maven-3.3.3
export PATH=$MAVEN_HOME/bin:$PATH

# set java home
export JAVA_HOME=/usr/java/jdk1.8.0_66
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

# set jenkins home
export JENKINS_HOME=/mnt/vdb1/.jenkins

将旧机器的相关目录打包scp过来即可

6. fastdfs
  Fastdfs安装可以参考我之前的文章,这里简单带过。先安装libfastcommon和做好链接,同步旧服务器配置文件和照片数据目录,设置为服务自动启动:

update-rc.d fdfs_trackerd defaults 90
update-rc.d fdfs_storaged defaults 95

7. php和wordpress
  apt-get安装php5-fpm和php5-mysql,复制wordpress目录。新版本的fpm默认没有监听9000端口,而是采用unix sock来连接,因此nginx站点配置中修改下

fastcgi_pass unix:/var/run/php5-fpm.sock;

  最后再检查各个项目是否正常,接口是否能调用成功,再到dnspod中将各域名A纪录指向阿里云的新IP,保证平滑迁移,至此就算完成了。

灯光博物馆

  得知海山世界近期弄了个国际灯光节,也给本来就很赞的夜景更添几许华丽。作为光影爱好者,自然不能错过,吃过晚餐,带上EOS M3便去瞧了下,顺便叫上朋友叙叙旧。不过户外的展出是在少的可怜,不细看都没发现新设的灯光摆放在那。

  当然既然是用上了“国际”两个字的主题,怎能少的了从国外重金搬过来的展品,这不都圈起来放在了海上世界B区桥下的展厅,没错就是要收费,祭出了即将到期的深大学生证半价进去看了一圈。挺好使的,考虑还是别申请毕业了,再多玩玩~~

  接下来就是剧透了,里面一共就7幅作品,说实话第一眼却是觉得无聊,弄几个霓虹灯,几何图形就来糊弄人。后来多次观察与解说的攀谈中才知会,原来重点是在这些作品的表现形式,均带有起源性和里程碑意义,不然怎么叫灯光博物馆呢。

  James Turrell的三幅全息作品,最为印象深刻,大概是科因为幻情节吧,一听到全息这两个词就已经激动不已了。不同观察角度有不同的效果,仿佛是在一个有限的平面上孕育着无限的信息。比如蓝色的这幅,正面看是蓝色的一条斜线,在向右移动时候,线段会逐渐拉伸成为一个面,这幅作品仅在自然光下便可观测到。
IMG_3671
  中间黄色这幅起初并没有发现任何内容,原来是要低角度才能看得到,里面是一个金黄色的直角三角体,左右移动均能明显看到三角体的左右两侧,随着视野而变化。上下角度的改变也会出现以绿色为主渐变效果,当然我更愿意相信是光源在介质中折射时碰到临界值处失真的表现。
IMG_3665
  第三幅是镇馆之宝了,造价也是不菲。两个三角形呈一定角度,再用一个三角形从中间插入,最重要的是这些都是立体的,向外凸出,仿佛就在眼前,裸眼3D来着。在头顶的一个渐变光照射下格外清晰,立体感非常强烈,可惜照片没办法捕捉。
IMG_3664
  目前看到的全息作品都是一些简单的几何图形,要是有更为复杂的自然场景那会是如何?或者将摄影照片全息化又会是如何?不可思议,妙不可言,期待。剩下几个作品就不做介绍了,叙述的故事大过于表现形势,一言难尽。

一些扩展连接:
http://www.seaworldchina.com/news.aspx?id=10000611&page=7
http://jamesturrell.com/work/type/holograms/
https://zh.wikipedia.org/wiki/%E5%85%A8%E6%81%AF%E6%91%84%E5%BD%B1