从零开始在Linux服务器上搭建JAVA开发运行环境

软件版本

Linux版本:centos-release-7-7.1908.0.el7.centos.x86_64

下载教程链接可参考:https://blog.csdn.net/qq_39135287/article/details/83993574

tomcat版本:apache-tomcat-7.0.75

下载链接:https://pan.baidu.com/s/1pO5rI3hG6Z93_VnkY-N61w
密码:7bmu

java版本:jdk1.8.0_11

下载链接:https://pan.baidu.com/s/1ORjJKcK3dlQz_3GNrbO04Q
密码:p5t3

1.安装命令

1)-bash: ifconfig: command not found

安装net-tools,因为该包中包含ifconfig命令

sudo yum install net-tools -y

2)-bash: zip: command not found

安装zip:

yum install zip -y

安装unzip:

yum install unzip -y

3)bash: telnet: 未找到命令

安装telnet:

yum install telnet -y

4)-bash: lsof: command not found

安装lsof:

yum install lsof -y

2.创建新用户

一般不使用root用户操作,创建其它用户 
创建用户:useradd 用户名 
设置密码:passwd 用户名,之后输入密码

3.服务器之间远程复制

本服务器文件上传文件到另一台服务器

scp -r earlyKnowPdf/ xyj@10.211.55.9:/home/xyj

在这里插入图片描述其中:scp表示远程复制命令,earlyKnowPdf/ 表示文件夹名称,复制文件夹需要加 -r 。xyj@10.211.55.9是另一台服务器登录名和地址,/home/xyj表示复制到另一台服务器对应路径

本服务器文件从另一台服务器上下载文件

scp -r xyj@10.211.55.5:/home/xyj/software /home/xyj

在这里插入图片描述其中:scp表示远程复制命令,xyj@10.211.55.5:/home/xyj/software表示另一台服务器用户名和IP地址及需要复制的文件夹,复制文件夹需要加 -r,/home/xyj 表示本地服务器保存文件路径,不加该路径会报错

4.安装java

将压缩包解压到指定目录

tar -zxvf jdk-8u11-linux-x64.tar.gz -C ../ 

其中:-C …/ 表示将压缩包解压到上层目录,不加默认解压到当前目录

配置环境变量(在当前用户下)

cd ~
vi .bash_profile

在 export PATH 上面添加如下配置:

export JAVA_HOME=/home/xyj/jdk1.8.0_11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
PATH=$PATH:$HOME/bin

其中,/home/xyj/jdk1.8.0_11 表示jdk压缩包解压路径,其余配置可不更改。

保存配置文件,重新加载环境变量:

source .bash_profile,

查看是否安装成功:

java -version

在这里插入图片描述

5.安装tomcat

将压缩包解压到指定目录

tar -zxvf apache-tomcat-7.0.75.tar.gz -C ../

其中:-C …/ 表示将压缩包解压到上层目录,不加默认解压到当前目录

配置环境变量(在当前用户下)

cd ~
vi .bash_profile

在 export PATH 上面添加如下配置:

#TOMCAT
export CATALINA_BASE=/home/xyj/apache-tomcat-7.0.75
export CATALINA_HOME=/home/xyj/apache-tomcat-7.0.75
export TOMCAT_HOME=/home/xyj/apache-tomcat-7.0.75

其中,/home/xyj/apache-tomcat-7.0.75 表示tomcat压缩包解压路径,

保存配置文件,重新加载环境变量:

source .bash_profile

查看配置文件是否更新成功:

echo $TOMCAT_HOME

在这里插入图片描述

6.运行jar包(执行main函数)

打成jar包之后,可以通过java -jar xx.jar来执行,会执行 MANIFEST.MF 中指定的 main 方法;如果有多个main方法时可以通过下面命令执行指定的main方法

java -classpath xxx.jar xxx.className [args]

这里的xxx.jar指的是包名;xxx.className是类名称; args指传递进去的参数;

综上:运行jar有两种情况

执行默认main,可以在MANIFEST.MF文件中更改

java -jar znjob.jar

如果要添加参数,直接添加在后面就可以了;

java -jar znjob.jar aaa bbb

执行指定main

java -cp znjob.jar job.main.EarlyKnowOnlineMain

在后台运行,并输出到指定日志文件

nohup java -cp znjob.jar job.main.EarlyKnowOnlineMain >> log/znjob.log 2>&1 &

不需要生成日志文件,不加 >> /dev/null 默认会生产nohup.out文件

nohup java -cp znjob.jar job.main.EarlyKnowOnlineMain >> /dev/null 2>&1 &

总结:把项目打包成jar,然后运行main方法,有两种情况,一种是在MANIFEST.MF中指定运行的main方法;另外一种是通过命令行指定运行的main方法的包;同时可以添加对应的参数传递到main方法中去。

7.开放端口

两种方式

iptables

centos7默认没有安装iptables-services,iptables-services 和 iptables 是不一样的,安装了 services才有/etc/sysconfig/iptables

检查是否安装,iptables-services:

service iptables status

截图表示未安装在这里插入图片描述

安装iptables:

yum install iptables -y

升级iptables:

yum update iptables

安装iptables-services:

yum install iptables-services -y

安装成功之后可以在 /etc/sysconfig 文件夹下看到 iptables 文件

编辑 iptables 文件:

vi iptables

22端口默认开放,把开放22端口那一行复制,22改为对应端口,如8080即可。注意服务器之间命令可能不一样,复制本机22端口命令即可。

本机使用的是centos7,命令为:

-A INPUT -p tcp m state --state NEW -m tcp --dport 8080 -j ACCEPT

在这里插入图片描述

保存后重启iptables :

service iptables restart

查看iptables状态:

service iptables status

有红色框内容表示启动成功在这里插入图片描述

注意:开启iptables后firewall会自动关闭,并且重启后默认开启firewall,iptables会关闭,所以如果需要使用iptables需禁用firewall或设置不开机启动

禁用firewall:

systemctl mask firewalld

取消禁用服务:

systemctl unmask firewalld

设置iptables开机启动:

systemctl enable iptables

设置iptables-services开机启动:

systemctl enable iptables.service

取消服务开机启动:

systemctl disable iptables

查看服务是否开机启动:

systemctl is-enabled iptables;echo $?

firewall

查询开放端口:

firewall-cmd --list-all

开放8080端口:

firewall-cmd --permanent --add-port=8080/tcp

移除8080端口:

firewall-cmd --permanent --remove-port=8080/tcp

#参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、–permanent:表示设置为持久;

注意:每次开放或移除端口都需要重新加载防火墙,否则会无效。

重新加载firewall,不需要停止再启动firewall,与restart区别:

firewall-cmd --reload 

其它命令

查看默认防火墙状态(关闭后显示notrunning,开启后显示running):

firewall-cmd --state

启动一个服务:

systemctl start firewalld.service

关闭一个服务:

systemctl stop firewalld.service

重启一个服务:

systemctl restart firewalld.service

显示一个服务的状态:

systemctl status firewalld.service

在开机时启用一个服务:

systemctl enable firewalld.service

在开机时禁用一个服务:

systemctl disable firewalld.service

查看服务是否开机启动:

systemctl is-enabled firewalld.service;echo $?

查看已启动的服务列表:

systemctl list-unit-files|grep enabled

8.参考文档

https://www.cnblogs.com/cbugs/p/11732211.html
https://www.cnblogs.com/zhengxq21/p/10218558.html
https://blog.csdn.net/xiaoguangtouqiang/article/details/82182654

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值