java8 的安装和设置

1tar -zxf jdk-8u441-linux-aarch64.tar.gz -C /data/data_d/programs
2
3echo -e '\n# java\nexport JAVA_HOME=/data/data_d/programs/jdk1.8.0_441\nexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\nexport PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile

安装 php-8.2.10

参考文档: https://blog.csdn.net/beichuchuanyue/article/details/133086809

 1# 安装依赖
 2root@kylin-os:~# apt install gcc pkg-config libxml2-dev libsqlite3-dev zlib1g-dev libbz2-dev libcurl4-openssl-dev libssl-dev libffi-dev libpng-dev libpng-dev libwebp-dev libjpeg-dev libonig-dev libzip-dev gcc automake autoconf libtool make -y
 3
 4# 下载源码
 5root@kylin-os:~# wget -P /data/data_d/downloads https://www.php.net/distributions/php-8.2.10.tar.gz
 6
 7# 解压
 8root@kylin-os:~# tar -zxf /data/data_d/downloads/php-8.2.10.tar.gz -C /data/data_d/src
 9
10root@kylin-os:~# cd /data/data_d/src/php-8.2.10
11
12# 编译前的配置
13# --prefix 表示设置php安装目录,一般制定为:/usr/local/php
14# --sysconfdir 表示设置php的配置目录,一般制定为:/etc/php
15root@kylin-os:/data/data_d/src/php-8.2.10# ./configure --prefix=/data/data_d/programs/php-8.2.10 --sysconfdir=/data/data_d/programs/php-8.2.10/etc --with-openssl --with-zlib --with-bz2 --with-curl --enable-bcmath --enable-gd --with-webp --with-jpeg --with-mhash --enable-mbstring --with-imap-ssl --with-mysqli --enable-exif --with-ffi --with-zip --enable-sockets --with-pcre-jit --enable-fpm --with-pdo-mysql --with-freetype --without-pear  --disable-phar
16
17root@kylin-os:/data/data_d/src/php-8.2.10# make
18
19root@kylin-os:/data/data_d/src/php-8.2.10# make install
20
21# 生成php.ini
22root@kylin-os:/data/data_d/src/php-8.2.10# cp php.ini-development /data/data_d/programs/php-8.2.10/lib/php.ini
23
24# 添加到环境变量,并使之生效
25root@kylin-os:/data/data_d/src/php-8.2.10# echo -e '\nexport PATH=$PATH:/data/data_d/programs/php-8.2.10/bin' >> /etc/profile
26root@kylin-os:/data/data_d/src/php-8.2.10# source /etc/profile
27
28# 查看安装版本
29root@kylin-os:/data/data_d/src/php-8.2.10# php -v
30
31# 编译安装完成后,再安装pear
32root@kylin-os:/data/data_d/src/php-8.2.10# wget -P /data/data_d/downloads http://pear.php.net/go-pear.phar 
33root@kylin-os:/data/data_d/src/php-8.2.10# php /data/data_d/downloads/go-pear.phar

安装 redis-7.2.7

 1# 安装依赖
 2root@kylin-os:/data/data_d/downloads# apt install build-essential
 3
 4
 5# 下载
 6root@kylin-os:/data/data_d/downloads# wget https://download.redis.io/releases/redis-7.2.7.tar.gz
 7root@kylin-os:/data/data_d/downloads# tar -xzf redis-7.2.7.tar.gz -C /data/data_d/src
 8root@kylin-os:/data/data_d/downloads# cd /data/data_d/src/redis-7.2.7
 9
