基于Centos7的Java开发环境搭建

基于Centos7的Java服务器搭建

前提:Centos常用命令安装

1. 安装wget

yum -y install wget

2. 安装gcc

yum -y install gcc

1. Centos7下的防火墙操作

systemctl status firewalld 	 # 查看防火墙状态
systemctl start firewalld	 # 开启防火墙
systemctl stop firewalld 	 # 关闭防火墙
systemctl disable firewalld 	# 开机禁用
systemctl enable firewalld 		# 开机启用
systemctl is-enabled firewalld 	# 防火墙服务是否开机启动
systemctl list-unit-files|grep enabled	 # 查询已经启动的服务列表
systemctl --failed 				# 查询启动失败的服务列表
 firewall-cmd --zone=public --list-ports # 查看所有打开的端口
 firewall-cmd --zone=public --query-port=80/tcp  # 查看指定端口开启状态

打开一个端口:不关闭防火墙

firewall-cmd --zone=public --add-port=80/tcp --permanent    #(--permanent永久生效,没有此参数重启后失效)

关闭一个 端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent	 #(--permanent永久生效,没有此参数重启后失效)

1.1 安全开启端口(不关闭防火墙)

以8080端口为例:

  1. 查看8080端口是否开启

    firewall-cmd --zone=public --query-port=8080/tcp
    
  2. 开启8080端口

    firewall-cmd --zone=public --add-port=8080/tcp --permanent 
    
  3. 重启防火墙

    firewall-cmd --reload
    

2. 安装JDK1.8

首先查看自己的机器上是否已经自带openjdk,命令如下:

rpm -qa | grep jdk

如果存在,则按照如下命令进行依次卸载:

yum -y remove fileName (fileName为上步查找到的各个文件)

卸载完成之后,再运行java命令不被系统识别:

[root@localhost ~]# java -version
bash: java: command not found...

接着,首先下载需要的JDK版本的tar.gz包(jdk1.8)

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

在这里插入图片描述

注意要下载这个,不然会出错

接下来使用FinalShell上传到 /usr/local/java 目录下

注意:一定要是在root用户下,否则会上传失败

解压压缩包:

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

接着使用如下命令编辑 /etc/profile文件(需要系统已安装vim)

vim /etc/profile

在文件末尾加上:

export JAVA_HOME=/usr/local/java/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

最后,使用如下命令使配置生效

source /etc/profile

完成以后,来检验是否安装成功:

[root@localhost local]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

3. 安装Tomcat

下载[Tomcat8][https://tomcat.apache.org/download-80.cgi]

在这里插入图片描述

下载:Core下tar.gz

使用FinalShell上传到服务器:/usr/local/tomcat

解压:

tar -zxvf apache-tomcat-8.5.72.tar.gz 

进入:tomcat的bin目录下,启动tomcat

./startup.sh

此时如果没有关闭防火墙,则无法显示三脚猫页面

查看开放了哪些端口:

firewall-cmd --list-ports

发现并没有8080端口

打开8080端口

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

重启防火墙

firewall-cmd --reload

再次查看端口开放情况,已经成功开放

再次输入ip:8080,成功访问

4. 安装maven

首先在官网下载maven的tar.gz包,命令如下(本文以maven 3.5.0为例):

https://maven.apache.org/download.cgi

在这里插入图片描述

cd /usr/local/maven/
tar -zxvf apache-maven-3.8.3-bin.tar.gz

接着我们修改 /etc/profile文件,来配置环境变量(需要系统已安装vim):

vim /etc/profile

将安装JDK配置的环境变量变成如下形式:

export JAVA_HOME=/usr/local/java/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export MAVEN_HOME=/usr/local/maven/apache-maven-3.8.3 #增加此行
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${MAVEN_HOME}/bin:$PATH #修改此行

然后运行如下命令,使配置的环境变量生效:

source /etc/profile

完成以后,来检验maven是否安装成功:

[root@localhost a]# mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: /usr/local/maven/apache-maven-3.8.3
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/local/java/jdk1.8.0_151/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.16.1.el7.x86_64", arch: "amd64", family: "unix"

5. 安装Git

运行如下命令即可:

yum -y install git

查看安装结果

git --version

注意:使用yum安装的git在/usr/bin/git下

如果需要移除git,yum remove git

6. 安装redis

下载http://download.redis.io/releases/,自选下载版本,或直接使用wget下载

创建文件夹 /usr/local/redis

在目录下使用:

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

解压缩:

tar -zxvf redis-5.0.7.tar.gz

更改redis-5.0.7名字为redis

mv redis-5.0.7 redis

进入redis目录

编译安装:

make && make install

修改redis.conf配置文件:redis.conf

vim redis.conf
#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行

后台启动redis:

./src/redis-server redis.conf

安全开启端口6379:

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload # 重启防护墙生效

如果不开启6379,则外网无法访问

设置开机启动:

在/etc/init.d/目录下,新建脚本文件:

vim /etc/init.d/redis

添加以下内容:

#!/bin/sh
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis.pid

CONF="/usr/local/smarthome/redis/redis.conf"	# redis.conf所在路径

case "$1" in  
    start)  
        if [ -f $PIDFILE ]  
        then  
                echo "$PIDFILE exists, process is already running or crashed"  
        else  
                echo "Starting Redis server..."  
                $EXEC $CONF  
        fi  
        if [ "$?"="0" ]   
        then  
              echo "Redis is running..."  
        fi  
        ;;  
    stop)  
        if [ ! -f $PIDFILE ]  
        then  
                echo "$PIDFILE does not exist, process is not running"  
        else  
                PID=$(cat $PIDFILE)  
                echo "Stopping ..."  
                $REDIS_CLI -p $REDISPORT SHUTDOWN  
                while [ -x ${PIDFILE} ]  
               do  
                    echo "Waiting for Redis to shutdown ..."  
                    sleep 1  
                done  
                echo "Redis stopped"  
        fi  
        ;;  
   restart|force-reload)  
        ${0} stop  
        ${0} start  
        ;;  
  *)  
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
        exit 1  
