共計 2729 個字符,預計需要花費 7 分鐘才能閱讀完成。
這篇文章主要介紹“JavaWeb 怎么部署到 Linux 服務器”,在日常操作中,相信很多人在 JavaWeb 怎么部署到 Linux 服務器問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaWeb 怎么部署到 Linux 服務器”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
1. 購買服務器、域名并備案
現在的備案都簡化了好多,直接下載 APP 掃描就能成功備案了。
2. 搭建環境
Centos7.3 云服務器上安裝 Nginx、MySQL、JDK、Tomcat 環境
Centos7.6 安裝 mysql5.5 教程
Cenos7.3 安裝 mysql8.0
Centos8.0 編譯安裝穩定最新版的 nginx
Centos7.3 卸載 Nginx(徹底卸載) 并重新安裝 Nginx(RPM 源 yum 安裝)
如果還有問題請直接百度
3. 項目部署
把要上傳的 java web 項目打包成 war 包上傳到 Tomcat 目錄的 webapps 下,在還沒啟動 Tomcat 之前上傳了項目的 war 包時,是不會被解壓成文件夾的。只要 Tomcat 的 webapp 下的項目有所變動 (增加或刪除),都要重新啟動 Tomcat。
注意:如下命令必須進入到 Tomcat 的 bin 目錄才能執行。如果你配置好了環境變量就可以在任何路徑下執行了。
./startup.sh // 啟動 Tomcat./shutdown.sh // 關閉 Tomcat
上傳到 webapp 下的 war 包會被解析成一個與項目名同名的文件夾,打開里面就是個類似于項目的分層結構,如果你的項目 war 包上傳至 webapp 沒有被解壓成與項目名同名的文件夾,那就是你沒有重新啟動 Tomcat,先執行上面關閉命令再執行啟動命令。
進入解壓后的項目,可以發現,jsp 文件都能在項目的根目錄下看到到,javabean 之類的 java 文件和 lib 目錄、web.xml 或其他配置文件 存在于根目錄下的 WEB-INF 文件夾下,因為 java 代碼會被編譯成 class 文件存放于 classes 文件夾下。
這里特別注意的一點是,如果 java web 項目是需要連接 Linux 服務器上的數據庫的,注意把上傳項目提前改成 Linux 服務器上的 mysql 數據庫的用戶名和密碼再打包成 war 包。或直接在 Linux 下的 Tomcat 編譯好的項目下進入項目路徑更改,完成后保存文件,再關閉 Tomcat 接著啟動 Tomcat。
項目的數據庫文件導入問題
Linux 下的項目數據庫的訪問地址依然不變,如:
url = jdbc:mysql://localhost:3306/ 數據庫名
url = jdbc:mysql://127.0.0.1:3306/ 數據庫名
或
url = jdbc:mysql:// 服務器 IP 地址:3306/ 數據庫名
因為項目上傳至服務器后,說明 localhost 或 127.0.0.1 也是表示服務器本地路徑,當然這里也可以選擇用服務的公網 IP,但一般不建議使用,因為此時的 localhost 或 127.0.0.1 就是表示此時服務器 IP。
本地 Windows 下的 Navicat、SQLyog 或其他數據庫可視化工具連接 Linux 服務器上的 msyql,方便于直接導入項目上的數據庫文件。
本地 mysql 數據庫導入 Linux 服務器上的 mysql 數據庫
首先,先把 Windows 下的數據庫文件導出來并上傳到服務器上,然后再創建好和本地 Windows 下同名的服務器上的數據庫文件
create database 數據庫名
切換到創建好的數據庫中
use 數據庫名
導入數據
source 上傳的數據庫文件路徑.sql
如果不想這么麻煩,也可以直接用 Navicat 鏈接好服務器上的 mysql,直接在 Navicat 上導入即可。
Nginx 反向代理通過域名訪問項目
解析好項目要用的域名,一般是用二級域名作為訪問。
其實可以直接用服務器上的 IP 地址來訪問項目的,不必麻煩使用域名來訪問了。但這種形式不光還要記住域名且還要端口號,部署項目一多,確實有些麻煩,如:
IP:8080IP:8081IP:8082 或
域名;8080
域名:8081 域名:8082
通過反向代理就不需要每次訪問項目還要加上端口號了。
打開 Nginx 的根路徑,切換到 conf/ 下,打開 nginx.conf 文件,在 http 模塊下增加一個 server 模塊
這里 proxy_pass 代理的就是 Tomcat 服務器下的項目,Tomcat 默認的端口號是 8080,這里改為了 8010
server { #監聽的端口號
listen 80; #一級域名或二級域名
server_name sh.yunxdr.top; #默認文檔
index index.jsp index.html index.htm; location / {proxy_pass http://127.0.0.1:8010/ 項目名 /;}
注意:
這里特別注意 的是 proxy_pass 的 IP 地址,127.0.0.1 或 localhost 表示的此時服務器的 IP,切記不可使用服務器的公網 IP,因為通過了域名解析后,使用 IP 來作為代理來通過二級域名是訪問不了的
proxy_pass 這里可以使用。
http://localhost:8010/Tomcat 解析的項目名或
http://127.0.0.1:8010/Tomcat 解析的項目名
為了以后一個 Tomcat 部署一個項目,可以在 Linux 服務器上復制多個 Tomcat,然后通過修改 Tomcat 默認端口號來達到不同的項目名都可以使用二級域名來訪問了。
但也可以在一個 Tomcat 下部署多個項目,此時每次部署新的項目時,以前的項目都會隨著 Tomcat 的啟動或關閉又要被執行一次,非常耗服務的內存和 CPU,會讓服務器變的更卡了。我之前部署項目就是采用了這個方法。
有的時候部署后,也出現訪問不了項目,這是可能是 nginx 沒有識別到默認文件,在代理的項目名后面加上項目的默認訪問路徑,如:
proxy_pass http://127.0.0.1:8010/ 項目名 /index.jsp;
完成 Nginx 配置后,保存并退出,執行重載命令,使剛才的配置的文件生效。
./nginx -s reload
此時的執行必須切換到 nginx 的 bin 目錄下執行才能成功,除非配置好了環境變量才能在任意路徑下執行。
此時部署大功告成,可以通過域名來訪問 Tomcat 下的項目了。注意的是二級域名要解析好才能訪問項目
到此,關于“JavaWeb 怎么部署到 Linux 服務器”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!