前天来青岛出差,准备把做的一部分系统部署在这边。之前想到可能不会很轻松,但是没有想到会折腾两天,现在就剩我一人留守这边部署了,想想都是泪。

昨天上午给这边的领导展示了一下系统,领导表示还是做的太少啦,进度太慢。哎,背后多少辛酸泪。这都不提了,下午就开始准备部署吧。结果,以为是可以直接操作服务器来着,不曾想还要先申请。想使用服务器?申请去吧。但是领导说,怎么来之前不先说。作为一个跟班跑腿的,我心想这合作也太不靠谱了。怎么着也应该找一个即懂业务也懂技术的人来跟我们接头吧,两边的情况怎么着来之前也都相互通知一下吧,这样大老远飞过来不就直接可以干活了吗。结果,一个下午就在等着审批权限。电脑不能连接外网不说,就连插个usb都要申请,给跪啊。一同来的两个博士,下午都有事先撤了,就留我一人在这边守着。我这啥也不懂,就跟着干坐着。等着流程走完。a审批,b审批,然后c审批,再d审批。最后,卡在一个什么战略部长那儿,审核过不去了,就坐着那等着。等啊等,眼看就要下班了,还是没有通过,我就只好灰溜溜地回宾馆了。

之前好几次过来,差不多都是这样。人在,但是干不了什么事。干坐着,而且还不能上网,环境还挺艰苦,椅子坐上去,那叫一个凉。真是浪费时间,浪费生命。想想大企业在某些事情上,确实有其弊端。还是说明一件事,没有一个好领导,很多事情根本进行不下去。作为一个团队,应该分工明确,事情下来,应该安排清楚,而不是出问题了,责怪之前怎么没有沟通。很多无谓浪费的时间,其实都是可以避免的。这样说明了另外一点,领导还是要懂一点技术啊,不然还是不要跟做技术的团队合作;要么就找一个懂技术的人负责,否则简直就是灾难。

第二天还是得继续过来。8点起,好几天没起这么早,困死。吃了早餐,继续过来等着审批,好歹那个什么战略部长总算审批过了。好歹总算是审批下来了,这还只是usb的权限,可以往电脑里拷文件。但是还得申请操作服务器的权限,然后又是一通审批。不过这次有了昨天的经验,这次每次到审批的时候,就给负责审批的人打电话督促一下,这样审批才算挺快下来。但是也到11点左右了。

挺开心,总算可以真正开始部署了。昨天随行的两位博士之一已经有事先走了,今天另一位博士表示明天也有事,下午1点半也要撤了。我当时就哭了,想着赶紧弄完啊,中午饭不吃也要弄完啊。不然我就要一个人待这儿苦逼地部署系统。

服务器是linux的,之前已经有了心理准备,虽然之前对linux的经验几乎没有,但是基本的命令还是懂一些。所幸的是,博士师兄给了我他的无线上网卡,我可以随时上网了,福音!不然我都不知道怎么办,估计就只能拿手机查了#_#…鼓捣了一会,发现一个问题,我这要部署,需要往服务器上传文件啊,我这怎么上传呢?

搞了一会,想着应该不行,还需要开通文件上传权限。我擦,哭了,又要审批。这不是明摆着让我一个人留守在这边的节奏么。流程还得走啊,继续申请,求审批。继续审核,b审核,到c这儿,给c打电话,悲剧,吃饭去了。。。哎,只能等他吃饭回来才能审批了。我还想着中午不吃饭,把这部署好呢,这下好了。只得也去吃饭,下午肯定是回不去了。

赶紧吃完回来,给c打电话。结果,结果被告知还要花一个多小时才能弄好ftp的权限。尼玛,要不要这样。没法啊,只能又坐着等着。不过,现在有了服务器的权限,可以先折腾一下服务器。还好服务器上有oracle,省了不少时间,不然在linux下安装oracle不知道又要花费多少时间。看了一下有没有java,结果发现上面的java版本是1.4。这也忒古老了一点吧。不过后来查了网上的资料,据说这个是redhat自带的?不是很清楚,不过又多了一个任务,还得把他卸载了,安装我准备的jdk 1.7。虽然挺折腾,但是学习了安装和卸载jdk的命令行,很酷。

# 卸载,好像需要root权限
yum remove java

# 安装,很方便
rpm -ivh /usr/jdk-7u71-linux-x64.rpm

jdk安装好之后,接下来折腾了一下数据库。因为需要建数据库和用户,所以又找了一下linux下用sqlplus来实现的方法,见这里,说的很清楚,我就是一边照着这篇博客一边敲命令行的。要是不能上网,真不知道咋弄。不能上网这整天坐着干活有啥意思啊,想想就觉得可怕。