esac

修改权限:

chmod 755 /etc/init.d/redis

重启测试:

/etc/init.d/redis restart

设置开机启动:

添加到服务列表:

chkconfig --add /etc/init.d/redis

设置开机启动:

chkconfig redis on

7. 安装RabbitMQ

7.1 安装文件准备

#下载erlang
wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm

#下载socat
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm

#下载rabbitmq-server
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm

7.2 安装编辑工具

安装编辑工具

yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz tcp_wrappers

7.3 执行命令

rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm 
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm 
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

7.4 安装插件

#开启管理界面 
rabbitmq-plugins enable rabbitmq_management

7.5 修改配置文件

vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app

在这里插入图片描述

7.6 启动mq

service rabbitmq-server start # 启动服务 
service rabbitmq-server stop # 停止服务 
service rabbitmq-server restart # 重启服务

注意:15672为管理界面端口 5672为客户端访问连接端口

7.7 安全打开端口

# 安全打开15672端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
# 安全打开5672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
# 重启防火墙生效
firewall-cmd --reload

访问:http://ip:15672 可进入管理界面,默认用户和密码都为:guest

8. 安装docker

# 1、yum 包更新到最新 
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y 
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v

9. 安装Elasticsearch

下载:到 /usr/lcoal/elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz

解压缩

tar -zxvf elasticsearch-7.0.0-linux-x86_64.tar.gz

进入目录

在这里插入图片描述

进入config文件夹下编辑elasticsearch.yml

集群模式下,放开cluster.name注释,单机模式下,放开node.name

在这里插入图片描述

数据存储和日志存储路径放开注释

在这里插入图片描述

网络设置:ip限制、端口设置、跨域设置

在这里插入图片描述

安全启动9200端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent 
firewall-cmd --reload

配置完成后进入bin目录执行启动脚本elasticsearch

前台启动 ./elasticsearch

后台启动 ./elasticsearch -d

启动可能报错

1. can not run elasticsearch as root
[2021-10-31T11:57:14,719][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-7.0.0.jar:7.0.0]
        at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.0.0.jar:7.0.0]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.0.0.jar:7.0.0]  
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:102) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:169) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:325) ~[elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.0.0.jar:7.0.0]
        ... 6 more

解决办法:

  1. 创建es用户组及es用户:

    groupadd es
    useradd es
    passwd es
    
  2. 更改es文件夹及内部文件的所属用户及组为es:es(在elasticsearch根目录执行此命令)

    chown -R es:es  elasticsearch-7.0.0
    

    注意:如果data和log目录不在elasticsearch-7.0.0目录中,则也要对data和log目录使用此命令

  3. 切换到es用户再启动 [在bin目录下]

     ./elasticsearch
     或
     ./elasticsearch -d
    
  4. 访问IP:9200即可查看elasticsearch基本信息

2. bootstrap checks failed
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决办法:

切换到root用户

ulimit -Hn 查看硬限制

ulimit -Hn

查看到:4096

1.修改vim /etc/security/limits.conf

vim /etc/security/limits.conf

添加下面设置:

* soft nofile 65536
* hard nofile 65536

此文件修改后需要重新登录用户,才会生效

重新 ulimit -Hn 查看硬限制 会发现数值有4096改成65535

2.修改vi /etc/sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

再次切换到es用户下启动

启动成功

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值