CppCMS程序自动安装

来源:互联网 发布:python多进程共享变量 编辑:程序博客网 时间:2024/06/10 05:13

和前面Java程序自动安装思路一样,为什么不自己写个简单的脚本来组装这一切呢。工具当然好,不过了解幕后仍然是必要的,永远站在巨人的肩膀上和不要重复造车轮子这两句话有时候会阻碍优秀的程序员成长。

我的C++网站基于CppCMS库,采用CMake编译,目标部署平台是Ubuntu12.04 server(AMD64bit)。首先,在工程目录下,创建create_deploy.sh脚本。

#!/bin/bashsource ./tool.shremoveFolder buildmkdir buildcd buildcmake ..makecd ..removeFolder deploymkdir deploycp ./build/bin/cppweb ./deploycp ./kmconfig.js ./deploycd ./deploymkdir libscd libscp /usr/lib/libloki.so.0.1.7 ./cp /usr/lib/libmongoclient.so ./cp /usr/lib/libbooster.so.0.0.1 ./cp /usr/lib/libcppcms.so.1.0.2 ./cd ../../cp ./install.sh ./deploycp ./tool.sh ./deploy

注意,此时我的开发机器上已经事先编译安装了cppcms库,mongodb client c++ driver 2.0和loki库。

该脚本的目的是创建deploy目录,并把需要的库放到libs子目录下,并且运行CMake命令编译出网站程序cppweb,然后复制到deploy目录下。

同时,还有两个事先准备好的脚本文件,tool.sh同前文,提供基本通用功能。install.sh是将libs目录下的库安装到目标机器上,并创建相应的链接。

install.sh脚本的内容如下:

#!/bin/bashsource ./tool.shinstallDpkg libboost1.48-all-devinstallDpkg libboost-thread1.48-devinstallDpkg libboost-regex1.48-devinstallDpkg libboost-filesystem1.48-devinstallDpkg libboost_system1.48-dev#installDpkg libace-devinstallDpkg libcrypto++-devcp ./libs/* /usr/lib/createLink /usr/lib/libloki.so.0.1.7 /usr/lib/libloki.socreateLink /usr/lib/libcppcms.so.1.0.2 /usr/lib/libcppcms.so.1createLink /usr/lib/libcppcms.so.1 /usr/lib/libcppcms.socreateLink /usr/lib/libbooster.so.0.0.1 /usr/lib/libbooster.so.0createLink /usr/lib/libbooster.so.0 /usr/lib/libbooster.so

使用方法很简单:

1.调用create_deploy.sh脚本生成deploy目录

2.复制deploy目录到目标机器,运行install.sh脚本

install.sh脚本还可以继续增强,将cppweb程序安装成ubuntu service。这里省略。



原创粉丝点击