在linux系统下安装配置java和tomcat


 

个人习惯将源码包放到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.查看端口:netstat -ntlp

[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.5 启动(重启)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.6 浏览器访问

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/* ./-----将全部内容拷贝到当前目录

 

posted @ 2018-04-28 19:27  gracexu  阅读(314)  评论(0编辑  收藏  举报