Linux系統java環境(以及Nginx反向代理)
主要安裝jdk和Tomcat環境
1.tomcat環境安裝
2.jak環境安裝以及環境變數配置
兩種方式:
第一種:使用yum方式安裝jdk
第二種:直接官網下載壓縮包進行安裝(以下只講第一種方式,安裝包自行前往官網下載)
下載完解壓到自己目錄下 命令解壓jdk到當前目錄:環境變數配合第一種方式進行配置
tar -zxvf jdk-8u60-linux-x64.tar.gz
一、安裝jdk和配置環境變數
1.查看yum中管理的可用的JDK軟體包串列:
yum search java | grep -i --color JDK
結果如下圖所示:

2.選擇合適版本,安裝jdk,本人選擇的是java-1.8.0-openjdk-devel.x86_64
yum install java-1.8.0-openjdk-devel.x86_64
出現如下顯示時輸入y,進行安裝

3.配置環境變數,下面直接上命令
vim /etc/profile
i (進入編輯狀態)
將下面三行代碼放在檔案末尾
~~export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64(注意這行是照著別人寫的,結果報錯,我使用的下面那一行,具體看安裝的版本,請自行替換)~~
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
按Esc(退出編輯狀態)
:wq(保存并退出)
source /etc/profile (讓設定立即生效)

java -version

能顯示以上資訊,就說明安裝成功了,
二 、安裝tomcat
首先在tomcat官方下載tomcat檔案,然后利用ftp工具上傳到linux服務器—自行百度下載ftp工具
tar zxvf apache-tomcat-8.5.37.tar.gz(執行命令解壓上傳的tomcat)
cd / (回到根目錄)
1、啟動tomcat
執行命令:/home/apache-tomcat8.5.37/bin/startup.sh(這個命令第一次安裝是用成功了,后面還是要進入bin目錄下,在輸入啟動命令,末尾有介紹)

2、開放8080埠
在linux上開啟的tomcat使用瀏覽器訪問不了,主要原因在于防火墻的存在,導致的埠無法訪問,
CentOS7使用firewall而不是iptables,所以解決這類問題可以通過添加firewall的埠,使其對我們需要用的埠開放,
1.使用命令 firewall-cmd --state查看防火墻狀態,
得到結果是running或者not running
2.在running 狀態下,向firewall 添加需要開放的埠,如果沒開啟 systemctl start firewalld 開啟即可
命令為 firewall-cmd --permanent --zone=public --add-port=8080/tcp //永久的添加該埠,去掉–permanent則表示臨時,
與之對應關閉的命令為firewall-cmd --zone=public --remove-port=8080/tcp --permanent
3.firewall-cmd --reload //加載配置,使得修改有效,
4.使用命令 firewall-cmd --permanent --zone=public --list-ports //查看開啟的埠,出現8080/tcp這開啟正確
5.再次使用外部瀏覽器訪問,這出現tomcat的歡迎界面,
6.查看netstat -tunlp
補充(CentOS7以下有專門的防火墻操作命令):
開啟防火墻的命令
systemctl start firewalld.service
關閉防火墻的命令
systemctl stop firewalld.service
開機自動啟動
systemctl enable firewalld.service
關閉開機自動啟動
systemctl disable firewalld.service
查看防火墻狀態
systemctl status firewalld下列顯示表示沒有問題,
查看設定是否有效
firewall-cmd --zone=public --query-port=8080/tcp

3.上傳部署java WEB專案
1.找到Tomcat下 conf/server.xml找到這個檔案
使用命令:vi server.xml 修改檔案配置
為了方便截圖我這邊使用軟體打開xml檔案
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

<Context path ="" docBase="自己的專案名.war" reloadable="true"/>

上傳專案的war檔案–(我這邊暫時用的是springboot)
在pom.xml里面直接加上相關配置如圖

如何匯出war檔案?(這邊做Maven介紹)點擊如下就能自動生成

會生成一個target檔案如圖(這個就是上傳服務器的檔案)

一般默認情況下生成的都是系統默認的名稱,那如何自定義生成war檔案名?
還是修改pom.xml檔案,如圖,添加finlName標簽匯出時的war檔案就是當前的檔案名

首先是上傳,但是100多M的war包用PuTTY竟然上傳失敗!沒辦法只好整了個xshell
關于Xshell,直接去官方網站下載,需要你填寫一個郵箱,然后你的郵箱會收到一個下載地址,點擊下載就好啦,安裝的時候選擇個人學校免費版本的就好了,
然后連接上Xshell,同樣是訪問 ip,用戶名,密碼這三個引數然后下面命令:
rz (查看是否安裝上傳工具rz 指上傳到linux服務器 )
yum install -y lrzsz (安裝上傳工具)
rz -be(或rz 選擇你要上傳的檔案上傳即可,我用rz 命令失敗,涉及到二進制的問題)
特別說明:上傳的檔案在你登錄的用戶名下,我用root登錄,因此上傳檔案在root目錄下,害我找半天,不在home目錄下哦
然后把war移動到tomcat的webapps檔案下,再重新啟動tomcat就好了,
所有上傳的專案必須放到webapps檔案下
這里多扯一句,如果有多個專案怎么辦?如圖

