1. 程式人生 > >在linux系統下安裝配置java和tomcat

在linux系統下安裝配置java和tomcat

align wrap 拷貝 ase 運行 禁用 remove classpath 啟動


個人習慣將源碼包放到opt下


1.安裝jdk

jdk是java的運行環境,整個jenkins就是一個var包,是java寫的程序。

1.1.通過yum安裝

A.安裝yum:

 #yum install wget

在opt目錄下下載

  #cd opt
  #wget http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

B.下載上傳

A.oracle官方下載最新版jdk(jdk-8u171-linux-x64.tar.gz):

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

B.安裝上傳命令

yum -y install lrzsz 

C.在opt目錄下,運行rz -be,上傳文件。

rz -be

1.3.解壓tar包

tar -zxvf jdk-8u171-linux-x64.tar.gz

ls確認已解壓:(補圖)

1.4 將解壓後的文件挪到/usr/local/

mv jdk1.8.0_171/ /usr/local/

在/usr/local/下ls確認已移動:(補圖)

1.5 制作java 軟鏈接

 ln -s /usr/loca/jdk /usr/local/java

ln -s /usr/loca/jdk /usr/local/java

********刪除軟鏈接:rm java********

********為什麽要做軟鏈接***********

jdk經常要升版本,如果升級,做了軟鏈接,只需要將之前的軟鏈接刪掉,重新做一個軟鏈接就可以了(ln -s jdk1.9.0/ java)。程序裏面的路徑也不用改,配置文件,環境變量也不要重新配。

******不管是java,tomcat,nginx都是做軟鏈接,鏈接到一個版本號上,如果要升級,就把軟鏈接指到新的版本號上********

1.6 配置環境變量

1. 打開環境變量

[root@training local]# vi /etc/profile

2. 將/usr/local/java加入PATH:

將以下這句話放置在/etc/profile最後。PATH=/usr/local/java/bin:$PATH

3. 退出重新登錄,或者直接執行source /etc/profile

4. 運行java -version看是否成功。

[root@training local]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

 


2.安裝tomcat

tomcat是一個java容器,本身也是web容器,可以提供web頁面,也可以提供java頁面的解析。

所有java開發的,要麽直接用var包直接起,要麽用容器。

2.1 在opt目錄下,apache官方網站下載最新版tomcat

[root@training opt]# wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz

[root@training opt]# ll
total 195740
-rw-r--r--. 1 root root 9541892 Apr 4 04:35 apache-tomcat-8.5.30.tar.gz
-rw-r--r--. 1 root root 190890122 Apr 27 17:15 jdk-8u171-linux-x64.tar.gz

2.2 tomcat直接解開啟動即可使用,前提是jdk安裝正確

[root@training opt]# tar -zxvf apache-tomcat-8.5.30.tar.gz

[root@training opt]# ll
total 195740
drwxr-xr-x. 9 root root 160 Apr 28 11:08 apache-tomcat-8.5.30
-rw-r--r--. 1 root root 9541892 Apr 4 04:35 apache-tomcat-8.5.30.tar.gz
-rw-r--r--. 1 root root 190890122 Apr 27 17:15 jdk-8u171-linux-x64.tar.gz

2.3 移動到/usr/local/

[root@training opt]# mv apache-tomcat-8.5.30 /usr/local/
[root@training opt]# cd /usr/local/
[root@training local]# ll
total 0
drwxr-xr-x. 9 root root 160 Apr 28 11:08 apache-tomcat-8.5.30

   2.4 制作軟鏈接

[root@training local]# ln -s apache-tomcat-8.5.30/ tomcat
[root@training local]# ls
apache-tomcat-8.5.30  etc    include  jdk1.8.0_171  lib64    sbin   src
bin                   games  java     lib           libexec  share  tomcat

  2.5 tomcat需要啟動

tomcat啟動和停止的命令:都在主目錄的bin下面,有一個catalina.sh

[root@training local]# cd tomcat/
[root@training tomcat]# ls
bin   lib      logs    RELEASE-NOTES  temp     work
conf  LICENSE  NOTICE  RUNNING.txt    webapps
[root@training tomcat]# cd bin/
[root@training bin]# ls
bootstrap.jar daemon.sh startup.sh
catalina.bat digest.bat tomcat-juli.jar
catalina.sh digest.sh tomcat-native.tar.gz
catalina-tasks.xml setclasspath.bat tool-wrapper.bat
commons-daemon.jar setclasspath.sh tool-wrapper.sh
commons-daemon-native.tar.gz shutdown.bat version.bat
configtest.bat shutdown.sh version.sh
configtest.sh startup.bat

  啟動: sh catalina.sh start

[root@training bin]# sh catalina.sh start

Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

通常啟動的時候加一個節點:將tomcat啟動起來,順便將log打開。

(沒有var包的情況半秒就可以啟動起來。這個時候沒有var包,如果打開網站是空白頁)

[root@training bin]# sh catalina.sh start;tail -f ../logs/catalina.out
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

2.6 查看端口8080是否啟動:

看是否啟動成功,tomcat默認的端口是8080

*****netstat -lnp:是查看端口的*******

A.安裝net-tools:

[root@training bin]# yum install net-tools

  B.查看端口:

[root@training bin]# yum install net-tools

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1144/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1243/master
tcp6 0 0 :::8080 :::* LISTEN 1728/java

  拿瀏覽器登錄:

現在Edge登錄找不到頁面,是因為8080端口沒有添加到防火墻允許訪問內。可以添加進去或者將防火墻關掉。

[root@training conf]# systemctl stop firewalld.service
[root@training conf]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@training conf]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)


3.如何配置tomcat:

3.1停掉tomcat:

進入/tomcat/bin裏面stop catalina.sh,停掉後用ps -ef | grep java來看是否真的停掉(java進程沒有了)。

[root@training bin]# sh catalina.sh stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@training bin]# ps -ef | grep java
root      1882  1320  0 13:16 pts/0    00:00:00 grep --color=auto java

3.2 進入主目錄(tomcat)/webapps下,其他的都刪掉,只留一個root,root下也清空。

包括manage也要刪掉,如果用了manage,並且對公網發布,那麽瞬間就會被破掉。

[root@training tomcat]# cd webapps/
[root@training webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@training webapps]# rm -rf docs/ examples/ host-manager/ manager/
[root@training webapps]# ls
ROOT
[root@training webapps]# pwd
/usr/local/tomcat/webapps
[root@training webapps]# cd ROOT/
[root@training ROOT]# pwd
/usr/local/tomcat/webapps/ROOT
[root@training ROOT]# rm -rf *
[root@training ROOT]# ls
[root@training ROOT]# 

  3.3 在tomcat/conf/server.xml中將大寫的SHUTDOWN隨便改為什麽。

這是一個在頁面上可以關閉tomcat的功能,將這個功能禁用。(或者將8005端口禁用也可以)

[root@training tomcat]# cd conf/
[root@training conf]# vi server.xml 

  ---------到此tomcat的安全加固做完了,可以往裏加東西了。至少不會從tomcat本身的漏洞進來出問題了,至少不會從tomcat的頁面,以及manager,shutdown很簡單的可以利用的漏洞進來。

3.4 如何將工程放到tomcat

tomcat本身自身可以解開var包,但是這裏有一個弊端:將var包放到大root目錄下,一啟動tomcat,var包就會自動解開。這個時候如果要修改var包裏面的一些參數,配置,修改之後,下次啟動tomcat的時候,又會重新從var包解開啟動之前修改的參數和配置就沒有了就需要重新配置。

所以我們都是將var包解開之後再放到tomcat路徑下再加載,一般放到大root目錄下或者是與大root平級的目錄下。


4. 安裝jenkins

4.1 通過 wget下載jenkins

[root@training opt]# wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

4.2 新建一個目錄jenkins,並將var包拷貝進來

放置jenkins var包解壓出來的內容

因為jenkins的var包解開沒有

[root@training opt]# mkdir jenkins
[root@training opt]# mv jenkins.war jenkins/
[root@training opt]# cd jenkins
[root@training jenkins]# ll
total 72824
-rw-r--r--. 1 root root 74568464 Apr 10 04:42 jenkins.war

4.3 解壓var包

[root@training jenkins]# jar -xvf jenkins.war

[root@training jenkins]# ls
bootstrap LogFileOutputStream$2.class
ColorFormatter.class LogFileOutputStream.class
css Main.class
dc-license.txt MainDialog$1$1.class
executable MainDialog$1.class
favicon.ico MainDialog.class
help Main$FileAndDescription.class
images META-INF
jenkins.war robots.txt
JNLPMain.class scripts
jsbundles WEB-INF
LogFileOutputStream$1.class winstone.jar

 ****註意:上面的jenkins.var包一定要刪掉。如果放在這裏,黑客可以把這個var包拿走。**********

[root@training jenkins]# rm jenkins.war

4.4 將jenkins挪到tomcat目錄中webapps下。

[root@training opt]# cp jenkins.war /usr/local/tomcat/webapps/

[root@training opt]# cd /usr/local/tomcat/webapps/
[root@training webapps]# ls
jenkins jenkins.war ROOT

4.3 啟動(重啟)tomcat

[root@training bin]# sh catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

4.4 瀏覽器訪問

IP:8080/jenkins


5.tomcat的使用

5.1 log地址:tomcat/logs/catalina.out

[root@training tomcat]# cd logs/
[root@training logs]# ls
catalina.2018-04-28.log      localhost.2018-04-28.log
catalina.out                 localhost_access_log.2018-04-28.txt
host-manager.2018-04-28.log  manager.2018-04-28.log
[root@training logs]# tail -f catalina.out

5.2 端口

[root@training conf]# vi server.xml

監聽端口為8080

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

一般會將8080改掉,可以任意改。一般現在不會用8080或者80,現在一般前面有一個ngnix做轉發,做動靜分離。

現在性能好了,不講究動靜分離了,但是還是會動態/java的東西給tomcat,靜態的給ngnix,動態的東西。

連接數默認是150,一般不要去調。如果需要擴展,通常是橫向擴展,1臺容器不夠,就做2臺。

mv /tmp/zz/* ./-----將全部內容拷貝到當前目錄

在linux系統下安裝配置java和tomcat