在 Debian 服務器上安裝和配置 Apache Tomcat 的方法

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站。

介紹


Apache Tomcat 是一個應用服務器,可用于向 web 用戶提供 Java 應用程序。它是由 Sun Microsystems 開發的 Java Servlet 和 JavaServer Pages 規范的開放實現。

如果您開發 Java 應用程序,Tomcat 是一種快速簡便的方式,可在專門為此目的設計的完整服務器環境中提供服務。

在本指南中,我們將在 Debian 7 VPS 上安裝 Tomcat 并進行一些基本配置。要完成本教程,您需要具有具有 sudo 特權的普通用戶。請按照本指南學習如何在 Debian 系統上創建用戶。

安裝 Apache Tomcat


在本指南中,我們將安裝 Tomcat 7 版本及其相關軟件包。幸運的是,這些都包含在默認的 Debian 軟件倉庫中。

要獲取基本軟件包,我們可以更新軟件源列表,然后安裝主要軟件包:

sudo apt-get update
sudo apt-get install tomcat7

這就是我們需要做的一切,就可以訪問默認的 Tomcat 頁面了。我們的安裝還沒有完成,但您可以通過在 web 瀏覽器中輸入您的 IP 地址或域名后跟 :8080 來查看默認的 Tomcat 頁面:

your_domain_or_ip:8080

!DigitalOcean Tomcat 默認頁面

為了充分利用 Tomcat 的更多功能,我們將安裝一些額外的 Tomcat 軟件包。

這些軟件包將允許我們使用 web 界面來控制 Tomcat。它還將安裝一些文檔和示例,我們也可以通過 web 界面訪問這些內容。

sudo apt-get install tomcat7-admin tomcat7-examples tomcat7-docs

安裝 Java 開發工具


為了在服務器上使用 Tomcat 開發 Java 應用程序,您需要下載并安裝一些東西。

我們需要做的第一件事是安裝兼容的 Java 開發工具包。我們可以使用以下命令安裝 Debian 默認選擇的一個:

sudo apt-get install default-jdk

這將安裝 openjdk-6-jdk,它將在我們的環境中很好地工作。

Tomcat 文檔還建議您安裝 Apache Ant,這是一個用于 Java 應用程序的構建工具,以及某種版本控制系統。我們將選擇 git:

sudo apt-get install ant git

這些將幫助您構建您的 Java 應用程序并保持代碼組織良好。

配置 Tomcat Web 界面


在我們開始使用安裝的一些功能之前,我們需要為我們的服務器配置用戶和密碼。出于安全原因,Tomcat 默認情況下不會執行此操作。

配置非常簡單。我們需要編輯一個名為 tomcat-users.xml 的文件。使用以下命令打開它:

sudo nano /etc/tomcat7/tomcat-users.xml

在文件中,您將找到一個被大量注釋的用戶配置文件。事實上,文件中不是注釋的部分只有:

<tomcat-users>
</tomcat-users>

正如您可能期望的那樣,我們需要在這兩行之間定義一個用戶。我們將為此用戶提供訪問 web 界面的權限。我們可以像這樣定義一個用戶:

<tomcat-users><user username="<span class="highlight">admin</span>" password="<span class="highlight">password</span>" roles="manager-gui,admin-gui"/>
</tomcat-users>

選擇任何您喜歡的用戶名和密碼。這將為您提供登錄憑據,使您能夠訪問管理面板。

完成后保存并關閉文件。

我們應該重新啟動 Tomcat 以實施我們的更改:

sudo service tomcat7 restart

測試 Web 界面


安裝了 Tomcat 并配置了用戶登錄后,您可以通過在服務器 IP 地址或域名后跟 :8080 來訪問主頁:

your_domain_or_ip:8080

您將看到與之前相同的默認 Tomcat 頁面(如果您進行了檢查):

!DigitalOcean Tomcat 登陸頁

然而,由于我們安裝并配置了更多組件,我們將可以訪問更多功能。

您可以通過單擊頁面上看到的鏈接或訪問以下頁面在瀏覽器中訪問 Tomcat 文檔:

your_domain_or_ip:8080/docs

!DigitalOcean Tomcat 文檔

當您對如何在 Tomcat 中執行某些操作有疑問時,這應該是您的首選。

我們現在還可以訪問一些使用幾種不同技術實現的示例應用程序。這些可以通過初始登陸頁面上的鏈接或訪問以下頁面來訪問:

your_domain_or_ip:8080/examples

!DigitalOcean Tomcat 示例

單擊這些項目可以讓我們了解如何在這個環境中實現不同的功能。大多數示例包括您可以用作參考的源代碼。