Linux下tomcat服務的啟動、關閉與錯誤跟蹤,使用PuTTy遠程連接到服務器以后,通常通過以下幾種方
式啟動關閉tomcat服務: 切換到tomcat主目錄下的bin目錄(cd usr/local/tomcat/bin)
1,啟動tomcat服務 方式一:直接啟動 ./startup.sh 方式二:作為服務啟動 nohup ./startup.sh &
方式三:控制臺動態輸出方式啟動 ./catalina.sh run 動態地顯示tomcat后臺的控制臺輸出資訊,Ctrl+C后退出并關閉服務
解釋:
通過方式一、方式三啟動的tomcat有個弊端,當客戶端連接斷開的時候,tomcat服務也會立即停止,通過方式二可以作為linux服務一直運行
通過方式一、方式二方式啟動的tomcat,其日志會寫到相應的日志檔案中,而不能動態地查看tomcat控制臺的輸出資訊與錯誤情況,通過方式三可以以控制臺模式啟動tomcat服務,
直接看到程式運行時后臺的控制臺輸出資訊,不必每次都要很麻煩的打開catalina.out日志檔案進行查看,這樣便于跟蹤查閱后臺輸出資訊,tomcat控制臺資訊包括log4j和System.out.println()等輸出的資訊,
2,關閉tomcat服務 ./shutdown.sh
如何隱藏埠?
方法一:修改tomcat server.xml檔案

原理是:http請求的默認請求的是80埠,所以用80埠的話可以再域名后面省略埠號
那如果那咱就是想用8080埠又不想讓埠出現怎么辦?
第二種方式Nginx的反向代理
安裝就不做過多介紹了
參考:Nginx安裝以及Linux系統命令
安裝完Nginx后我們需要修改nginx組態檔,在/opt/nginx/config/nginx.conf檔案中:
server {
listen 80;
server_name image.專案名.com;
# 監聽域名中帶有group的,交給FastDFS模塊處理
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
location / {
root html;
index index.html index.htm;
proxy_pass:http://www.baidu.com:8080/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
這里需要注意到的是 proxy_pass這個是轉發到你的域名下面去,記住proxy_pass這個一定是你要轉發的域名確保能訪問到,listen會監聽到80埠的請求這時候我們就不用在訪問的時候帶上埠號了
最后來了幾個我這次遇到的大坑(來了上硬菜了)
騰訊云服務器tomcat埠無法訪問
1.https://console.cloud.tencent.com/cvm/securitygroup 需要去這個地址設定安全組,
當然更改了安全組和防火墻還是不行,于是我查看Tomcat的記錄,發現:
/home/apache-tomcat-8.5.37/bin/catalina.sh: line 482: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/bin/java: No such file or directory
很明顯是環境變數配置的問題,原因是我前面安裝圖簡單實用yum 安裝而環境變數又是網上copy的三行代碼,而自己根本沒有仔細查看是否對不對,
當然這個問題通過查看tomcat的運行狀態也可以看出來
ps -ef|grep tomcat

出現上圖,表示是有問題的

這個是正常的,也就是受java環境吧變數配置的影響,
實際安裝的jdk資訊和環境變數配置的對不上,于是修改了環境變數中java的版本資訊

第二種情況:
輸入命令 netstat -tunlp 可以看到8080埠根本就沒開放,如何訪問,
那么如何開啟,因為Centos7以上用firewalld代替了iptables,也就是說firewalld開通了8080埠應該就行了,
查看開放埠 netstat -tunlp

1.查看防火墻狀態,
firewall-cmd --state #查看防火墻狀態,
得到結果是running或者not running
如果沒開啟
systemctl start firewalld
2.在running 狀態下,向firewall 添加需要開放的埠
firewall-cmd --permanent --zone=public --add-port=8080/tcp
#永久的添加該埠,去掉–permanent則表示臨時,
與之對應關閉的命令為
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
3.加載配置,使得修改有效,
firewall-cmd --reload
使用命令 查看開啟的埠,出現8080/tcp這開啟正確
firewall-cmd --permanent --zone=public --list-ports
別忘了關鍵一步 再次啟動防火墻
systemctl start firewalld.service
再查看埠8080就開放了

最坑爹的是騰訊云的服務器,在這些和安全組都設定好以后,你得等待一會,然后訪問Tomcat就成功了,期間發生的訪問錯誤都與操作無關,延時很嚴重,
以上是這次自己部署騰訊云遇到的一些坑,耗費了不少時間,希望能給你們帶來幫助,網上查閱了不少資料,總結這篇文章,如有錯誤望指出立馬修正
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/241945.html
標籤:其他
上一篇:shell腳本之一鍵部署PXE