10
11## PREFIX 可选,指定安装目录
12root@kylin-os:/data/data_d/src/redis-7.2.7# make PREFIX=/data/data_d/programs/redis-7.2.7 install
13
14
15# 添加到环境变量,并使之生效
16root@kylin-os:/data/data_d/src/redis-7.2.7# echo -e '\nexport PATH=$PATH:/data/data_d/programs/redis-7.2.7/bin' >> /etc/profile
17root@kylin-os:/data/data_d/src/redis-7.2.7# source /etc/profile
18
19
20## 创建 redis 持久化目录
21root@kylin-os:/data/data_d/src/redis-7.2.7# mkdir /data/data_d/programs/redis-7.2.7/data
22
23
24## 把 redis 配置文件从源码目录复制到安装目录
25root@kylin-os:/data/data_d/src/redis-7.2.7# cp /data/data_d/src/redis-7.2.7/redis.conf /data/data_d/programs/redis-7.2.7
26
27
28## 修改 redis 配置
29root@kylin-os:/data/data_d/src/redis-7.2.7# vim /data/data_d/programs/redis-7.2.7/redis.conf
30# 去掉IP绑定,让其他服务可以访问(注释 bind 127.0.0.1 -::1 所在的行):
31# bind 127.0.0.1 -::1
32
33# 以守护进程的方式运行 Redis(修改 daemonize)
34daemonize yes
35
36# 关闭保护模式(修改 protected-mode)
37protected-mode no
38
39# 设置密码(根据实际需要,开发环境就没有必要了)
40# 去掉 requirepass foobared 所在的行注释,修改为自己想要的密码,如:
41requirepass 123456
42
43## 指定持久化目录
44dir /data/data_d/programs/redis-7.2.7/data

运行redis

1root@kylin-os:/data/data_d/programs/redis-7.2.7# redis-server /data/data_d/programs/redis-7.2.7/redis.conf
223372:C 09 Mar 2025 17:49:55.110 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

这里有个问题,参考这个文档: https://blog.csdn.net/qq_34556414/article/details/107027841
在分析这个问题之前, 首先要弄清楚什么是overcommit?
Linux操作系统对大部分申请内存的请求都回复yes, 以便能运行更多的程序。 因为申请内存后, 并不会马上使用内存, 这种技术叫做overcommit。
如果Redis在启动时有上面的日志, 说明vm.overcommit_memory=0, Redis提示把它设置为1。
解决方式:

 1# 没改设置之前
 2[root@localhost ~]# cat /proc/sys/vm/overcommit_memory 
 30
 4
 5# 修改设置
 6[root@localhost ~]# echo "vm.overcommit_memory=1" >> /etc/sysctl.conf 
 7[root@localhost ~]# sysctl vm.overcommit_memory=1
 8vm.overcommit_memory = 1
 9
10# 修改设置之后
11[root@localhost ~]# cat /proc/sys/vm/overcommit_memory 
121

这样就没有问题了。再次运行即可。

关闭redis服务:

1[root@localhost ~]# /data/data_d/programs/redis-7.2.7/bin/redis-cli -a 123456 shutdown

安装 mysql-8.0.40

下载地址:https://downloads.mysql.com/archives/community/
下载前,注意查看系统支持的 glibc 版本。

1root@kylin-os:~# strings  /lib/aarch64-linux-gnu/libc.so.6 | grep GLIBC
2GLIBC_2.17
3GLIBC_2.18
4GLIBC_2.22
5GLIBC_2.23
6GLIBC_PRIVATE
7GNU C Library (Ubuntu GLIBC 2.23-0kord4k3) stable release version 2.23, by Roland McGrath et al.

因此,我们下载 mysql-8.0.40-linux-glibc2.17-aarch64.tar.xz 这个安装包。

 1# 创建一个专门用于 MySQL 的用户和组
 2root@kylin-os:/data/data_d/downloads# groupadd mysql
 3root@kylin-os:/data/data_d/downloads# useradd -r -g mysql -s /bin/false mysql
 4
 5# 安装依赖
 6root@kylin-os:/data/data_d/downloads# apt install libaio1 libaio-dev libncurses5 libncurses5-dev -y
 7
 8# 下载后解压
 9# 下载地址:https://dev.mysql.com/downloads/mysql/
