CppCMS程式自動安裝

來源:互聯網
上載者:User

和前面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。這裡省略。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.