引言
开发中我们经常需要自己搭建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/工程名/页面名就可以了。