Linux三:软件部署

文章目录

  • 1 JAVA
    • 1.1 jdk
    • 1.2 maven
    • 1.3 tomcat
  • 2 数据库
    • 2.1 MySQL
    • 2.2 Redis
  • 3 中间件
    • 3.1 nginx
    • 3.2 kafka
    • 3.3 flink
    • 3.4 storm
  • 4 Python3

1 JAVA

说明

  1. 本文用到的所有软件均可从文末软件链接中获取,下文不再赘述软件来源。
  2. 本博客操作环境:麒麟10 【类似 CentOS8】

1.1 jdk

安装

  1. 检查是否安装有 openjdk,若有则卸载 (CentOS7 默认有)

    # 查询 java,若有则会显示版本号,然后执行下面卸载命令即可
    rpm -qa|grep java
    # 卸载
    rpm -e --nodeps 上面查出来的版本号
    
  2. 使用 xftp 工具或者 scp 命令,将 jdk 软件传到 linux 服务器

    # 以 scp 命令为例
    scp jdk-11.0.11_linux-x64_bin.tar.gz [email protected]:/tmp
    
  3. 解压

    # 先进入 /tmp 目录,然后解压到 /usr/local 目录下
    [root@localhost tmp]# cd /tmp
    [root@localhost tmp]# tar -zxvf jdk-11.0.11_linux-x64_bin.tar.gz -C /usr/local/
    
  4. 配置环境

    # 使用命令 vim /etc/profile 编辑配置文件,在文件末尾加入如下信息
    
    # java env
    export JAVA_HOME=/usr/local/jdk-11.0.11
    export PATH=$JAVA_HOME/bin:$PATH
     
    # 更新配置文件
    source /etc/profile
    
  5. 查看

    [root@localhost jdk-11.0.11]# java -version
    java version "11.0.11" 2021-04-20 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)
    

运行 helloworld 程序

/**
 * 先 cd /usr/local/src/,然后 vi HelloWorld.java,填入下面代码
 * 
 * javac HelloWorld.java
 * java  HelloWorld
 */
public class HelloWorld{
	public static void main(String[] args){
		System.out.println("Hello World !");
	}
}

1.2 maven

  • 注:一般开发在 windows 上,因此会在 windows 上使用 mvn 命令打成 jar 包后上传至 linux 服务器,故 linux 上安装 maven 感觉并不常见、因为打包一般都在 windows 上进行了。
# 1. 上传至 linux 服务器
scp apache-maven-3.5.2-bin.tar.gz [email protected]:/tmp

# 2. 解压
cd /tmp
tar -zxvf apache-maven-3.5.2-bin.tar.gz -C /usr/local/

# 3. 配置环境,在 profile 文件末尾加上两句 export(缩进部分),然后更新配置文件
vi /etc/profile
    export MAVEN_HOME=/usr/local/apache-maven-3.5.2
    export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile

# 4. 查看版本
mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /usr/local/apache-maven-3.5.2
Java version: 11.0.11, vendor: Oracle Corporation
Java home: /usr/local/jdk-11.0.11
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "4.19.90-23.8.v2101.ky10.x86_64", arch: "amd64", family: "unix"

1.3 tomcat

# 1. 上传软件至 linux 服务器
scp apache-tomcat-9.0.0.M1.tar.gz [email protected]:/tmp

# 2. 解压
tar -zxvf apache-tomcat-9.0.0.M1.tar.gz -C /usr/local/

# 3. 启动
cd /usr/local/apache-tomcat-9.0.0.M1/
bin/startup.sh

# 4. 本机访问远程tomcat,结果见下图
# 需要关闭防火墙或者开放8080端口(8080是tomcat默认端口,云服务器时要记得在安全组中开放对应端口)
# 关闭防火墙命令 systemctl stop firewalld
http://192.168.192.132:8080/

Linux三:软件部署_第1张图片

2 数据库

2.1 MySQL

# 1. 环境检查(若存在 mariadb 则删除)
rpm -qa | grep mariadb
mariadb-connector-c-3.0.6-6.ky10.x86_64		# 若是存在 mariadb 则会相应版本号,卸载即可
rpm -e --nodeps mariadb-connector-c-3.0.6-6.ky10.x86_64

# 2. 上传软件至linux
# 不建议放 /tmp 目录下,因为该软件比较大会直接把 /tmp 目录占满(可使用 df -h 命令查看),放在 /usr/local 或者其他地方均可
scp mysql-8.0.21-1.el8.x86_64.rpm-bundle.tar [email protected]:/usr/local

# 3. 解压
mkdir -p /usr/local/mysql-8.0
cd /usr/local/
tar -xvf mysql-8.0.21-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql-8.0

# 4. 安装 common -> libs -> client -> server(顺序不能乱)
# --nodeps就是安装时不检查依赖关系,--force就是强制安装
cd /usr/local/mysql-8.0
rpm -ivh mysql-community-common-8.0.21-1.el8.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.21-1.el8.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.21-1.el8.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.21-1.el8.x86_64.rpm --nodeps --force

