1. 程式人生 > >maven部署web專案到遠端伺服器的Tomcat,以及輸入IP地址直接訪問到這個web專案

maven部署web專案到遠端伺服器的Tomcat,以及輸入IP地址直接訪問到這個web專案

遠端伺服器linux下上安裝Tomcat,這裡以Tomcat7為例

a. 解壓Tomcat7(記得先把jdk配置好)

 [root@VM_30_175_centos /]# cd /usr/local/

 [root@VM_30_175_centos local]# tar zxvf apache-tomcat-7.0.73.tar.gz
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

b. 啟動Tomcat

[root@VM_30_175_centos local]# cd /usr/local/tomcat/server/bin

#啟動
[root@VM_30_175_centos bin] # ./startup.sh

#關閉tomcat的命令 ./shutdown.sh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Using CATALINA_BASE: /usr/local/tomcat/server
Using CATALINA_HOME: /usr/local/tomcat/server
Using CATALINA_TEMDIR: /usr/local/tomcat/server/temp
Using JRE_HOME: /usr/java/default
Using CLASS_PATH: /usr/local/tomcat/server/bin/bootstrap.jar:/usr/local/tomcat/server/bin/tomcat-juli.jar
Tomcat started.

c.如果瀏覽器輸入ip不能訪問到遠端伺服器上的tomcat,開啟防火牆,使外部能訪問

[root@VM_30_175_centos local]# /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

[root@VM_30_175_centos local]# service iptables save

[root@VM_30_175_centos local]# service iptables restart
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

或直接修改檔案/etc/sysconfig/iptables.

[root@VM_30_175_centos local]# vim /etc/sysconfig/iptables
#然後新增  -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT 並且儲存退出
[root@VM_30_175_centos local]# service iptables restart
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

maven部署web專案到遠端伺服器的Tomcat

a.在遠端伺服器的Tomcat中的tomcat-users.xml新增配置

因為tomcat7預設情況下沒有配置manager訪問許可權,所以這裡需要在tomcat-users.xml加入使用者以及許可權

[root@VM_30_175_centos bin]# vim /usr/local/apache-tomcat-7.0.73/conf/tomcat-users.xml
  • 1
  • 1

這裡寫圖片描述

<!--如上圖,把這段複製到<tomcat-users>標籤中 -->
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<!-- 這裡的使用者名稱和密碼與下面配置的pom.xml和setting.xml相對應 -->
<user username="admin" password="admin" roles="admin,admin-gui,admin-script,manager-gui,manager-sc
ript,manager-jmx,manager-status"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

重啟tomcat伺服器

b.在maven工程的pom.xml新增配置

工程目錄下的pom.xml檔案,加入build,並配置tomcat7的maven外掛,將下面的程式碼塊複製到pom.xml的<build>標籤中

<plugins>
    <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
            <version>2.2</version>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
                <url>http://139.199.18.107/manager/text</url>
                <username>admin</username>
                <password>admin</password>
                <port>8080</port>
                <path>/${project.artifactId}</path>
        </configuration>
    </plugin>
</plugins>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

這裡寫圖片描述

c.配置maven的setting.xml

為了讓maven可以訪問tomcat的許可權,所以需要把如上建立的使用者新增到settings.xml中,將下面這一段複製到setting.xml的<servers>標籤

    <server>
        <id>tomcat7</id>
        <username>admin</username>
        <password>admin</password>
    </server>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

這裡寫圖片描述

d.部署到遠端伺服器的Tomcat

1.在Eclipse執行Maven build…(右擊專案名,點選Run As,然後點選Maven build)

2.goals填tomcat7:deploy.或tomcat7:redeploy(第一次釋出 tomcat7:deploy,再次釋出 tomcat7:redeploy)

通過遠端伺服器的IP地址直接訪問(熱部署)

1、在tomcat的server.xml中將埠改成80

<Connector port="80" protocol="HTTP/1.1"   
     maxThreads="600"        
     minSpareThreads="100"  
     maxSpareThreads="500"  
     acceptCount="700"  
      connectionTimeout="20000"   
      redirectPort="8443" />  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2、在tomcat的server.xml中在

<Host name="localhost"  appBase="webapps"  
            unpackWARs="true" autoDeploy="true"  
            xmlValidation="false" xmlNamespaceAware="false">  

  </Host>  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

中間加上

<Context path="" docBase="/usr/local/apache-tomcat-7.0.73/webapps/helloaa" debug="0" reloa
dable="true" />
  • 1
  • 2
  • 1
  • 2

OK了,這樣就可以在瀏覽器上輸入ip地址直接訪問到這個專案的index.html,再去買個域名備個案,繫結這個ip就可以了