您將希望訪問的主要功能是管理 web 應用程序主機管理 web 應用程序

同樣,您可以從初始登陸頁面訪問這些,或者通過訪問以下頁面:

your_domain_or_ip:8080/manager/html

和:

your_domain_or_ip:8080/host-manager/html

第一個站點將允許您管理您的 Java 應用程序。它將讓您輕松地啟動、停止、部署和重新加載您的應用程序。它還可以找到由正在運行的應用程序引起的內存泄漏:

!DigitalOcean Tomcat 管理 web 應用程序

從另一個頁面,您可以測試、調整和添加虛擬主機,以便輕松地為您的部署應用程序設置訪問:

!DigitalOcean Tomcat 主機管理 web 應用程序

結論


正如你所看到的,Tomcat為在Web環境中控制和提供Java應用程序提供了一個良好的平臺。您可以輕松部署.war文件,并在很短的時間內使其運行起來。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/35316.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/35316.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/35316.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

詳解SpringSecurity中的Filter Chain

在Spring Security中&#xff0c;Filter Chain&#xff08;過濾器鏈&#xff09;是實現請求安全控制的核心。Spring Security的安全框架是建立在Servlet過濾器的基礎上的&#xff0c;通過一系列過濾器來實現不同的安全特性&#xff0c;如認證、授權等。 什么是Filter Chain F…

正版軟件 | 『閃點清單』— 您的智能懸浮任務管理專家

在繁忙的日常中&#xff0c;我們經常需要一個既能隨時提醒&#xff0c;又不會打擾我們的待辦事項管理工具。『閃點清單』&#xff0c;一款簡約而不簡單的懸浮清單軟件&#xff0c;為您帶來全新的任務管理體驗。 設計簡約&#xff0c;功能強大 『閃點清單』以其簡約的設計和強大…

CVPR講座總結(二)-探索圖像生成基礎模型的最新進展探索多模態代理的最新進展:從視頻理解到可操作代理

引言 在CVPR24上的教程中&#xff0c;微軟高級研究員Linjie Li為我們帶來了多模態代理的深入探索。這些代理通過整合多模態專家和大語言模型&#xff08;LLM&#xff09;來增強感知、理解和生成能力。本文總結了Linjie Li的講座內容&#xff0c;重點介紹了多模態記憶、可操作代…

供應鏈攻擊是什么?

隨著企業對技術和連接性的依賴日益增加&#xff0c;以及對第三方的普遍依賴&#xff0c;供應鏈攻擊變得越來越普遍。這些攻擊旨在通過供應商和商業伙伴損害企業。 供應鏈攻擊可能對企業和組織構成重大威脅&#xff0c;因為它們可能危及它們的安全以及向客戶提供的產品和服務的…

GPT-5或于一年半后發布?淺談智能的飛躍與未來

一、前言 IT之家6月22日消息&#xff0c;在美國達特茅斯工程學院周四公布的采訪中&#xff0c;OpenAI首席技術官米拉穆拉蒂被問及GPT-5是否會在明年發布&#xff0c;給出了肯定答案并表示將在一年半后發布。 技術的風暴從未停止&#xff0c;人工智能作為這場風暴中的旋風&…

ant-design-vue:Button的樣式不是藍色

ant-design-vue中a-button&#xff0c;設置的樣式是“primary”。但不是藍色。 解決方法&#xff1a;重新自定義樣式 參考鏈接&#xff1a; https://www.jianshu.com/p/0b2fde46c761 HTML&#xff1a; <a-buttonclass"c-button-primary"type"primary&quo…

《昇思25天學習打卡營第2天 | 張量 Tensor》

《昇思25天學習打卡營第2天 | 張量 Tensor》 《昇思25天學習打卡營第2天 | 張量 Tensor》 《昇思25天學習打卡營第2天 | 張量 Tensor》什么是張量&#xff08;Tensor&#xff09;張量的創建方式根據數據直接生成從NumPy數組生成使用init初始化器構造張量繼承另一個張量的屬性&a…

unity 導入的模型設置講解

咱們先講Model這一欄 Model Scene&#xff1a;場景級屬性&#xff0c;例如是否導入燈光和照相機&#xff0c;以及使用什么比例因子。 Scale Factor&#xff1a;縮放因子&#xff08;也就是模型導入后大小如果小了或者大了在這里直接改是相當于該模型的大小的&#xff0c;而且在…

瀏覽器擴展V3開發系列之 chrome.runtime 的用法和案例