10root@kylin-os:/data/data_d/downloads# tar -xf mysql-8.0.40-linux-glibc2.17-aarch64.tar.xz -C /data/data_d/programs
11root@kylin-os:/data/data_d/downloads# chown -R mysql:mysql /data/data_d/programs/mysql-8.0.40-linux-glibc2.17-aarch64
12
13root@kylin-os:/data/data_d/downloads# ln -s /data/data_d/programs/mysql-8.0.40-linux-glibc2.17-aarch64 /usr/local/mysql
14root@kylin-os:/data/data_d/downloads# chown -R mysql:mysql /usr/local/mysql
15
16
17# 添加到环境变量,并使之生效
18root@kylin-os:/data/data_d/downloads# echo -e '\nexport PATH=$PATH:/data/data_d/programs/mysql-8.0.40-linux-glibc2.17-aarch64/bin' >> /etc/profile
19root@kylin-os:/data/data_d/downloads# source /etc/profile
20
21
22# 初始化
23root@kylin-os:/usr/local/mysql# mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize-insecure

mySQL启动时读取配置文件的顺序,排在前面的优先级最高:

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • /usr/local/mysql/etc/my.cnf
  • ~/.my.cnf

若没有设置使用指定目录下的my.cnf文件及默认读取目录下没有my.cnf文件,则表示mysql启动时并没有加载配置文件,而是使用的默认配置。

新建 /etc/my.cnf,内容如下:

 1[mysql]
 2default-character-set=utf8mb4
 3
 4[client]
 5port=3306
 6default-character-set=utf8mb4
 7#socket=/var/lib/mysql/mysql.sock
 8
 9[mysqld]
10user=mysql
11port=3306
12basedir=/usr/local/mysql
13datadir=/usr/local/mysql/data
14character-set-server=utf8mb4
15#socket=/var/lib/mysql/mysql.sock
16# 如果是开发,下面的配置可以有效降低mysql的内存占用
17performance_schema_max_table_instances=400
18table_definition_cache=400
19table_open_cache=256
20performance_schema=off

一般来说,单实例只要设置mysqld中的 port、basedir、datadir、character-set-server 即可

启动数据库服务

1# 以守护进程方式启动:
2mysqld_safe & 
3# 普通方式启动:
4mysqld &
5# 如果my.cnf不在mysql默认的目录下,需要指定启动参数,例如:
6mysqld_safe --defaults-file=/usr/local/mysql/my.cnf & 
7# 或者:
8mysqld --defaults-file=/usr/local/mysql/my.cnf &

首次登录方式

因为本文是以无密码初始化,所以首次登录不需要密码

 1mysql
 2#登录后,可修改 root 初始化密码:
 3alter user 'root'@'localhost' identified by '123456';
 4#或者:
 5alter user 'root'@'localhost' identified with mysql_native_password by '123456';
 6# 创建 admin 账号用于远程登录:
 7create user 'admin'@'%' identified with mysql_native_password by '123456';
 8grant all privileges on *.* to 'admin'@'%' with grant option;
 9# 刷新用户权限:
10flush privileges;

关闭数据库服务

mysqladmin shutdown -u root -p

安装 nginx-1.25.3

 1# 安装依赖
 2root@kylin-os:/data/data_d/downloads# apt -y install gcc make libssl-dev zlib1g-dev libgd-dev libgeoip-dev libpcre2-dev libpcre3-dev
 3
 4# 下载
 5root@kylin-os:/data/data_d/downloads# wget http://nginx.org/download/nginx-1.25.3.tar.gz
 6
 7# 解压
 8root@kylin-os:/data/data_d/downloads# tar -zxf nginx-1.25.3.tar.gz -C /data/data_d/src
 9
