如何使用 Ansible 在 Ubuntu 20.04 上安裝 Tomcat

Apache Tomcat 經常被用作 應用服務器 適用於嚴格基於 Web 的應用程序。 它基本上執行 Java servlet 並呈現包含 JSP 編碼的網頁。

在 Tomcat 上手動安裝非常耗時。 使用 Ansible,我們可以輕鬆地自動化安裝過程。

在本教程中,我們將學習如何 安裝TomcatUbuntu 20.04 使用 Ansible.

先決條件:

這裡我們將使用:

  • 1個控制節點 – 我們將在何處安裝和配置 ansible。 從控制節點,我們將啟動 Ansible playbook 來安裝 Tomcat 9。
  • 你需要有一個開放的 SSH 連接 到遠程主機。
  • 一個主機節點 – ansible 將安裝和啟動 Tomcat 9 的位置。
  • 控制節點和主機都有私有IP地址,兩台機器都是Ubuntu 20.04

在 Ubuntu 20.04 上的控制節點上安裝 Ansible

首先,使用標準命令更新您的系統:

$ sudo 適當更新

更新安裝 ansible 後,運行以下命令:

$ sudo apt install ansible -y

要驗證 ansible 的安裝位置和位置,請運行以下命令:

$ which ansible

您應該會看到如下內容:

Ansible 文件系統位置

如果您在 /usr/bin 中列出目錄

$ ls /usr/bin

你會發現 Ansible 安裝的包:

Ansible 安裝包在 /usr/binAnsible 安裝包

要驗證已安裝 Ansible 的版本,請運行以下命令:

$ ansible --version

你會得到這樣的輸出:

ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

正如您所看到的,除了 ansible 版本之外,您還將獲得:

  • ansible 配置文件放在哪裡
  • 在哪裡放置配置的搜索路徑和模塊
  • ansible python模塊位置在哪裡
  • 可執行位置和python版本

主要的配置文件存儲在 /etc/ansible/hosts 文件。

您需要將本地主機或服務器 IP 添加到文件中,或者如果您有私有 IP 地址,則需要添加它。

使用您喜歡的編輯器打開主機文件:

$ sudo nano /etc/anisble/hosts

您將看到主機配置文件,如下所示:

/etc/ansible/hosts 中的 Ansible 主機配置文件 /etc/ansible/hosts

如您所見,有一個部分屬於 #Ex 1 部分,在那裡添加您的遠程主機 IP 地址,而無需 # 表達。

接下來,要驗證您是否擁有具有此 IP 地址的主機,請運行以下命令:

$ sudo ansible all -i hosts --list-hosts

您將獲得主機列表,類似於圖像中的輸出:

Ansible 主機的輸出anisble 主機列表

下一步是將來自 Ansible 控制節點的公共 SSH 密鑰添加到遠程主機。
這一步對於允許 Ansible 在遠程服務器上安裝 Tomcat 至關重要。

通過以下命令生成您的 ssh 密鑰:

$ sudo ssh-keygen

生成密鑰後,您將看到密鑰存儲在哪裡。 對我們來說,現在只有公鑰很重要。

生成 SSH kyps生成的 SSH 密鑰

現在我們需要將公鑰複製到服務器。 請記住,我們這樣做是因為我們需要允許 Ansible 從 Control 節點將 Tomcat 安裝到遠程服務器。

筆記: 僅將公鑰複製到服務器。 絕不能將私鑰複製到另一台機器上。

使用如下命令複製 SSH 密鑰:

$ sudo ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

SSH遠程登錄的user=linoxide和host=IP地址在哪裡。

將密鑰複製到遠程機器後,您需要輸入密碼才能進行遠程 ssh 連接。

現在一切都已準備就緒,可以運行 ansible-playbook。

使用 Ansible 在遠程主機節點上安裝 Tomcat 9

現在去 /etc/ansible 並在那裡創建一個名為 tomcat-setup.yaml. 您可以從 Github 倉庫

—名稱:安裝tomcat服務器hosts:全部變為:true 任務:-名稱:安裝OpenJDK apt:名稱:openjdk-11-jre-headless -名稱:下載tomcat服務器包get_url:url:https://mirrors。 estointernet.in/apache/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz dest: /usr/local – name: 解壓tomcat包解壓: src: /usr/local/ apache-tomcat-9.0.44.tar.gz dest: /usr/local remote_src: yes – 名稱:啟動tomcat服務外殼:nohup /usr/local/apache-tomcat-9.0.44/bin/startup.sh

從 tomcat-setup.yaml 文件中可以看出,有四個任務:

1) 安裝 OpenJDK
2) 下載Tomcat Server 包並放到目標位置。
3) 從源到目標位置提取 Tomcat 包。
4) 借助startup.sh腳本啟動Tomcat服務

使用以下命令啟動 ansible-playbook:

$ sudo ansible-playbook -i hosts tomcat-setup.yaml

你會看到類似這樣的輸出:

Ansible tomcat-setup.yaml 輸出狀態ansible tomcat-setup.yaml 狀態

檢查一切正常後。 轉到您的遠程主機 並驗證是否已安裝 JAVA 並使用以下命令檢查 Tomcat 服務是否正在運行:

$ sudo java -version

輸出:

遠程主機上的 java 版本遠程主機上的 java 版本

並檢查 Tomcat 9 是否已正確下載並使用以下命令啟動:

$ ps -ef | grep tomcat

輸出:

Tomcat服務狀態 遠程主機上的 tomcat 服務狀態

訪問服務器 URL 8080端口 測試Tomcat 9的安裝和配置。

Tomcat 網絡服務器:

https://<domain_or_IP_address>:8080

Tomcat Web 應用程序管理器儀表板:

https://<domain_or_IP_address>:8080/manager/html

Tomcat 虛擬主機管理器儀表板:

https://<domain_or_IP_address>:8080/host-manager/html

您現在應該能夠將您的應用程序部署到在 Ubuntu 20.04 Linux 機器上運行的 Tomcat 9 服務器。

結論

在本教程中,我們學習瞭如何在遠程節點上使用 Ansible 安裝 Tomcat 9。 這是一個 example 如何從控制節點在單個主機節點上安裝 Tomcat 服務器。 使用 Ansible,您可以在任意數量的主機節點上安裝任意數量的 Tomcat 服務器。