您的位置:首頁>正文

月薪5k的運維工程師必備技能,從軟體發佈到最終上線的詳細教程

上個專案開發完成後, 我被調離了原來的專案組, 趁著這幾天有一些比較閒暇的時間就來惡補了一些運維方面的知識。 從事軟體發展的這幾年, 自己一直走在開發的第一線, 不停的需求分析然後開發測試, 如此反復迴圈, 從不間斷。 由於公司的規模比較大, 開發人員與運維人員是完全分開的, 自己以前從來沒有弄過運維, 這幾天突然心血來潮想自己來試著運維一個項目。 一方面由於網上的各種資料不是很全而且很雜很亂, 這給一些新手們成功運維帶來了很大的困難, 同時也是出於自己學習的目的吧,

所以整理了這篇文章。 希望能給小夥伴們帶來一些微不足道的經驗, 不足之處還請多多包涵!

前期準備

接著通過控制台這裡進入遠端連接, 在這裡連接到Linux伺服器, 對伺服器進行一系列的配置。 由於需要上線的是一個java系統, 所以需要安裝jdk、tomcat、mysql等各種伺服器端軟體, 後臺沒有圖形化介面, 安裝這些軟體一定要細心。 初次登錄時需要記住一個遠端臨時登錄密碼, 這個需要記住, 當然也可以修改。

中期配置

1、安裝jdk, 伺服器遠端連接成功後, 進入後臺。

a、查看有無安裝jdk命令:#Java -version

b、查看yum庫是否有java安裝包,

命令:yum -y list java*

c、安裝JDK7 命令:yum -y install java-1.7.0-openjdk*

d、查看安裝成功的JDK 命令:java -version

2、安裝tomcat

a、通過wget下載tomcat, 注意下載前一定要檢查版本是否已經更新並更換, 否則會出現下載失敗。

b、解壓tomcat, 在根目錄下的下載一般會預設存放在/usr/local目錄下。 進入此目錄解壓壓縮包, 命令:tar -zxvf apache-tomcat-8.0.45.tar.gz

c、向外暴露8080埠。

具體步驟如下:

CentOS 7.0默認使用的是firewall作為防火牆, 這裡改為iptables防火牆。

(1)、關閉firewall:

systemctl stop firewalld.service

systemctl disable firewalld.service

systemctl mask firewalld.service

(2)、安裝iptables防火牆

yum install iptables-services -y

(3).啟動設置防火牆

# systemctl enable iptables

# systemctl start iptables

(4).查看防火牆狀態

systemctl status iptables

(5).編輯防火牆, 增加埠

vi /etc/sysconfig/iptables #編輯防火牆設定檔

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

:wq! #保存退出

(6).重啟配置, 重啟系統

systemctl restart iptables.service #重啟防火牆使配置生效

systemctl enable iptables.service #設置防火牆開機啟動

(7)將外網80埠的請求全部轉發至8080.命令:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

d、進入阿裡後臺, 添加安全性群組規則。 也就是在這裡開放一些埠, 使得程式可以與伺服器進行通信。

e、進入解壓後tomcat下的bin目錄下, 啟動服務。 命令:./startup.sh

f、測試tomcat服務。 打開流覽器, 輸入你的 CentOS 的位址+埠8080(默認埠), 就可以看到這個頁面了, 說明你已安裝並啟動完成。

3、安裝mysql資料庫

a、安裝下面兩個檔, 由於mysql-server不在CentOS包中, 需要另外進行安裝

#yum install mysql

#yum install mysql-devel

b、安裝mysql-server

(1)、下載下載mysql的repo源。

(2)安裝mysql-community-release-el7-5.noarch.rpm包。

(3)安裝mysql-server 命令:yum install mysql-server

(4)安裝完成後, 啟動服務。 命令:service mysqld restart

(5)重置密碼。 命令如下:

$ mysql -u root

mysql > use mysql;

mysql > update user set password=password(‘123456‘) where user=‘root‘;

mysql > exit;

(6)在iptables添加3306埠, 重啟防火牆service iptables restart, 並且在阿裡後臺設置安全性群組規則。