【作者主頁】&#xff1a;小魚神1024 【擅長領域】&#xff1a;JS逆向、小程序逆向、AST還原、驗證碼突防、Python開發、瀏覽器插件開發、React前端開發、NestJS后端開發等等 chrome.runtime API 提供了一系列的方法和事件&#xff0c;可以通過它來管理和維護 Chrome 擴展的生命…

讓GNSSRTK不再難【第14講-第二部分】

14.1.2 多個系統多個頻率 在 10.3 節中,我們介紹了衛星碼偏差產生原因,信號發出的是天線相位中心,而不是信號發生器。同樣的,對于接收機也存在相同的問題,即從模擬機的天線相位中心到內部信號跟蹤環路這段的時延我們是無法知曉的。 如果多個系統僅僅使用一個地點進行定位…

什么!你還不會Redis?跟著我講透Redis【上篇之初識與安裝】

1 NoSQL是什么 1.1 NoSQL數據庫概述 NoSQL(NoSQL Not Only SQL )&#xff0c;意即”不僅僅是SQL“&#xff0c;泛指非關系型的數據庫。 NoSQL 不依賴業務邏輯方式存儲&#xff0c;而以簡單的key-value模式存儲。因此大大的增加了數據庫的擴展能力。 不遵循SQL標準。不支持A…

PKG打包sqlite3項目,如何添加node_sqlite3.node依賴

項目地址&#xff1a;https://github.com/helson-lin/pkg_sqlite 在ffandown項目內&#xff0c;由于項目使用了sqlite3&#xff0c;在跨平臺打包的時候&#xff0c;除了本機外其他平臺打包之后運行缺少node_sqlite3.node依賴。 為了解決問題&#xff0c;百度了很久&#xff0c…

構建RESTful API:PHP框架中的實踐與策略

隨著Web服務的興起&#xff0c;RESTful API成為前后端分離架構中的關鍵組件。PHP作為一種廣泛使用的服務器端腳本語言&#xff0c;通過各種現代框架提供了構建RESTful API的強大工具和靈活性。本文將詳細介紹如何在PHP框架中實現RESTful API&#xff0c;探討設計原則、實現步驟…

NLP 相關知識

NLP 相關知識 NLPLLMPrompt ChainingLangChain NLP NLP&#xff08;Natuarl Language Processing&#xff09;是人工智能的一個分支&#xff0c;中文名自然語言處理&#xff0c;專注于處理和理解人類使用的自然語言。它涵蓋了多個子領域&#xff0c;如文本分類、情感分析、機器…

思維導圖麒麟liunx系統

系統管理與計劃任 ” 使用at命令提交任務。 6.2.1 at任務概述 6.1.4 定時任務的使用場景 at任務是指使用at命令安排的&#xff0c;只執行一次的任務它允許用戶指定在未來某個特定時間執行命令或腳本定時更新系統軟件包。定時清理系統臨時文件。自動備份文件和數據庫。 at:用于一…

pytorch 源碼閱讀(2)——torch._dynamo.optimize

0 torch._dynamo.optimize(backend, *, nopython, guard_export_fn, guard_fail_fn, disable, dynamic)&#xff0c;TorchDynamo 的主入口點 1 參數說明 backend&#xff0c;一般有兩種情況&#xff1a; 一個包含 torch.fx.GraphModule 和 example_inputs&#xff0c;返回一個…

【websocket】websocket網課視頻記錄

僅個人方便回顧。 【WebSocket入門與案例實戰-嗶哩嗶哩】 https://b23.tv/2p1f9t2 課程對應代碼倉庫: https://gitee.com/duoli-java/websocket-demo.git

C++編程(二)引用

文章目錄 一、C中的引用&#xff08;一&#xff09;引用1. 語法格式2. 作用3. 注意事項 &#xff08;二&#xff09;常引用2. 其他場景 &#xff08;三&#xff09;引用和函數結合使用1. 引用可以作為函數的參數2. 引用可以作為函數的返回值 &#xff08;四&#xff09;引用和指…

在 C/C++ 中使用 popen去執行linux命令樣例,失敗場景

在 C/C 中使用 popen 函數去執行 Linux 命令是一種常見的方式&#xff0c;但確實存在多種可能導致失敗的場景。以下是一些可能導致 popen 失敗的常見原因和樣例&#xff1a; 命令不存在或路徑錯誤&#xff1a; 如果你嘗試執行的命令不存在于系統的 PATH 環境變量中&#xff0c;…

記因hive配置文件參數運用不當導致 sqoop MySQL導入數據到hive 失敗的案例

sqoop MySQL導入數據到hive報錯 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 64 報錯解釋&#xff1a; 這個錯誤表明Sqoop在嘗試導入數據到Hive時遇到了問題&#xff0c;導致Hive進程異常退出。狀態碼…