安装Java

  下载java源码包

  安装的是JDK8,下载地址如下:下载链接

  注意,不要在服务器中使用wget来下载jdk,因为oracle会认为你是爬虫,下载的文件不是jdk,而是一个html文件。

  

  上传服务器并解压

  使用传输工具将jdk的源码传到服务器上,然后解压后,将文件夹拷贝到/usr/local/下即可。

[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ls
jdk-8u201-linux-x64.tar.gz
[root@localhost src]# tar zxf jdk-8u201-linux-x64.tar.gz
[root@localhost src]# ls
jdk1.8.0_201 jdk-8u201-linux-x64.tar.gz
[root@localhost src]# mv jdk1.8.0_201 /usr/local/java
[root@localhost src]# /usr/local/java/bin/java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

  

  添加Path和环境变量

  将java下面的bin目录中的各种命令加入到path中,可以修改/etc/profile文件,可以让服务器上的所有用户使用java环境:

# 编辑/etc/profile文件,在文件末尾增加以下3行代码

# 配置JAVA_HOME变量
export JAVA_HOME=/usr/local/java # 配置JRE_HOME变量
export JRE_HOME=$JAVA_HOME/jre # 配置环境PATH
export PATH=$JAVA_HOME/bin:$PATH # 配置CLASSPATH变量,如果是JDK7及之后版本可以不用设置
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    

  使配合文件生效

  使用source命令来时配置生效。

source /etc/profile

  

  进行测试

# 创建一个测试文件
[root@localhost ~]# vi Test.java
#文件内容为
public class Test {
public static void main(String[] args) {
System.out.println("hello world");
}
} # 进行编译
[root@localhost ~]# javac Test.java # 运行
[root@localhost ~]# java Test
hello world

  

安装Tomcat

  下载Tomcat的源码包,解压到/usr/local/下,目录名为tomcat。

  tomcat的源码包列表:https://archive.apache.org/dist/tomcat/tomcat-8/

[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz
[root@localhost src]# ls
apache-tomcat-8.0.53.tar.gz jdk-8u201-linux-x64.tar.gz
[root@localhost src]# tar zxf apache-tomcat-8.0.53.tar.gz
[root@localhost src]# mv apache-tomcat-8.0.53 /usr/local/tomcat

  注意,在下载的时候,有src和bin包两种,请选择bin包格式,因为src包中会缺少一些东西。

  配置环境变量

# 编辑/etc/profile文件夹,在末尾增加两行命令
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat # 保存退出后,使用source 命令让配置文件生效
source /etc/profile

  

  创建cataline.out文件

  该文件用于存储:服务器启动和运行过程中的控制台输出。

[root@localhost ~]# cd /usr/local/tomcat
[root@localhost tomcat]# touch logs/catalina.out

  修改防火墙配置

  防火墙默认只开启了某些端口,如果Tomcat要使用的端口没有打开的话,就不能从别的地方访问本机服务器,假设Tomcat的服务器使用8089端口,可以这样修改:

# 编辑/etc/sysconfig/iptables这个文件,添加
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

  

  重启防火墙,让配置生效

[root@localhost ~]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]

  

  启动服务器

[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
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.

  

  查看Tomcat的状态

  有多种方式:

  1、Tomcat默认使用8080端口,可以通过lsof -i:8080来查看8080端口是否被使用即可。

  2、查看进程: ps aux | grep tomcat

  3、查看/usr/local/tomcat/logs/catalina.out日志输出文件即可。

  4、访问localhost:8080,看是否会有下面的页面:

  

  因为开启了防火墙的8080端口,所以可以让其他主机访问本机服务器。

编写一个shell脚本来编译并运行java代码的更多相关文章

  1. [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现

    本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...

  2. 1.编写一个shell脚本

    一.shell和shell脚本 在linux系统下,以 #/bin/bash开头的文本会被shell解释器进行解释.   shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操 ...

  3. AJPFX编写cmd界面下一键编译、执行java代码的bat脚本

    此脚本适合刚接触java的同学,在cmd界面下用jc取代 复杂的  javac *.java + java main使用说明:把脚本内容复制到txt文本中,修改后缀名为.bat,运行一次即可完成配置, ...

  4. 在linux写一个shell脚本用maven git自动更新代码并且打包部署

    服务器上必须安装了git maven jdk 并且配置好环境变量 实际服务器中可能运行着多个Java进程,所以重新部署的时候需要先停止原来的java进程,写一个按照名称杀死进程的脚本 kill.sh ...

  5. 编写第一个 Shell 脚本

    什么是 Shell 脚本? 一个 shell 脚本就是一个包含一系列命令的文件.shell 读取这个文件,然后执行 文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样. 怎样编写一个 Sh ...

  6. 编写第一个Shell脚本【TLCL】

    怎样编写一个 Shell 脚本 编写一个脚本 使脚本文件可执行 把脚本放到Shell能够找到的地方 脚本文件格式 #!/bin/bash # This is our first script. ech ...

  7. shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。

    shell脚本?在说什么是shell脚本之前,先说说什么是shell. shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包 ...

  8. 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

    一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...

  9. shell编写一个判断脚本

                                                              shell编写一个判断脚本 4.1问题 本例要求在虚拟机server0上创建/roo ...

随机推荐

  1. [笔记]一些STL用法

    参考资料:STL 在 OI 中的应用 离散化 std::unique 功能:对有序的容器重新排列,将第一次出现的元素从前往后排,其他重复出现的元素依次排在后面 返回值:返回迭代器,迭代器指向的是重复元 ...

  2. 【洛谷】【动态规划/01背包】P1734 最大约数和

    [题目描述:] 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大. [输入格式:] 输入一个正整数S. [输出格式:] 输出最大的约数之和. [算法分析:] 01背包,每个数 ...

  3. 关于使用spring mvc前后端上传数据日期格式

    前端页面传入数据到后台,String,int等等类型都很友好,但是Date类型不能直接上传到服务器.否则会报异常![在这里插入图片描述](https://img-blog.csdnimg.cn/201 ...

  4. ceph部署实践(mimic版本)

    一.准备环境 4台adminos7.4 环境,存储节点上两块磁盘(sda操作系统,sdb数据盘) clientadmin storage1storage2storage3 二.配置环境 1.修改主机名 ...

  5. 【js】 ==与===区别

    1.对于string,number等基础类型,==和===是有区别的 1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等 2)同类型比较,直接进 ...

  6. WordPress研究心得

    WordPress,当初之所以研究这个,目的是在于开发一个多租户系统应用.总的来说,WordPress给了我不少启发和影响.为此,我决定这个研究心得分享出去. 总的来说,这篇文章参考了很多朋友们的博客 ...

  7. JavaScript高级程序设计学习(六)之设计模式

    每种编程语言都有其自己的设计模式.不禁让人疑惑设计模式是用来做什么?有什么用? 简单的说,设计模式是为了让代码更简洁,更优雅,更完美. 同时设计模式也会让软件的性能更好,同时也会让程序员们更轻松.设计 ...

  8. AI 数值计算

    数值计算,通过迭代来更新解的估计值. 1.上溢和下溢 实数按照一定的精度存储在计算机中,通常存在误差,进而可能导致一些错误. 1)下溢(underflow),例如接近0的数 2)上溢(overflow ...

  9. Luogu3514 POI2011 Lollipop 递推、构造

    题目传送门:https://www.luogu.org/problemnew/show/P3514 题意:给出一个只有$1$和$2$的长度为$N$的数列,$M$次询问是否存在一段连续子区间和为$K$. ...

  10. nginx 安装问题

    yum -y install  xxx pcre-devel  openssl-devel   zlib-devel  这个三个包需要 有时候,我们需要单独安装nginx,来处理大量的下载请求.单独在 ...