Linux專案更新部署

2021-09-30 06:23:58 字數 2277 閱讀 2656

很少寫技術性的文字了,是自己懶了。現在都是在windows下開發,但是要部署到linux環境中去,對

linux不是很熟,就趁此機會好好學習一下吧。現在有了**管理工具真的是很方便,直接通過svn就可以

將**更新到linux伺服器上,然後直接在上面編譯部署。現在先簡單描述一下更新部署的步驟。

1. 定位到源**目錄    例如:cd  /game/gamesrv/

2. 源**更新: svn update

3. 檢視一下**更新的狀態: svn status

4. 重新編譯: make -f makefile clean all install  (這條命令需要結合makefile檔案來看咯)

5. 停服更新: 寫乙個shell指令碼來做這件事情,如stop.sh,主要是對資料某個表的字段做一下修改,表示

正處於後台更新服務狀態,假設我們有乙個後台操作狀態的表svr_state,有個狀態state,0表示正常,1表示

後台維護,我們可以這樣來寫stop.sh:

mysql -u game -p game -e 'use game; update svr_state set value = 1 where state = 1000';

6. ps -ef | grep game, 通過這條語句來查詢伺服器的執行狀態,看哪些是否關閉了。

7. 重新啟動這些伺服器,服務比較多的話,需要寫了乙個指令碼來執行,(後面有空時候好好研究一下這個簡單

的指令碼,用perl寫比較簡單)。

linux下的編譯與windows下差異太大,編譯c++**需要自己寫好makefile檔案,假如我們有以下的源**

game.h game.cpp gamemgr.h gamemgr.cpp player.h player.cpp。

下面來看我們的makefile檔案,我們的makefile檔案也要模組清楚,這樣才能讓人看起來清晰易懂:

#---------------------------------------------project------------------------------------

project = game

version = 1.0

home = ..

#----------------------------------------------bin-----------------------------------------

link = $(project).bin

target = $(project).($version).bin

#-----------------------------------------------header------------------------------------

headers = $(project)*.h

#-----------------------------------------------config--------------------------------------

cc = g++

cflags = -w -i /usr/include/mysql -dnireus_linux -dnireus_server -dnireus_use_mysql

-dndebug _d_errlog

flags = -l.  -l$(home)/bin -l/usr/lib/mysql  -lmysqlclient -lpthread -lcurl

objs = /

game.o/

gamemgr.o/

player.o/

#-----------------------------------------------compile-------------------------------------

%.o : .cpp

$(cc) -c (cflags) $ < -o $@

all : bin

bin : $(target)

$(target):$(objs)

$(cc) -o $(target)$(objs)$(cflags)

install : $(target)

@cp $(target) $(home)/bin/

@in -s $(home)/bin/(target)

$(home)/bin/$(link)

clean:  @rm -f $(objs)

@rm -f $(target)

@rm -f $(home)/bin/(target)

@rm -f $(home)/bin/$(link)

Linux遠端部署專案

tar xvf apache tomcat 8.5.38.tar.gz tar代表檔案格式 v代表全過程,x代表解出,f檔名稱。輸入檔案前幾個字母後,使用tab快捷鍵可自動補全這個檔案 檢視是否解壓成功 命令 ll 會發現多了乙個同名的解出檔案apache tomcat 8.5.38,這時候可以將該...

linux 部署django專案

1.安裝python直譯器 跳轉 2.安裝mysql 跳轉 3.建立資料庫並匯入資料 匯出 mysqldump u root p test test sql 匯入 mysql uroot p test test sql4.建立虛擬環境 跳轉 5.上傳django專案 到linux伺服器 6.解決專案...

Linux 部署Vue專案

假設你這邊已經寫好了乙個vue的專案,並且本地執行也是沒有問題的,現在我們就可以部署到伺服器上了,我們使用nginx進行部署 nginx 是乙個高效能的 web 和反向 伺服器,它具有有很多非常優越的特性 作為 web 伺服器 相比 apache,nginx 使用更少的資源,支援更多的併發連線,體現...