前提
有一台 Linux 服务器和一个可以部署的 War 包
1. 安装 Java
创建文件夹
sudo mkdir /usr/java
cd /usr/java
进入 https://www.oracle.com/technetwork/java/javase/downloads/index.html 找到需要安装的 JDK 版本下载地址
下载 JDK
sudo wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/13+33/5b8a42f3905b406298b72d750b6919f6/jdk-13_linux-x64_bin.tar.gz
有些版本不支持这种方式下载,所以只能手动下载后再上传到服务器
解压 JDK
sudo tar -xvzf jdk-13_linux-x64_bin.tar.gz
修改环境变量
sudo nano /etc/environment
在 PATH 变量后追加
:/usr/java/jdk-13/bin
新增变量
JAVA_HOME="/usr/java/jdk-13"
编辑后文件类似于如下:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/java/jdk-13/bin"
JAVA_HOME="/usr/java/jdk-13"
验证 Java 版本
重新登录终端
java -version
2. 安装 Jetty
进入 https://www.eclipse.org/jetty/download.html 复制下载地址
下载 Jetty
sudo wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.21.v20190926/jetty-distribution-9.4.21.v20190926.tar.gz
解压 Jetty
sudo tar -xvzf jetty-distribution-9.4.21.v20190926.tar.gz
创建文件夹并移动文件
sudo mkdir /usr/jetty
sudo mv jetty-distribution-9.4.21.v20190926 /usr/jetty/
3. 上传 War 包
如果有权限可以直接使用 rz 命令上传
进入 wabapps 文件夹
cd /usr/jetty/jetty-distribution-9.4.21.v20190926/webapps/
rz
当然也可以使用如下指令将本地文件复制到服务器临时目录
scp ~/file.war martin@hostname:/tmp
其中 hostname 为服务器外网地址
然后复制到 webapps 目录
sudo mv /tmp/weChatRobot.war /usr/jetty/jetty-distribution-9.4.21.v20190926/webapps/
4. 启动 Jetty
编辑 start.ini
sudo vi /usr/jetty/jetty-distribution-9.4.21.v20190926/start.ini
找到 jetty.http.host 和 jetty.http.port,去掉前面的 #号, 如有需要可修改绑定端口
## Connector host/address to bind to
# jetty.http.host=0.0.0.0
## Connector port to listen on
# jetty.http.port=8080
启动 Jetty
sudo /usr/jetty/jetty-distribution-9.4.21.v20190926/bin/jetty.sh start nohup
停止 Jetty
sudo /usr/jetty/jetty-distribution-9.4.21.v20190926/bin/jetty.sh stop
如果只有一个应用想要把根路径绑定到该应用,则可在 webapps 目录下添加应用同名的 xml,如当前有 test.war,则可新增 text.xml 文件, 内容为
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test.war</Set>
</Configure>
完成
参考链接
https://www.javahelps.com/2019/04/install-latest-oracle-jdk-on-linux.html
https://www.cnblogs.com/freeweb/p/5942972.html