clean code

i create stuff

[老博文迁移]推土小记

| Comments

十一这几天留在学校没回家跟胡扬,胡淼,强哥一起“推土”加上写一点新版新闻网的后台,这次来客串写点php。“推土”就是把原来的像17,43,45这几台跑windows的老机器尽量换成linux的,还有几台跑在45上的虚拟机都搬到13,14上。哎,想想之前做的有那么多网站就觉得好累。

今天一天我完成了原来用discuz搭的bbs的迁移,冰岩博客的迁移和华中大知多少的迁移,原先代码都在43上,数据库在17上,都是windows服务器,43上还有ftp服务,17上就什么都没有,dump下来的表都是用百度云上传的==!最后把它们全都放到13上了,整个都是体力劳动啊,后面应该想想一些重复的劳动怎样用脚本来解决掉。

数据库导出与导入

mysqldump -u username -p dbname > name.sql

1
2
3
CREATE DATABASE dbname;
USE dbname;
SOURCE name.sql;

还是相当方便的

scp命令

  • 从本地到服务器,2012是端口,不同服务器不同 scp -P2012 /home/mrzero/test.txt user@example.com:/home/user
  • 从服务器到本地 scp -P2012 user@example.com:/home/user/test.txt /home/mrzero
    scp这个命令还真是不好用,又臭又长还不能tab出文件名,很蛋疼。如果有图形界面的话,还是用filezilla来传文件吧。

ftp下载

我用Python写了一段脚本来下上传的文件,先是在iPython里一点点测试,成功后用scp传到13上的。用到的是ftplib,这是Python的标准库,果然是battery include啊~~

1
2
3
4
5
6
7
8
9
10
from ftplib import FTP

ftp = FTP()
ftp.connect(host="xxxxxxx", port=xxxx)
ftp.login(user="xxxxxx", passwd="xxxxx")

filehandler = open('test.txt', 'wb').write
# ftp.retrbinary('RETR robots.txt', filehandler)
ftp.cwd('chenxiangyu')
ftp.retrbinary('RETR test.txt', filehandler)

感觉写得相当挫,不过能用=。= 后面再改改能加上命令行参数就能在团队里共享,以后部署到服务器上就很欢乐了,现在简直是… 不过在部署和管理方面,shell scripts应该能更自在地工作,后面一空下来就要学学shell scripts啊!

php的部署流程

  • 把代码目录放到/var/www/example.com下
  • 在/etc/nginx/sites-avalible下建配置文件
  • 在/etc/nginx/sites-enabled下建立到avalible目录的软链接 ln -s example.com ../sites-avalible/example.com
  • reload nginx一下,把配置文件更新
  • 对于搬迁服务器来说,还要在dnspod上将域名的指向改掉,并修改数据库配置,等一下下,没bug就可以去玩啦~~~

奥,就是这个样子,明天再在自己电脑上折腾下把nginx配好吧,还要从零入门php和CI框架。哎,十一也过的这么累,不过还是进步很快的就是啦,最后谢谢胡扬大神的悉心指导,bug还要加油才是!

2014-10-4 于博客园

迁移批注:
scp不能tab出文件名是ssh key的问题. 之前部署网站这种重复性的劳动也用脚本解决了一些, 不过说好的运维平台还是没有搭起来, 不知什么时候可以搭起来…

即使现在想想那段每天迁网站调bug的日子还是很痛苦, 三四点睡都是家常便饭了, 最后效果还是不够好, 负载均衡没有搭起来, 单点故障的问题还是没有解决, 数据库依然是本机, 除了我用自己写的脚本部署外大家还是手动复制粘贴nginx配置, 只能说现在还是太弱了, 运维知识不足, 对架构理解也不深, 当时都没能理解胡扬到底要我干啥. 也许到公司实习之后可以改变团队服务器的现状吧, 可那时我还会能抵住更有趣的项目和钱的诱惑回来整团队服务器吗, 我要打上一个大大的问号…

Comments