# 5. 初始化(该步骤很重要,若和我操作系统不一样有可能报错[适用于麒麟10、CentOS8],若是报错自己网上查找解决方案吧)
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R

# 6. 启动 mysql 服务
systemctl start mysqld.service
systemctl enable mysqld		# 开机自启动

# 7. 进入 mysql 数据库
cat /var/log/mysqld.log | grep password		# 查看随机生成的登录密码,冒号后面为密码
mysql -u root -p							# 将上一步的密码粘贴在此处(粘贴一次就好,密码不显示)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';	# 修改密码为 123456
mysql -uroot -p123456						# 可以修改密码后重新进入

# 8. 开启远程访问(进入mysql后执行下面命令)
use mysql;
select host, user from user; 
GRANT ALL ON *.* TO 'root'@'%';		# 若报 error 1410 错误见下面解决方案
# 8.1 "error 1410"错误解决方案
update user set host='%' where user ='root';
flush privileges;
# 8.2 再次执行上面的授权命令并刷新权限
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
# 8.3 测试:使用任意的客户端工具,如 dbeaver、Navicat 等连接;若是没有客户端工具的话,直接在 idea 中进行连接尝试(见下图);当然编写代码进行远程连接测试也可以。【记得关闭防火墙或者开放3306端口】

Linux三:软件部署_第2张图片

2.2 Redis

  • 一般安装 redis5 以上版本,因为redis5后搭建集群的命令集成在 redis-cli 中,redis5之前的版本搭建集群还要安装 ruby 环境,比较麻烦。
# 1. 上传软件至linux
scp redis-5.0.12.tar.gz [email protected]:/tmp

# 2. 解压
cd /tmp/
tar -zxvf redis-5.0.12.tar.gz

# 3. 预编译
cd /tmp/redis-5.0.12
make

# 4. 安装
# # 注:PREFIX 一定要大写!!!该参数用于指定安装路径,否则默认安装到 /usr/local/bin 目录下
mkdir -p /usr/local/redis-5
make PREFIX=/usr/local/redis-5/ install

# 5. 查看,进入下面目录后输入 ll 若出现 bin 目录表示无误
cd /usr/local/redis-5/
ll
总用量 0
drwxr-xr-x 2 root root 134 1123 21:54 bin

# 6. 规划路径(在 redis-5 目录下新建下面三个文件,用于以后放置各种文件)
# 下篇文章(Redis三:主从、哨兵和集群的搭建)介绍主从复制、哨兵、集群的搭建时,均基于该目录结构
mkdir data conf log
ll
drwxr-xr-x 2 root root 134 1123 21:54 bin
drwxr-xr-x 2 root root   6 1123 21:57 conf
drwxr-xr-x 2 root root   6 1123 21:57 data
drwxr-xr-x 2 root root   6 1123 21:57 log

# 7. 启动 redis(截图如下)
bin/redis-server

Linux三:软件部署_第3张图片

扩展:Redis可视化工具 RedisDesktopManager

  1. 可在文末链接中获取该软件

  2. 操作简单,自己摸索会即可使用,截图如下

    # 使用 RedisDesktopManager 远程访问 redis 时需要修改配置
    # 在 conf 目录下新建 redis-6379.conf 配置文件,内容为下面缩进部分
    cd /usr/local/redis-5/conf/
    vi redis-6379.conf
        port 6379
        daemonize yes
        dir "/usr/local/redis-5/data"
        dbfilename dump-6379.rdb
        appendonly yes
        appendfilename "appendonly-6379.aof"
        logfile "/usr/local/redis-5/log/redis-6379.log"
        requirepass 123456
        bind 0.0.0.0
        
    # 然后使用下面命令重启redis
    cd /usr/local/redis-5/
    bin/redis-server conf/redis-6379.conf
    ps -ef | grep redis		# 查看是否启动成功
    
    # CLI操作redis方法
    [root@localhost redis-5]# bin/redis-cli -a 123456
    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379> hset user1 name zhangsan
    (integer) 1
    127.0.0.1:6379> hset user1 age 20
    (integer) 1
    127.0.0.1:6379> hset user1 addr suzhou
    (integer) 1
    

    Linux三:软件部署_第4张图片

3 中间件

