前提
有一臺裝有Ubuntu系統的伺服器和一個可以部署的War包
安裝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
安裝Java軟鏈
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-13/bin/java" 0
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/jdk-13/bin/javac" 0
sudo update-alternatives --set java /usr/java/jdk-13/bin/java
sudo update-alternatives --set javac /usr/java/jdk-13/bin/javac
其中jdk-13
是上一步解壓後的資料夾名,根據實際版本做替換
驗證Java軟鏈
update-alternatives --list java
update-alternatives --list javac
應該可以輸出配置的路徑
修改環境變數
sudo nano /etc/environment
在PATH變數後追加
:/usr/java/jdk-13/bin
新增變數
JAVA_HOME="/usr/java/jdk-13"
Control+X儲存退出,編輯後檔案類似於如下:
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
安裝Jetty
進入https://www.eclipse.org/jetty/download.html 複製下載地址
建立資料夾
sudo mkdir /usr/jetty
cd /usr/jetty
下載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
上傳War包
如果有許可權可以直接使用rz命令上傳
進入wabapps資料夾
cd /usr/jetty/jetty-distribution-9.4.21.v20190926/webapps/
rz
當然也可以使用如下指令將本地檔案複製到伺服器臨時目錄
scp ~/project.war username@hostname:/tmp
其中username
為使用者名稱,hostname
為伺服器外網地址
然後複製到webapps目錄
sudo mv /tmp/project.war /usr/jetty/jetty-distribution-9.4.21.v20190926/webapps/
啟動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,如當前有project.war,則可新增project.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/project.war</Set>
</Configure>
完成
參考連結
https://www.javahelps.com/2019/04/install-latest-oracle-jdk-on-linux.html
https://www.cnblogs.com/freeweb/p/5942972.html