天天看點

Tomcat manager及host-manager的配置及應用

作者:運維木子李

#暑期創作大賽#

Tomcat manager及host-manager的配置及應用

manager和host-manager是Apache Tomcat的兩個管理應用程式,用于管理和配置Tomcat伺服器。

配置manager和host-manager應用的步驟:

1)打開Tomcat的安裝目錄,進入conf目錄。

2)打開tomcat-users.xml檔案,在檔案中找到注釋掉的示例使用者配置部分。

3)将注釋去掉,并根據需要添加或修改使用者和角色資訊。例如,可以添加一個具有manager-gui和manager-script角色的使用者。

示例配置如下:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script"/>           

4)儲存并關閉tomcat-users.xml檔案。

應用manager和host-manager的步驟:

1)啟動Tomcat伺服器。

2)在浏覽器中輸入http://localhost:8080/manager或http://localhost:8080/host-manager,打開相應的管理應用程式。

3)輸入在tomcat-users.xml檔案中配置的使用者名和密碼,登入管理應用程式。

4)在manager應用中,可以檢視目前運作的應用程式、啟動/停止/重新啟動應用程式、部署新的應用程式等。

5)在host-manager應用中,可以添加/删除/修改虛拟主機,為虛拟主機添加/删除/修改上下文等。

通過配置和使用manager和host-manager應用,您可以更友善地管理和配置Tomcat伺服器。

應用示例:

當涉及到manager和host-manager的配置和應用時,以下是5個示例代碼,每個示例代碼都有注釋說明其功能。

示例1:在tomcat-users.xml中建立一個具有manager-gui角色的使用者

<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>           

這段代碼在tomcat-users.xml檔案中建立了一個名為"admin"的使用者,密碼為"admin",并賦予了manager-gui角色。

示例2:在manager應用中檢視目前運作的應用程式

import java.net.URL;
import java.net.URLConnection;

public class ManagerExample {
    public static void main(String[] args) throws Exception {
        String url = "http://localhost:8080/manager/text/list";
        URLConnection connection = new URL(url).openConnection();
        connection.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("admin:admin".getBytes()));
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        }
    }
}           

此示例示範了如何使用Java代碼通過HTTP請求通路Tomcat的manager應用程式,并列出目前運作的應用程式。

示例3:使用manager應用程式部署一個WAR檔案

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class ManagerExample {
    public static void main(String[] args) throws Exception {
        String url = "http://localhost:8080/manager/text/deploy?path=/myapp&update=true";
        URLConnection connection = new URL(url).openConnection();
        connection.setDoOutput(true);
        connection.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("admin:admin".getBytes()));
        connection.setRequestProperty("Content-Type", "application/octet-stream");
        try (InputStream inputStream = new FileInputStream(new File("myapp.war"));
             OutputStream outputStream = connection.getOutputStream()) {
            byte[] buffer = new byte[4096];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
        }
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        }
    }
}           

此示例示範了如何使用Java代碼通過HTTP請求通路Tomcat的manager應用程式,并部署一個名為"myapp"的WAR檔案。

示例4:在host-manager應用中添加一個虛拟主機

import java.net.URL;
import java.net.URLConnection;

public class HostManagerExample {
    public static void main(String[] args) throws Exception {
        String url = "http://localhost:8080/host-manager/text/add?host=myhost&appBase=/path/to/apps";
        URLConnection connection = new URL(url).openConnection();
        connection.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("admin:admin".getBytes()));
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        }
    }
}           

此示例示範了如何使用Java代碼通過HTTP請求通路Tomcat的host-manager應用程式,并添加一個名為"myhost"的虛拟主機。

示例5:在host-manager應用中為虛拟主機添加一個上下文

import java.net.URL;
import java.net.URLConnection;

public class HostManagerExample {
    public static void main(String[] args) throws Exception {
        String url = "http://localhost:8080/host-manager/text/add?host=myhost&context=/myapp&docBase=/path/to/myapp";
        URLConnection connection = new URL(url).openConnection();
        connection.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("admin:admin".getBytes()));
        try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        }
    }
}           

此示例示範了如何使用Java代碼通過HTTP請求通路Tomcat的host-manager應用程式,并為名為"myhost"的虛拟主機添加一個名為"myapp"的上下文。

上一篇: vs2010學習
下一篇: VS2010安裝CUDA

繼續閱讀