10# 编译和安装
11root@kylin-os:/data/data_d/downloads# cd /data/data_d/src/nginx-1.25.3
12root@kylin-os:/data/data_d/src/nginx-1.25.3# ./configure --prefix=/data/data_d/programs/nginx-1.25.3 --with-http_ssl_module
13root@kylin-os:/data/data_d/src/nginx-1.25.3# make
14root@kylin-os:/data/data_d/src/nginx-1.25.3# make install
15
16# 添加到环境变量,并使之生效
17root@kylin-os:/data/data_d/downloads# echo -e '\nexport PATH=$PATH:/data/data_d/programs/nginx-1.25.3/sbin' >> /etc/profile
18root@kylin-os:/data/data_d/downloads# source /etc/profile

nginx 服务的启动和关闭

1# 启动
2$ nginx
3
4# 重新载入nginx配置
5$ nginx -s reload
6
7# 关闭
8$ nginx -s stop

安装 apache 2.4

参考文章:https://blog.csdn.net/zhangh571354026/article/details/132921213

apache 的编译安装

 1# 下载源码
 2$ wget https://mirrors.aliyun.com/apache/apr/apr-1.7.5.tar.gz
 3$ wget https://mirrors.aliyun.com/apache/apr/apr-util-1.6.3.tar.gz
 4$ wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
 5$ wget https://dlcdn.apache.org/httpd/httpd-2.4.63.tar.gz
 6
 7# 安装依赖
 8$ apt install build-essential libpcre3 libpcre3-dev libssl-dev libexpat1-dev libapr1-dev libaprutil1-dev -y
 9
10
11# 解压
12$ tar -zxf httpd-2.4.63.tar.gz -C /data/data_d/src
13
14# 此处,把 apr 和 apr-util 放到 apache 源码下的 srclib 目录中
15$ tar -zxf apr-1.7.5.tar.gz -C /data/data_d/src/httpd-2.4.63/srclib
16$ mv /data/data_d/src/httpd-2.4.63/srclib/apr-1.7.5 /data/data_d/src/httpd-2.4.63/srclib/apr
17$ tar -zxf apr-util-1.6.3.tar.gz -C /data/data_d/src/httpd-2.4.63/srclib
18$ mv /data/data_d/src/httpd-2.4.63/srclib/apr-util-1.6.3 /data/data_d/src/httpd-2.4.63/srclib/apr-util
19
20# 编译 apache
21$ cd /data/data_d/src/httpd-2.4.63
22$ ./configure --prefix=/data/data_d/programs/httpd-2.4.63 --enable-ssl --enable-so --with-included-apr --with-pcre
23$ make
24$ make install
25
26
27# 编辑配置文件
28$ vim /data/data_d/programs/httpd-2.4.63/conf/httpd.conf
29修改 ServerName 为 0.0.0.0:80
30
31
32
33# 添加到环境变量,并使之生效
34root@kylin-os:/data/data_d/downloads# echo -e '\nexport PATH=$PATH:/data/data_d/programs/httpd-2.4.63/bin' >> /etc/profile
35root@kylin-os:/data/data_d/downloads# source /etc/profile

apache 的启动和关闭

1# 启动
2apachectl start
3
4# 停止
5apachectl stop
6
7# 重新启动 Apache 服务
8apachectl graceful

安装 RabbitMQ

1# 安装erlang环境
2apt install erlang
3
4# 查看erlang语言版本,成功执行则说明relang安装成功(当前版本为:Erlang/OTP 18)
5erl
6Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:16:4] [async-threads:10] [kernel-poll:false]
7Eshell V7.3  (abort with ^G)

方法一:apt 方式安装

注意:该方式安装的rabbitmq版本较低,不建议采用此方式安装

1# 安装rabbitmq
2apt install rabbitmq-server
3
4# 启动web管理插件,可以在页面管理
5rabbitmq-plugins enable rabbitmq_management
6
7# 需要重启服务
8systemctl restart rabbitmq-server

打开浏览器输入 http://localhost:15672,默认用户名密码:guest/guest,就可以看到管理界面了。
注意:此时rabbitmq只能通过localhost访问,并用guest登录,远程使用guest登录不了,需要创建新的用户,并给用户设置相应权限的角色

方法二:解压方式安装

