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 版本。
参考文档:
- https://blog.csdn.net/qq_23126581/article/details/137470738
- https://www.cnblogs.com/hellxz/p/16697267.html
- https://www.cnblogs.com/xinxiucan/p/12606076.html
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延迟插件 下载地址:
- https://github.com/rabbitmq/rabbitmq-delayed-message-exchange
- https://github.com/ekapusta/docker-rabbitmq/blob/master/rabbitmq_delayed_message_exchange-0.0.1-rmq3.5.x-9bf265e4.ez
- https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/files/6739267/rabbitmq_delayed_message_exchange-20171215-3.6.x.zip
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 的安装和设置
参考文档:
- https://developer.aliyun.com/article/1402896
- https://blog.csdn.net/baozi7263/article/details/142720117
下载和安装
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可执行文件:
- 服务端可执行文件(minio)下载: https://dl.min.io/server/minio/release/linux-arm64/
- 客户端可执行文件(mc)下载: https://dl.min.io/client/mc/release/linux-arm64/
把文件下载到
/data/data_d/programs/minio.RELEASE.2025-03-12目录,然后修改文件权限,并添加到环境变量:
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 表示启动成功!
评论