• Linux 环境安装【jdk、Tomcat、Docker、Maven、Kafka、Redis等】


    安装软件一般有三种方式:

    • rpm(Jdk :在线发布一个SringBoot项目 )
    • 解压缩( tomcat ,启动并通过外网访问,发布网站)
    • yum在线安装( docker :直接安装运行跑起来docker就可以! ) !
    • 安装tomcat、Maven、Kafka、ElasticSearch(tar.gz文件)
    • yum在线安装mysql、redis、wkhtmltopdf

    jdk安装(rpm安装)

    1.  rpm下载地址:Java Archive Downloads - Java SE 15
    2. 传到linux环境
    3. 检查是否存在其他版本
      1. # 检查
      2. [root@kuangshen ~]# rpm -qa|grep jdk
      3. jdk1.8.0_121-1.8.0_121-fcs.x86_64
      4. # 卸载 -e --nodeps 强制删除
      5. [root@kuangshen ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64
      6. [root@kuangshen ~]# java -version
      7. -bash: /usr/bin/java: No such file or directory # OK
    4. 使用命令安装
      [root@localhost lml]# rpm -ivh jdk-15.0.2_linux-x64_bin.rpm 
    5. 检查版本
    6. 配置环境变量
      1. JAVA_HOME=/usr/java/jdk-15.0.2
      2. CLASSPATH=%JAVA_HOME%/lib
      3. PATH=$PATH:$JAVA_HOME/bin
      4. export PATH CLASSPATH JAVA_HOME
    7. 设置环境变量生效
      [root@localhost etc]# source /etc/profile
      

    Tomcat安装(解压缩安装)

    1、安装好了Java环境后我们可以测试下Tomcat!准备好Tomcat的安装包!

    2、将文件移动到/usr/tomcat/下,并解压!

    1. [root@localhost lml]# mv apache-tomcat-9.0.65.tar.gz /usr
    2. [root@localhost lml]# cd /usr
    3. [root@localhost usr]# ls
    4. apache-tomcat-9.0.65.tar.gz etc include lib libexec sbin src
    5. bin games java lib64 local share tmp
    6. [root@localhost usr]# tar -zxvf apache-tomcat-9.0.65.tar.gz
    7. apache-tomcat-9.0.65/conf/

    3、 运行Tomcat,进入bin目录,和我们以前在Windows下看的都是一样的

    1. [root@localhost bin]# ./startup.sh
    2. Using CATALINA_BASE: /usr/apache-tomcat-9.0.65
    3. Using CATALINA_HOME: /usr/apache-tomcat-9.0.65
    4. Using CATALINA_TMPDIR: /usr/apache-tomcat-9.0.65/temp
    5. Using JRE_HOME: /usr/java/jdk-15.0.2
    6. Using CLASSPATH: /usr/apache-tomcat-9.0.65/bin/bootstrap.jar:/usr/apache-tomcat-9.0.65/bin/tomcat-juli.jar
    7. Using CATALINA_OPTS:
    8. Tomcat started.

    4、防火墙规则

    1. # 查看firewall服务状态
    2. systemctl status firewalld
    3. # 开启、重启、关闭、firewalld.service服务
    4. # 开启
    5. service firewalld start
    6. # 重启
    7. service firewalld restart
    8. # 关闭
    9. service firewalld stop
    10. # 查看防火墙规则
    11. firewall-cmd --list-all # 查看全部信息
    12. firewall-cmd --list-ports # 只看端口信息
    13. # 开启端口
    14. 开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
    15. 开启http: firewall-cmd --add-service=http --permanent
    16. 重启防火墙:systemctl restart firewalld.service
    17. 命令含义:
    18. --zone #作用域
    19. --add-port=80/tcp #添加端口,格式为:端口/通讯协议
    20. --permanent #永久生效,没有此参数重启后失效

    5.可选方式(方便),可直接下载到虚拟机【找到官网上下载的版本tar.gz文件,选中并右击,复制链接地址】

    wget -i -c https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
    

     解压:

    tar -zvxf  apache-tomcat-9.0.65.tar.gz

    配置环境变量

    export PATH=$PATH:/opt/apache-tomcat-9.0.65/bin
    

     使其生效

    source /etc/profile

    安装Docker(yum安装)

    基于 CentOS 7 安装

    1. 官网安装参考手册:https://docs.docker.com/install/linux/docker-ce/centos/

    2. 确定你是CentOS7及以上版本

    1. [root@localhost bin]# cat /etc/redhat-release
    2. CentOS Linux release 7.9.2009 (Core)

    3、yum安装gcc相关(需要确保 虚拟机可以上外网 )

    1. yum -y install gcc
    2. yum -y install gcc-c++

    4、卸载旧版本

    1. yum -y remove docker docker-common docker-selinux docker-engine
    2. # 官网版本
    3. yum remove docker \
    4. docker-client \
    5. docker-client-latest \
    6. docker-common \
    7. docker-latest \
    8. docker-latest-logrotate \
    9. docker-logrotate \
    10. docker-engine

    5、安装需要的软件包

    yum install -y yum-utils device-mapper-persistent-data lvm2
    

    6、设置stable镜像仓库

    1. # 错误
    2. yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    3. ## 报错
    4. [Errno 14] curl#35 - TCP connection reset by peer
    5. [Errno 12] curl#35 - Timeout
    6. # 正确推荐使用国内的
    7. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    7、更新yum软件包索引

    yum makecache fast
    

    8、安装Docker CE

    yum -y install docker-ce docker-ce-cli containerd.io
    

    9、启动docker

    systemctl start docker
    

    10、测试

    1. docker version
    2. docker run hello-world

    11、报错

    1. [root@localhost /]# docker run hello-world
    2. Unable to find image 'hello-world:latest' locally
    3. docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout.
    4. See 'docker run --help'.

    解决办法:

    Docker 拉取镜像报错Error response from daemon: Get “https://registry-1.docker.io/...:net/http: TLS timeout_AdamShyly的博客-CSDN博客

    12、继续测试

    1. docker run hello-world
    2. docker images

    Maven

    1.找到官网上下载的版本tar.gz文件(版本3.6.3),选中并右击,复制链接地址

    Index of /dist/maven/maven-3/3.6.3/binaries

    2.命令下载到linux服务器,输入命令,等待下载

    [root@localhost lml]# wget -i -c https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
    

    3.解压

    [root@localhost lml]# tar -zvxf apache-maven-3.6.3-bin.tar.gz 

    4.配置环境变量

    [root@localhost bin]# vim /etc/profile

    5.加入环境变量

    export PATH=$PATH:/opt/apache-maven-3.6.3/bin
    

    6.使其生效

    1. [root@localhost bin]# source /etc/profile #生效
    2. [root@localhost bin]# echo $PATH #查看变量
    3. /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin:/opt/apache-maven-3.6.3/bin
    4. [root@localhost bin]# mvn -version #查看版本
    5. Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
    6. Maven home: /opt/apache-maven-3.6.3
    7. Java version: 1.8.0_121, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_121/jre
    8. Default locale: en_US, platform encoding: UTF-8
    9. OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"

    安装MySQL

    1. 找到官网上下载的版本文件,选中并右击,复制链接地址

    https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm

    2. 使用命令下载在linux服务器

    wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm

     3. 安装

    yum install -y mysql80-community-release-el7-6.noarch.rpm
    

     4. 回到根目录,在yum仓库中找到mysql-community-server.x86_64 

    1. cd /
    2. yum list mysql*
    3. yum install -y mysql-community-server.x86_64

    5.如果出现错误

    Centos7.x下安装mysql8遇到的问题Couldn‘t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022

    可以参考:Centos7.x下安装mysql8遇到的问题Couldn‘t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022_墨者大数据的博客-CSDN博客 6.启动mysql并查看状态

    1. [root@localhost /]# systemctl start mysqld
    2. [root@localhost /]# systemctl status mysqld

    7.查看密码

    [root@localhost /]# grep 'password' /var/log/mysqld.log
    

     8.修改密码

    [root@localhost /]# mysql -u root -p
    

    9.进入mysql修改密码

    alter user root@localhost identified by 'Nowcoder_123'
    

     10.下面是关于牛客网社区开发项目,可忽略

    source /opt/sql/init_schema.sql

    source /opt/sql/init_data.sql

    source /opt/sql/tables_mysql_innodb.sql


    安装Redis

     1. 直接用yum安装

    1. yum list redis* #找到版本
    2. yum install -y redis.x86_64 #安装

    2. 启动服务

    1. systemctl start redis
    2. systemctl status redis

    安装Kafka

    找到官网Apache Kafka上下载的版本tar.gz文件,选中并右击,复制链接地址

    https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz

    1. 使用命令下载在linux服务器(速度慢)可考虑mwget:mwget 安装_cruzeflute的博客-CSDN博客_mwget安装
      wget -i -c https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz
      
    2. 解压
      tar -zxvf kafka_2.13-3.2.0.tgz 

    3. 后台启动zookeeper
      bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 
    4. 后台启动kafka
      nohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &
      
    5. 测试有没有主题,没有输出就是没有问题
      bin/kafka-topics.sh  --list --bootstrap-server localhost:9092
      

     安装ElasticSearch

    1. 找到官网上下载的版本tar.gz文件(版本7.17.4),选中并右击,复制链接地址https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gz
    2. 使用命令下载在linux服务器
       wget -i -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gz
    3. 解压
      tar -zxvf elasticsearch-7.17.4-linux-x86_64.tar.gz

      4.安装ik并解压到/opt/elasticsearch-7.17.4/plugins/ik

      unzip -d /opt/elasticsearch-7.17.4/plugins/ik elasticsearch-analysis-ik-7.17.4.zip
      

      5.配置并检查健康情况

      1. # vim config/elasticsearch.yml # 取消下方内容的注释,修改以下内容
      2. cluster.name: nowcoder
      3. path.data: /tmp/elastic/data
      4. path.logs: /tmp/elastic/logs
      5. node.name: node-1
      6. discovery.seed_hosts: ["127.0.0.1"]
      7. cluster.initial_master_nodes: ["node-1"]
      8. # vim config/jvm.options # 取消下方内容的注释,修改以下内容,这两个参数要顶格写。
      9. -Xms512m
      10. -Xmx512m


     安装wkhtmltopdf

     1. 直接用yum安装

    1. yum list wkhtmltopdf* #找到版本
    2. yum install -y wkhtmltopdf.x86_64 #安装

    2. yum安装xvfb,让Linux可视化。因为wkhtmltopdf会生成图片,图片是可视化的。

    1. yum list *xvfb*
    2. yum install -y xorg-x11-server-Xvfb.x86_64

    3. 测试 

    1. cd /home/lml/test
    2. xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage https://www.baidu.com 1.png
    3. cd /opt
    4. vim wkhtmltoimage.sh # /opt/wkhtmltoimage.sh文件里只有这一句话

    这句话

    xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage "$@"

    修改权限并测试

    1. ll
    2. chmod +x wkhtmltoimage.sh
    3. cd /home/lml/test
    4. /opt/wkhtmltoimage.sh https://www.baidu.com 2.png

    安装Nginx

    过程:看nginx 安装 - 深夜独行侠 - 博客园

    配置:

    1. [root@localhost sbin]#vim /usr/local/nginx/conf/nginx.conf # http的大括号里,去掉原先的server,加上下面这个
    2. # http是80端口,https是443端口。默认是80端口,于是访问120.77.151.233会变为120.77.151.233:80,然后被服务器中的nginx映射到120.77.151.233:8080。
    3. upstream myserver{
    4. server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
    5. }
    6. server{
    7. listen 80;
    8. server_name 192.168.239.129;
    9. location / {
    10. proxy_pass http://myserver;
    11. }
    12. }

    可能的问题:

     需杀死占用80端口的线程:命令查看,然后杀死,可参考

    lsof -i:80
    

    [root@localhost sbin]# kill -9 79817
    

    重新启动nginx

  • 相关阅读:
    玩转ChatGPT:图像识别(vol. 1)
    (2022最新)Java毕业设计参考题目-题目新颖(值得收藏)
    Logistic回归实战---疝气病症预测病马的死亡率
    CUR矩阵分解
    质因数个数,蓝桥杯研究生Python组
    Qt_Ymodem自己实现
    Lambda表达式详解
    vue+element作用域插槽
    【华为游戏服务】同一游戏同一个手机号的华为帐号登录返回的playerId不同
    Kafka概述及使用
  • 原文地址:https://blog.csdn.net/lml11111/article/details/126057627