CentOS7 下安装Tomcat 远程部署war

1,186 阅读3分钟

引言

开发中我们经常需要自己搭建Linux服务器,并且部署自己开发的web程序。如何从我们的windows机器上部署war文件呢?这篇文章从安装jdk,tomcat开始,到部署都有介绍。只要你有一台安装了CentOS的机器,就可以远程管理部署你的war工程。

1. 安装jdk

  1>查看目前系统的jdk: rpm -qa | grep jdk

  2>查看yum库中有哪些JDK: yum search java|grep jdk

  3>选择要安装的版本的包名,进行安装: yum install java-1.8.0-openjdk.x86_64

  4>也可选择自己要安装的其它版本或最新版本的JDK.注意修改下面配置中的路径。
  
  5>确认是否成功安装 java -version

2.安装tomcat

一般文件安装到/usr/local下
[root@admin local]cd /usr/local

从官网获取最新压缩文件。地址可以自己用浏览器确认。
[root@admin local]wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.73/bin/apache-tomcat-7.0.73.tar.gz
解压缩
[root@admin local]tar -zxv -f apache-tomcat-7.0.73.tar.gz 
启动Tomcat
cd usr/local/tomcat/bin/
./startup.sh
确认Tomcat版本
./catalina.sh version
本地访问,如果返回页面内容,确认启动成功。
curl http://localhost:8080

3.开启SSH连接

3.1. 确保CentOS7安装了 openssh-server

yum list installed | grep openssh-server

这样就是已经安装了。

如果没安装,通过以下命令安装
yum install openssh-server

3.2 修改sshd_config

cd /etc/ssh/
cp sshd_config sshd_config_bk
vi sshd_config

如下图,以下行前的#去掉

  • Port 22
  • ListenAddress 0.0.0.0
  • ListenAddress ::

允许Root登录

  • PermitRootLogin yes

允许用户名密码登录

PasswordAuthentication yes

保存文件,退出

:wq

3.3. 开启ssh

启动服务
service sshd start

检查  sshd  服务是否已经开启
ps -e | grep sshd

重启服务
systemctl restart sshd

3.4. 设置ssh开机启动

systemctl enable sshd

4. 尝试远程连接CentOS

我是使用的Windows端的Teraterm。

远程登录成功。

5. 验证Tomcat访问

访问你的CentOS服务器地址加上端口号,出现以下页面证明可以访问。http://192.168.231.69:8080/

5. 部署war

5.1. 修改context.xml

tomcat8.5管理员默认只能在安装tomcat的机器上访问,如果想在其他机器上访问,则需要进行配置修改。

cd /usr/local/apache-tomcat-9.0.30/webapps/manager/META-INF
vi context.xml

注释掉限制本地机器访问的行。

<Context antiResourceLocking="false" privileged="true" >

<!-- 将这一行注释掉start
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
将这一行注释掉end -->

  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

5.2. 配置登录tomcat的用户名,密码

cd /usr/local/apache-tomcat-9.0.30/conf
vi tomcat-users.xml

文件最后添加以下行

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

5.3. 验证并部署

访问 http://服务器地址:8080/manager/ 能够访问则OK。然后打开上传war文件的对话框,上传war文件完成部署。

但是有一点需要注意,默认上传最大的文件尺寸是50MB,如果超过会出现以下错误。

org.apache.catalina.filters.CSRF_NONCE

解决方法是,/manager/WEB-INF/web.xml中把以下配置注释掉。

<!-- <max-file-size>52428800</max-file-size> -->

6. 尝试访问web程序

访问http://服务器地址:8080/工程名/页面名就可以了。