(7)把在所有資料庫的所有表的所有權限賦值給位於所有IP地址的root用戶。

mysql> grant all privileges on *.* to root@'%'identified by 'password';

如果是新用戶而不是root, 則要先新建用戶

mysql>create user 'username'@'%' identified by 'password';

(8)重啟mysql服務, 然後通過用戶端在遠端連接。

4、安裝xshell與xftp

由於需要將本地的war包專案上傳到伺服器,所以需要通過這兩個用戶端軟體進行檔的傳輸。Xshell是一款類比終端軟體,用於發送命令使用。Xftp用於上傳下載伺服器檔,二者進行配合使用。具體安裝破解使用教程請自行網上搜索,但需要注意的是一定要打開22埠。由於公司防火牆的原因,公司電腦不能使用22埠,這個問題排查了一天,今天終於找到了原來是這個原因。

在eclipse裡匯出war專案,然後上傳至伺服器的tomcat的webapps下,然後啟動tomcat。新開一個終端視窗查看tomcat日誌,步驟如下:

a、先切換到:cd usr/local/tomcat5/logs

b、tail -f catalina.out

c、這樣運行時就可以即時查看運行日誌了

5、其它事項

在伺服器上修改war包內容:步驟如下

a.在暫存檔案中提取 .war 檔的內容。

$ jar xvf im.war

b.列出 .war 文件的部署描述符。

$ ls -l WEB-INF/web.xml

c.編輯 web.xml 文件。

d.重新裝入.war 檔的內容。

$ jar uvf im.war WEB-INF/web.xml

e、重新部署war項目

後期上線

完成了上面的一系列操作後,然後登陸花生殼後臺,給功能變數名稱添加IP位址映射,注意一定要添加A記錄才可以。注意,在後臺這裡一定不要啟用花生殼,否則功能變數名稱不能成功的映射到線上伺服器的ip位址。最後輸入功能變數名稱與專案位址進行測試,出現專案主頁表示上線成功。

通過兩天的學習,成功的把軟體發展的專案部署到了線上,雖然過程中坎坷挺多的,但收穫也是甚多。花了三小時整理完成了這份筆記,希望可以説明一些走在運維路上的小夥伴們少走一些路,少填一些坑,這才是分享的本質。

4、安裝xshell與xftp

由於需要將本地的war包專案上傳到伺服器,所以需要通過這兩個用戶端軟體進行檔的傳輸。Xshell是一款類比終端軟體,用於發送命令使用。Xftp用於上傳下載伺服器檔,二者進行配合使用。具體安裝破解使用教程請自行網上搜索,但需要注意的是一定要打開22埠。由於公司防火牆的原因,公司電腦不能使用22埠,這個問題排查了一天,今天終於找到了原來是這個原因。

在eclipse裡匯出war專案,然後上傳至伺服器的tomcat的webapps下,然後啟動tomcat。新開一個終端視窗查看tomcat日誌,步驟如下:

a、先切換到:cd usr/local/tomcat5/logs

b、tail -f catalina.out

c、這樣運行時就可以即時查看運行日誌了

5、其它事項

在伺服器上修改war包內容:步驟如下

a.在暫存檔案中提取 .war 檔的內容。

$ jar xvf im.war

b.列出 .war 文件的部署描述符。

$ ls -l WEB-INF/web.xml

c.編輯 web.xml 文件。

d.重新裝入.war 檔的內容。

$ jar uvf im.war WEB-INF/web.xml

e、重新部署war項目

後期上線

完成了上面的一系列操作後,然後登陸花生殼後臺,給功能變數名稱添加IP位址映射,注意一定要添加A記錄才可以。注意,在後臺這裡一定不要啟用花生殼,否則功能變數名稱不能成功的映射到線上伺服器的ip位址。最後輸入功能變數名稱與專案位址進行測試,出現專案主頁表示上線成功。

通過兩天的學習,成功的把軟體發展的專案部署到了線上,雖然過程中坎坷挺多的,但收穫也是甚多。花了三小時整理完成了這份筆記,希望可以説明一些走在運維路上的小夥伴們少走一些路,少填一些坑,這才是分享的本質。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示