做好这些准备工作之后,其他的就只能等着ftp开通之后继续了。坐着等了一个多小时,中间打了电话催了一次,最后下午3点多的时候,终于发邮件告知已经搞定了ftp。真不知道怎么会要这么久,干什么吃的(其实,对别人应该是还是多一点理解吧,就像领导认为我们做的这么一点东西,怎么会要这么久一样。)然后我就准备开始搞ftp上传文件到服务器。但是,使用这边提供的一个什么云平台(还有一个什么堡垒机的,晕),使用上面的securecrt来登录服务器。我百度了一下,始终不知道怎么通过这个玩意使用ftp。然后实在不知道怎么弄了,给这边的一拨人打电话,被告知他们也不知道,让我找一下负责服务器的运维人员,还有转分机号神马的。一开始还没打通,以为我听错电话了。趁着没打通电话的功夫,又折腾了一下,还是不知道咋回事。使用上面的sftp功能,但是按照网上说的,一直不能成功。有个诡异的问题是,sftp上显示的本地路径下面的文件,和我本地电脑上实际该路径下面的文件并不一样!当时我就傻逼了,这是怎么回事。又给运维人员打电话,这次总算是打通了。跟那边的工程师沟通了一会,跟他说了一阵子。显然对方也对我的问题感到表示诧异,然后跟我说他们可以通过一个什么堡垒机平台,可以使用ftp。让我也登录这个平台,靠,我怎么会知道登录这个平台的用户名和密码!尼玛,看来这边是不能解决问题了,又找云平台那边的人咨询。结果说着说着,我自己都晕了,不知道这个ftp应该怎么弄。这个云平台,只是作为审计的作用,不然用户直接通过自己的电脑登录服务器,而通过这个云平台来管理。所以,这个平台并不会直接管ftp权限什么的。顿时我就不会知道怎么回事了,自己先研究研究吧。

哎,读书少的劣势立马就体现出来了!ftp没有怎么用,所以不是很熟。沟通了这么一阵之后,大致想明白了,应该是服务器上已经开通ftp端口了,现在就需要通过ftp的客户端什么的上传文件就可以了。但是在哪里上传呢?中间还差一点听信了云平台那边的人,让我再申请试用linux的图形界面,然后去操作。还好没有花费时间去折腾这个,想想这个其实是没有什么实际作用的。然后又自己百度,查了一下怎么在windows下面通过ftp上传文件到服务器。结果还真查到了,试了一下竟然登录成功了,可以上传!

#cmd里直接运行,后面直接跟服务器地址
ftp 192.168.1.1

#lcd 设置本地上传路径
lcd c:\

#上传
put data.txt

#下载
get result.log

然后控制台会提示要输入用户名和密码,输入之后,竟然成功了!太激动了。什么非要用堡垒机,现在用这个机器就可以直接上传文件到服务器了,根本不需要通过堡垒机。后来我又发现,其实对方已经把服务器的root权限告诉我了,我也该可以直接用root权限在服务器上开通ftp权限,然后通过本地上传文件,根本不用他们审批,也不需要花费这么久的时间!只能怪自己读书少,不懂,花时间交学费了。

总算是搞定文件上传功能了,现在就可以开始部署系统了。安装了jdk之后,接下来安装tomcat 7。这个网上的资料很多,安装没有太多问题。然后配置了浏览器配置web应用的权限,在conf/tomcat-users.xml配置文件中,添加权限,像下面这样:

<user username="adc" password="123" roles="admin-gui,manager-gui" />

然后就可以通过http://localhost:8080来管理应用的部署和下载等功能,而不必直接登录到linux下面,很方便。

另外一个大头的事情,就是导入数据库文件。linux不熟悉的弊端再一次显露无疑,一开始直接在普通用户或者root用户下面执行impdp的导入功能,结果一直报”command not found”的错误,查询之后才知道,应该要切换到oracle用户下面,才可以执行。

su - oracle

然后,就可以happy地执行impdp语句执行oracle的dmp文件导入了。

# 导出 schemas一般和username相同,orcl是数据库实例名
expdp username/pass@orcl schemas=username dumpfile=db.dmp logfile=db.log

# 导入
impdp username/pass@orcl schemas=username dumpfile=db.dmp logfile=db.log 

这个导入的包括数据库表、索引、存储过程、序列等等数据库所有的东西,导入导出很方便。

数据库搞定之后,系统就可以部署了。等弄好,已经晚上快7点,这边都已经下班了,结果用他们的ie浏览器打开之后,发现样式乱了一些。啊,好伤感!查看了一下ie浏览器的版本,ie8,调了一会,样式还是搞不定。算了,回去吃饭睡觉,明天再说了。

好累,第一次在linux环境下面部署,好费劲。

the end.