Linux之換源、Tomcat及jdk的安裝配置和設定Tomcat自動啟動
換源、Tomcat及jdk的安裝配置和設定Tomcat自動啟動
換源(CentOs更換為阿里雲的源)
- 確保更換之前自己是否安裝
wget
,若是沒有安裝wget
,直接安裝即可
yum list wget
yum -y install wget
- 首先備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak - 下載阿里雲的
yum
源到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
-
清除快取
yum clean all
-
更新本地YUM快取
yum makecache
-
按一個軟體試下,檢視下載源是否已經變成阿里雲了
yum -y install lrzsz
注:lrzsz是一款在linux裡可代替ftp上傳和下載的程式。
Tomcat及jdk的安裝配置和設定Tomcat自動啟動
上傳及下載檔案
- 安裝及使用lrzsz
- 上傳
rz - 下載
sz 檔名
上傳jdk和tomcat的安裝檔案到指定資料夾
mkdir /usr/local/mytools
注1:安裝見資料
apache-tomcat-8.5.20.tar.gz
jdk-8u151-linux-x64.tar.gz
linux壓縮和解壓命令
-
tar壓縮命令
tar壓縮命令為 tar -zcvf 壓縮名.tar.gz 檔案/目錄
tar解壓命令為 tar -zxvf 壓縮包名 -
zip檔案
zip壓縮命令 zip -q -r 壓縮包名.zip 目錄/檔名
zip -r xxx.zip ./*
zip解壓命令 unzip filename.zip
linux中JDK的安裝與配置
- 操作:解壓jdk
cd /usr/local/mytools
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local 解壓到指定資料夾
注1:在解壓的時候 -C 是解壓到指定目錄中,一定要加-C引數,而且區分大小寫的,-_- 555555555555555,“很痛的很痛的很痛的領悟”
注2:&&可將多條命令合成一行
cd /usr/local/mytools && tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local
- 操作:配置jdk的環境變數
vim /etc/profile
#開啟配置檔案並在檔案的最後新增如下內容(注意:=兩邊沒有空格)
export JAVA_HOME=/usr/local/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
-
重啟系統使環境變數生效
reboot- 執行如下命令,也可以讓環境變數生效
source /etc/profile
- 執行如下命令,也可以讓環境變數生效
-
檢視環境變數是否配置成功
java -version
tomcat安裝與配置
-
解壓tomcat到指定路徑
tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local -
解壓完成後進入tomcat的bin目錄
cd /usr/local/apache-tomcat-8.5.20/bin -
啟動或關閉tomcat
cd /usr/local/apache-tomcat-8.5.20/bin
./startup.sh
./shutdown.sh
注1:如何檢視遠端伺服器的日誌
cd /usr/local/apache-tomcat-8.5.20/logs
tail -f catalina.out #實時檢視日誌檔案
tail -100f catalina.out #實時檢視日誌檔案後一百行
注2:tomcat啟動後,外部瀏覽器無法訪問,原因:防火牆中8080埠未開放,
防火牆的開啟詳情見:附錄二
ESC伺服器-安全組規則
以上步驟完成後,還是無法釋出專案的
- 新增管理員、密碼、許可權
cd /usr/local/apache-tomcat-8.5.20/conf
vim tomcat-users.xml
然後在`<tomcat-users>`標籤中插入以下內容(即新增管理員、密碼、許可權
<role rolename="manager-gui"/>
<user username="admin" password="123" roles="manager-gui"/>
- 允許admin遠端訪問tomcat
此步驟完成後manager
應用仍然會拒絕訪問,因為tomcat8.5
以後在manager應用中,預設只允許本機訪問
cd /usr/local/apache-tomcat-8.5.20/webapps/manager/META-INF
vim context.xml
將Valve標籤註釋即可
<Context antiResourceLocking="false" privileged="true" >
<!--將下面的一行程式碼註釋即可
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
瞭解如何修改tomcat的埠號即可,無需修改
6.將tomcat埠號port="8080"改為80
cd /usr/local/java/apache-tomcat-8.5.20/conf
vim server.xml
-
重啟tomcat,使修改生效
cd /usr/local/apache-tomcat-8.5.20/bin
./shutdown.sh -
通過admin使用者遠端釋出web專案,例如:hello.war
-
但是重啟CentOS7之後,hello專案無法再次訪問
Centos7下設定Tomcat開機自啟動
- systemctl命令
- 檢視全部服務命令:systemctl list-unit-files --type service ctrl+c可以回到命令輸入
- 檢視服務:systemctl status 服務名.service
- 啟動服務:systemctl start 服務名.service
- 停止服務:systemctl stop 服務名.service
- 重啟服務:systemctl restart 服務名.service
- 增加開機啟動:systemctl enable 服務名.service
- 刪除開機啟動:systemctl disable 服務名.service
注1:字尾.service可以省略
- tomcat增加啟動引數
-
tomcat需要增加一個pid檔案(注意:此檔案由系統自動建立,我們只需要指定此檔案的位置即可)
tomcat.pid檔案與bin目錄平級。 -
在tomcat的bin目錄下面,增加setenv.sh配置,catalina.sh啟動的時候會呼叫,同時配置Java記憶體引數
vim /usr/local/apache-tomcat-8.5.20/bin/setenv.sh在setenv.sh增加以下內容:
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
#測試環境下記憶體可適當調小一些,正式環境下當然是越大越好
#JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
JAVA_OPTS="-server -XX:PermSize=128M -XX:MaxPermSize=512m -Xms256M -Xmx512M -XX:MaxNewSize=128m"注意:檔案的儲存路徑不要搞錯了“tomcat/bin/setenv.sh”
-
在/usr/lib/systemd/system目錄下建立tomcat.service檔案
#vim編輯檔案,檔案不存在就建立此檔案,並進行編輯
vim /usr/lib/systemd/system/tomcat.service
-
注1:詳情見:資料/tomcat.service
tomcat.service
###注意:請將jdk和tomcat改為自己的安裝路徑
###/usr/local/jdk1.8.0_151改為自己的jdk路徑
###/usr/local/apache-tomcat-8.5.20改為自己的tomcat路徑
###Environment="JAVA_HOME=/usr/local/jdk1.8.0_151"這裡要配置環境變數,在/etc/profile中的配置在系統服務中不生效
###[unit]配置了服務的描述,規定了在network啟動之後執行。[service]配置服務的pid,服務的啟動,停止,重啟
###[install]配置了使用使用者
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk1.8.0_151"
PIDFile=/usr/local/apache-tomcat-8.5.20/tomcat.pid
ExecStart=/usr/local/apache-tomcat-8.5.20/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
-
重啟系統讓tomcat.service檔案生效(此次tomcat還未自動啟動)
-
接下來配置tomcat開機啟動
- 設定tomcat開機啟動:systemctl enable tomcat
- 啟動tomcat服務:systemctl start tomcat
- 檢視服務中有沒有tomcat:ps -ef |grep tomcat
-
reboot再次重啟系統後,發現tomcat已自動啟動了
附錄
附錄一:CentOS7防火牆查詢、啟動和關閉
CentOS 7.0預設使用的是firewall作為防火牆
-
檢視防火牆狀態
firewall-cmd --state
-
停止firewall
systemctl stop firewalld.service -
禁止firewall開機啟動
systemctl disable firewalld.service
附錄二:CentOS 7快速開放埠
CentOS7防火牆firewalld預設是開啟的,下面記錄如何使用firewalld開放Linux埠:
-
開啟埠
firewall-cmd --zone=public --add-port=8080/tcp --permanent
-
刪除指定埠
firewall-cmd --zone=public --remove-port=8080/tcp --permanent -
查詢指定埠號是否開啟:
firewall-cmd --query-port=8080/tcp -
重啟防火牆(不重啟以上的設定是不會生效的):
firewall-cmd --reload
-
查詢有哪些埠是開啟的:
firewall-cmd --list-port
-
命令含義:
–zone #作用域
–add-port=8080/tcp #新增埠,格式為:埠/通訊協議
–permanent #永久生效,沒有此引數重啟後失效
附錄三:
- SSH是什麼?
ssh是一種安全協議,主要用於給遠端登入會話資料進行加密,保證資料傳輸的安全 - SSH分為客戶端和服務端。
服務端是一個守護程式,一般是sshd程式,在後臺執行並響應來自客戶端的請求。提供了對遠端請求的處理,一般包括公共金鑰認證、金鑰交換、對稱金鑰加密和非安全連線 - 工作機制
3.1 客戶端傳送一個連線請求到遠端服務端
3.2 服務端檢查申請的包和IP地址,再傳送金鑰給SSH客戶端;
3.3 客戶端再將金鑰發回服務端,自此建立連線
附錄四:
Linux 軟體安裝到 /usr,/usr/local/ 還是 /opt 目錄?
- /usr:系統級的目錄,可以理解為C:/Windows/,/usr/lib理解為C:/Windows/System32。
- /usr/local:使用者級的程式目錄,可以理解為C:/Progrem Files/。使用者自己編譯的軟體預設會安裝到這個目錄下。
- /opt:使用者級的程式目錄,可以理解為D:/Software,opt有可選的意思,這裡可以用於放置第三方大型軟體(或遊戲),當你不需要時,直接rm -rf掉即可。
在硬碟容量不夠時,也可將/opt單獨掛載到其他磁碟上使用。
相關文章
- Linux配置JavaEE環境 Linux中安裝JDK、Tomcat、mysql 設定Tomcat自啟動、設定mysql自啟動LinuxJavaJDKTomcatMySql
- Linux(jdk+tomcat配置安裝)LinuxJDKTomcat
- Linux配置jdk和tomcatLinuxJDKTomcat
- centos7 設定tomcat自啟動CentOSTomcat
- Linux Tomcat安裝篇(daemon執行,開機自啟動)LinuxTomcat
- Linux安裝和配置tomcat詳細教程LinuxTomcat
- Linux上監控Tomcat Down掉後自動重啟TomcatLinuxTomcat
- jdk+tomcat+mysql一鍵安裝配置JDKTomcatMySql
- SpringBootApplication是如何啟動Tomcat的? | 破解SpringBoot Tomcat啟動之謎 !Spring BootAPPTomcat
- Linux上安裝jdk Tomcat mysql redis等LinuxJDKTomcatMySqlRedis
- Linux下Tomcat重新啟動LinuxTomcat
- windows下安裝jdk+tomcat+maven並配置WindowsJDKTomcatMaven
- linux中安裝JDK linux中安裝Tomcat linux中安裝Mysql 及故障解析 linux系統安裝redisLinuxJDKTomcatMySqlRedis
- Linux安裝jdk、tomcat 步驟(親測有效)LinuxJDKTomcat
- Linux系統Tomcat安裝與配置。LinuxTomcat
- Centos安裝tomcat9及配置CentOSTomcat
- linux安裝tomcatLinuxTomcat
- 深入淺出Tomcat/2 - Tomcat啟動和停止Tomcat
- 在linux下啟動tomcat命令LinuxTomcat
- 如何在linux下啟動tomcatLinuxTomcat
- Java(JDK/Tomcat/Maven)執行環境配置及工具(idea/eclipse)安裝JavaJDKTomcatMavenIdeaEclipse
- 淺讀tomcat架構設計和tomcat啟動過程(1)Tomcat架構
- tomcat 啟動dangdang的spring配置超時TomcatSpring
- Linux下安裝JDK及環境設定LinuxJDK
- mac 安裝jdk,maven,tomcat彙總MacJDKMavenTomcat
- 樹莓派+tomcat+mysql安裝及配置樹莓派TomcatMySql
- windows下Tomcat安裝配置WindowsTomcat
- CentOS下tomcat安裝配置CentOSTomcat
- jdk、tomcat、mysql軟體的安裝步驟JDKTomcatMySql
- ubuntu15中tomcat開機自動啟動UbuntuTomcat
- SpringBoot 使用外部Tomcat方法及啟動原理Spring BootTomcat
- 設定windows系統下的tomcat開機自啟WindowsTomcat
- tomcat 啟動失敗Tomcat
- Linux下Tomcat8的安裝LinuxTomcat
- JDK Tomcat MySQL環境配置JDKTomcatMySql
- Linux伺服器—安裝TomcatLinux伺服器Tomcat
- Tomcat5.5 Admin的安裝與配置Tomcat
- idea之設定web工程的TomcatIdeaWebTomcat