RabbitMQ 是一个开源的AMQP实现,是建立在强大的Erlang OTP平台上,服务器端用Erlang语言编写,因此安装RabbitMQ的前提是安装Erlang。 Erlang 下载链接:https://www.erlang.org/downloads
RabbitMQ Erlang 版本要求:https://www.rabbitmq.com/which-erlang.html
下载安装之前一定要看看,选择兼容的版本(如果是采用上面的apt方式安装,就不用考虑版本的问题)。
由于上面的Erlang版本为:Erlang/OTP 18,所以我们安装 rabbitmq_v3_6_14 版本。
参考文档:

RabbitMQ的下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_14

RabbitMQ的安装:

1$ tar -xJf rabbitmq-server-generic-unix-3.6.14.tar.xz -C /data/data_d/programs
2
3$ cd /data/data_d/programs/rabbitmq_server-3.6.14
4
5# 提前创建数据文件和日志文件目录
6$ mkdir -p data/{mnesia,log}

修改运行的配置 rabbitmq-env.conf (可选;主要是设置数据文件、日志文件位置;否则使用默认设置)
vim etc/rabbitmq/rabbitmq-env.conf 内容如下:

1#配置数据文件存放位置
2RABBITMQ_MNESIA_BASE=/data/data_d/programs/rabbitmq_server-3.6.14/data/mnesia
3#配置日志文件存放位置
4RABBITMQ_LOG_BASE=/data/data_d/programs/rabbitmq_server-3.6.14/data/log
5#端口设置,默认为5672
6#RABBITMQ_NODE_PORT=5672
7#节点名称,默认为rabbit
8#RABBITMQ_NODENAME=rabbit

添加到环境变量,并使之生效

1$ echo -e '\nexport RABBITMQ_HOME=/data/data_d/programs/rabbitmq_server-3.6.14' >> /etc/profile
2$ echo -e 'export PATH=$RABBITMQ_HOME/sbin:$PATH' >> /etc/profile
3$ source /etc/profile

服务的启动和停止

 1运行RabbitMQ服务
 2$ rabbitmq-server -detached
 3
 4查看服务运行状态及端口
 5$ rabbitmqctl status
 6
 7查看可用插件
 8$ rabbitmq-plugins list
 9
10启动Web管理插件
11$ rabbitmq-plugins enable rabbitmq_management
12
13停止rabbitMQ服务
14$ rabbitmqctl stop

RabbitMQ延迟插件 下载地址:

1# 启用插件
2rabbitmq-plugins enable rabbitmq_delayed_message_exchange
3# 关闭插件
4rabbitmq-plugins disable rabbitmq_delayed_message_exchange

方法三:编译安装 Erlang + RabbitMQ

 1apt install build-essential openssl libncurses5-dev gcc g++ unixodbc-dev freeglut3-dev libssl-dev libwxgtk3.0-dev make -y
 2
 3tar -zxf otp_src_24.3.4.17.tar.gz -C /data/data_d/src
 4
 5cd /data/data_d/src/otp_src_24.3.4.17
 6
 7./configure --prefix=/data/data_d/programs/otp_24.3.4.17 --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
 8
 9make
10
11make install

添加到环境变量,并使之生效

1echo -e '\n#Erlang' >> /etc/profile
2
3echo -e 'export ERLANG_HOME=/data/data_d/programs/otp_24.3.4.17' >> /etc/profile
4
5echo -e 'export PATH=$PATH:$ERLANG_HOME/bin' >> /etc/profile
6
7source /etc/profile

安装 RabbitMQ

 1tar -xJf rabbitmq-server-generic-unix-3.10.25.tar.xz -C /data/data_d/programs
 2
 3cd /data/data_d/programs/rabbitmq_server-3.10.25
 4
 5mkdir -p data/{mnesia,log}
 6
 7vim etc/rabbitmq/rabbitmq-env.conf
 8#内容如下:
 9#配置数据文件存放位置