3.1 nginx

  1. Nginx 三大功能

    1. 静态web服务器
    2. 动静分离服务器
    3. 反向代理服务器
  2. 部署

    • 使用 OpenResty 作为 Nginx 的发开框架,中文官网 OpenResty
    # 1. 上传软件到服务器
    scp openresty-1.19.3.2.tar.gz [email protected]:/tmp
    
    # 2. 解压
    cd /tmp
    tar -zxvf openresty-1.19.3.2.tar.gz -C /usr/local/
    
    # 3. 安装环境 (否则报下面截图错误)
    # 安装的这些依赖是官网给的,直接 copy 过来安装即可
    yum install pcre-devel openssl-devel gcc curl
    
    # 4. 编译&安装
    cd /usr/local/openresty-1.19.3.2/
    ./configure
    make
    make install
    
    # 此时会把 openresty 安装在 /usr/local/openresty 下
    # 可以使用 `rm -rf /usr/local/openresty-1.19.3.2/`命令删除解压的文件了
    [root@localhost openresty]# cd /usr/local/openresty
    [root@localhost openresty]# ll
    total 248
    drwxr-xr-x.  2 root root    123 Sep  5 22:03 bin				# 该目录下为 openresty 可执行程序
    -rw-r--r--.  1 root root  22924 Sep  5 22:03 COPYRIGHT
    drwxr-xr-x.  6 root root     56 Sep  5 22:03 luajit				# 很多基于 luajit 开发的库
    drwxr-xr-x.  6 root root     70 Sep  5 22:03 lualib
    drwxr-xr-x.  6 root root     54 Sep  5 22:03 nginx				# nginx 目录,与以前单独安装 nginx 目录结构一致
    drwxr-xr-x. 44 root root   4096 Sep  5 22:03 pod
    -rw-r--r--.  1 root root 224167 Sep  5 22:03 resty.index
    drwxr-xr-x.  5 root root     47 Sep  5 22:03 site
    

    Linux三:软件部署_第5张图片

  3. 测试

    # 启动
    cd /usr/local/openresty/nginx/
    sbin/nginx -c conf/nginx.conf
    
    # 补充:reload是nginx无缝重启命令,若是不指定配置文件则默认是conf/nginx.conf
    sbin/nginx -s reload -c conf/nginx-81.conf
    
    • 访问 http://192.168.181.160:80/ ,因为 nginx 默认端口就是80与 http 协议一致,因此可以简写成 http://192.168.181.160/ ,即可访问到界面 (注意:远程访问 nginx 服务器时,要关闭防火墙或者开放端口)

      Linux三:软件部署_第6张图片

3.2 kafka

  1. kafka 英文官网

  2. 安装

    # 以下步骤均来自官网教程(注:安装kafka时要有java环境!)
    # 1. 上传软件到服务器
    scp kafka_2.13-3.0.0.tgz [email protected]:/tmp
    
    # 2. 解压 
    tar -zxvf kafka_2.13-3.0.0.tgz -C /usr/local/
    
    # 3. 启动 zookeeper 和 kafka 服务器
    cd /usr/local/kafka_2.13-3.0.0/
    bin/zookeeper-server-start.sh config/zookeeper.properties
    bin/kafka-server-start.sh config/server.properties
    
    # 4. 创建 topic
    bin/kafka-topics.sh --create --topic topicName --bootstrap-server localhost:9092 --partitions 2 --replication-factor 1
    
    # 5. producer (ctrl+c 结束)
    bin/kafka-console-producer.sh --topic topicName --bootstrap-server localhost:9092
    This is my first event
    This is my second event
    
    # 6. consumer
    bin/kafka-console-consumer.sh --topic topicName --from-beginning --bootstrap-server localhost:9092
    This is my first event
    This is my second event
    

    Linux三:软件部署_第7张图片

3.3 flink

  1. flink 中文官网

  2. 安装

    # 1. 上次软件至linux
    scp flink-1.14.2-bin-scala_2.11.tgz [email protected]:/tmp
    
    # 2. 解压(解压后目录结构见下图)
    tar -zxvf flink-1.14.2-bin-scala_2.11.tgz -C /usr/local/
    
    # 3. 启动
    cd /usr/local/flink-1.14.2	
    bin/start-cluster.sh
    
    # 4. 查看是否成功
    ps -ef | grep flink 或者 ps -aux | grep flink
    
    # 补充: 终止
    bin/stop-cluster.sh
    

    Linux三:软件部署_第8张图片

3.4 storm

  • 暂略

4 Python3

# Python3.x 的安装需要依赖这四个组件:gcc,zlib,zlib-devel,openssl-devel
yum install gcc -y
yum install zlib -y
yum install zlib-devel -y
yum install openssl-devel -y

# 将下载的python上传至服务器(注: py官网 https://www.python.org/downloads/)
scp Python-3.10.0.tgz [email protected]:/tmp

# 解压 & 编译
cd /tmp
tar -zxvf Python-3.10.0.tgz	
cd Python-3.10.0
mkdir /usr/local/python3.10
./configure --prefix=/usr/local/python3.10/
make && make install

# 环境配置
vim /etc/profile
export PYTHON_HOME=/usr/local/python3.10
export PATH=$PYTHON_HOME/bin:$PATH
source /etc/profile		# 保存后使用该命令更新配置文件

# 测试
# 输入`python3`命令,如果能进入python交互环境,则代表安装成功
[root@localhost bin]# python3
Python 3.10.0 (default, Jan 14 2022, 10:57:15) [GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
>>> exit()

软件链接

  • 百度网盘 软件链接,提取码 8888

你可能感兴趣的:(LINUX,linux,kylin,mysql,redis,jdk)