首頁 > 運維 > linux運維 > JavaWeb怎麼部署到Linux伺服器

JavaWeb怎麼部署到Linux伺服器

WBOY
發布: 2023-05-13 08:31:10
轉載
1756 人瀏覽過

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伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板