10RABBITMQ_MNESIA_BASE=/data/data_d/programs/rabbitmq_server-3.10.25/data/mnesia
11#配置日志文件存放位置
12RABBITMQ_LOG_BASE=/data/data_d/programs/rabbitmq_server-3.10.25/data/log
13#端口设置,默认为5672
14#RABBITMQ_NODE_PORT=5672
15#节点名称,默认为rabbit
16#RABBITMQ_NODENAME=rabbit

添加到环境变量,并使之生效

1echo -e '\n#RabbitMQ' >> /etc/profile
2
3echo -e 'export RABBITMQ_HOME=/data/data_d/programs/rabbitmq_server-3.10.25' >> /etc/profile
4
5echo -e 'export PATH=$PATH:$RABBITMQ_HOME/sbin' >> /etc/profile
6
7source /etc/profile

下载并安装 rabbitmq 延迟插件

1wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/tag/3.10.2
2
3unzip rabbitmq_delayed_message_exchange-3.10.2.ez -d /data/data_d/programs/rabbitmq_server-3.10.25/plugins
4
5rabbitmq-plugins enable rabbitmq_delayed_message_exchange

RabbitMQ 角色

  • 超级管理员(administrator)
  • 监控者(monitoring)
  • 策略制定者(policymaker)
  • 普通管理者(management)
  • 其他

RabbitMQ 的用户管理

 1# 查看rabbitmq下面的所有用户
 2rabbitmqctl list_users
 3
 4# 增加普通用户(admin是我新增的用户名,123456是我设定的密码)
 5rabbitmqctl add_user admin 123456 
 6
 7# 密码重置(重置用户名是admin的密码为admin)
 8rabbitmqctl change_password admin admin
 9
10# 分配角色(为admin这个用户分配超级管理员角色)
11rabbitmqctl set_user_tags admin administrator    
12
13赋予用户对所有虚拟主机的访问权限
14rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
15
16# 删除一个用户(删除一个用户名为root的用户)
17rabbitmqctl delete_user root

minio 的安装和设置

参考文档:

下载和安装

1创建minio根目录
2mkdir -p /data/data_d/programs/minio.RELEASE.2025-03-12
3
4创建数据目录和日志目录
5mkdir -p /data/data_d/programs/minio.RELEASE.2025-03-12/{data,logs}

下载minio可执行文件:

1cd /data/data_d/programs/minio.RELEASE.2025-03-12
2chmod 755 minio
3chmod 755 mc
4
5# 添加到环境变量
6echo -e '\n#minio' >> /etc/profile
7echo -e 'export PATH=$PATH:/data/data_d/programs/minio.RELEASE.2025-03-12' >> /etc/profile
8source /etc/profile

minio 服务的启动和停止

创建启动脚本:vi start-minio.sh,内容如下:

 1#!/bin/bash
 2
 3# 登录用户名
 4export MINIO_ROOT_USER=root
 5
 6# 登录密码;必须包含大小写字母,特殊符号,数字,且长度不少于8位,否则会报启动认证失败
 7export MINIO_ROOT_PASSWORD=rooT@123
 8
 9# 当前时间的字符串
10now=$(date +'%Y-%m-%d')
11
12# 启动
13nohup minio server /data/data_d/programs/minio.RELEASE.2025-03-12/data --address 0.0.0.0:9000 --console-address 0.0.0.0:9001 >> /data/data_d/programs/minio.RELEASE.2025-03-12/logs/minio.${now}.log 2>&1 &

启动命令说明:

  • –address 表示访问api服务的启动ip和端口,可选;默认端口是9000
  • –console-address 表示web控制台的ip和端口

创建停止脚本:vi stop-minio.sh,内容如下:

1#!/bin/bash
2
3# 获取进程id,然后kill
4ps -ef | grep "minio server" |grep -v grep | awk '{print $2}' |xargs -r kill -9

为脚本授权

1chmod 755 start-minio.sh stop-minio.sh

最后,执行./start-minio.sh,如果可以成功访问web控制台 http://192.168.0.114:9001 表示启动成功!