ubuntu 安装常见服务

安装 JDK

JDK (Java Development Kit),是一组 Java 程序开发和运行的必要环境。
根据 Oracle 官网说明 , JDK 从 1.8.202 开始不再提供免费的商用性质授权,故此 1.8.202 是最后一个开源免费版本。
为避免不必要的麻烦,特此约定,公司全系列产品均使用 JDK 1.8.202 版本 (8u202)
你可以在 镜像站的 jdk 目录 下下载 相关资源。

强制规范:JDK 必须安装到 /usr/local/java 目录下

一、安装过程

# 在 /usr/local 下面新建 java 目录
mkdir /usr/local/java
# 下载 jdk 资源
cd /usr/local/java 
wget https://mirrors.cn-nanjing.oss.jshainei.com/source/jdk/jdk-8u202-linux-x64.tar.gz
tar -zxvf jdk-8u202-linux-x64.tar.gz
mv  ./jdk1.8.0_202/* ./
rm -rf ./jdk1.8.0_202/
rm -rf jdk-8u202-linux-x64.tar.gz
# 修改环境变量
echo "export JAVA_HOME=/usr/local/java" >> /etc/profile 
echo "export JRE_HOME=/usr/local/java/jre " >> /etc/profile 
echo "export CLASSPATH=.:/usr/local/java/lib:$/usr/local/java/jre/lib " >> /etc/profile 
echo "export PATH=/usr/local/java/bin:$PATH" >> /etc/profile 
# 修改JAVA 的环境变量,使其使用 东八区区时  
echo 'export JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/Shanghai"' >> /etc/profile 
echo 'export TZ=Asia/Shanghai' >> /etc/profile 
source /etc/profile

 

二、检查当前服务器上的JDK 版本信息

执行 java -version

 

安装 Tomcat

前置条件: 当前服务器已经安装了 JDK
 
 
一、强制规范
1.tomcat 必须安装到 /usr/local/tomcat 路径下
2./usr/local/tomcat 路径下保留 tomcat 的压缩包 {如:apache-tomcat-8.5.99.tar.gz}, 以便于快速复制
3.假设有 园区平台 ,环保平台 , 能源平台 ,企业平台 四个项目,使用的端口号为

 

那么,按照对应的端口号,在 /usr/local/tomcat 目录下 分别新建 tomcat-8080,tomcat-8081,tomcat-8082,tomcat-8083 四个文件夹,分别将 tomcat 的压缩包拷贝解压到对应目录下部署不同的项目

二、部署流程

# 新建 /usr/local/tomcat 文件夹
mkdir /usr/local/tomcat 

# 下载 tomcat 资源
cd /usr/local/tomcat 
wget https://mirrors.cn-nanjing.oss.jshainei.com/source/apache-tomcat-8.5.100.tar.gz

# 部署 8080 端口的tomcat 
mkdir /usr/local/tomcat/tomcat-8080/
cp apache-tomcat-8.5.100.tar.gz /usr/local/tomcat/tomcat-8080/
cd /usr/local/tomcat/tomcat-8080/ 
tar -zxvf apache-tomcat-8.5.100.tar.gz 
mv ./apache-tomcat-8.5.100/* ./
rm -rf apache-tomcat-8.5.100
rm -rf apache-tomcat-8.5.100.tar.gz
cd /usr/local/tomcat/tomcat-8080/bin
bash startup.sh 

如图所示 项目部署成功

 

安装 Redis

根据 Redis 在其官方的 github 项目中的版本日志,当前最新正式版本的 redis 为 7.4.0 (2024-09-27)
由于 Redis 具有较强的向下兼容性, 故此对Redis 的版本号不做具体的要求, 可自行安装 版本号 >= 7.4.0 的 发布分支。

本节中Redis 使用编译进行安装
redis-7.4.0.tar.gz
 

一、强制规范

  1. Redis 必须安装到 /usr/local/redis 目录下
  2. 不论Redis 是否允许对外访问,强制性要求 Redis 必须配置密码
  3. Redis 在局域网下使用时,采用谁使用谁申请原则, 在防火墙中随用放行不允许直接放行 6379/tcp.
  4. 为了防止极端情况下,Redis 被恶意使用(渗透),导致系统不稳定运行。规定,Redis 必须设置最大可用内存。其参考值为: 当前服务器内存总量 * 50 % ,且最小不低于 2GB。如假设当前服务器可用内存为 16G , 那么Redis 最大可用内存需要设置为 8GB。

二、安装部署

# 新建 Redis 目录
mkdir /usr/local/redis 
# 下载 Redis 7.4.0 的压缩包
mkdir /tmp/build
cd /tmp/build
rm -rf redis-7.4.0.tar.gz && wget https://mirrors.cn-nanjing.oss.jshainei.com/source/redis-7.4.0.tar.gz

# 准备编译安装 
# 安装编译依赖 gcc,g++,make 包 
apt install make gcc g++ -y 
tar -zxvf redis-7.4.0.tar.gz && rm -rf redis-7.4.0.tar.gz
cd ./redis-7.4.0
make -j16 PREFIX=/usr/local/redis install
# 设置环境变量 redis_password , 配置安装好的redis 的密码
export redis_password='HaiNei1205~!'

# 复制redis 的默认配置文件 
cp redis.conf /usr/local/redis/redis.conf
mkdir /usr/local/redis/db
  
# 修改redis 的配置文件 
# 设置密码 $redis_password
# 设置最大内存 8G 
# 开启 AOF 持久化
# 开启 RDB 持久化
sed -e  's/bind 127.0.0.1 -::1/bind 0.0.0.0 ::/g' \
  -e  "s/# requirepass foobared/requirepass $redis_password/g" \
  -e  's/daemonize no/daemonize yes/g' \
  -e  's/pidfile \/var\/run\/redis_6379.pid/pidfile \/usr\/local\/redis\/redis.pid/g' \
  -e  's/# maxmemory <bytes>/maxmemory 8gb/g' \
  -e  's/# save 3600 1 300 100 60 10000/save 900 1 300 10 60 10000/g' \
  -e  's/appendonly no/appendonly yes/g' \
  -e  's/dir ./dir \/usr\/local\/redis\/db/g' \
  -i /usr/local/redis/redis.conf

    # 新建redis 服务配置
cat >> /etc/systemd/system/redis.service  << EOF
[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/redis/redis.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload 
systemctl start redis
    

 

安装 Mysql

目前Mysql 主要有下列三个版本 ,5.x 系列, 8.x 系列, 9.x 系列。
其中 9.x 系列由于发布时间较短,尚处于实验性阶段。目前存在很多问题,因此不推荐在生产环境中使用。
5.x 系列目前最新的稳定版本为 5.7.44
8.x 系列目前最新的稳定版本为 8.4.1,但比较稳定的为 8.0.x 分支,目前最新版本号 8.0.39。
 

一、兼容性警告

请注意,原则上,Mysql 不支持 数据库从 大版本升级。即 5.x 版本的数据库无法直接升级到 8.x , 8.x 无法降级到 5.x 上使用。通常需要 将数据库备份成 sql 文件,通过重新导入 SQL 来完成大版本升级。因此请慎重选择 Mysql 使用的版本系列。

目前 已知 Mysql 5.x 版本的数据库因为其早期的设计问题,其内部使用的2 字节时间戳 将在 2038-01-19 03:14:07 超出最大可用范围,发生时间戳溢出(2038 千年虫问题),从长远的角度讲,不建议继续使用 Mysql 5.x 系列的版本,建议使用 Mysql 8.x 版本,请联系研发在发布时检查其maven 依赖中使用的 mysql 驱动。

二、安装文件下载

官方网站: https://downloads.mysql.com/archives/community/

 

公司镜像下载地址:

5.7.44 安装包: https://mirrors.cn-nanjing.oss.jshainei.com/source/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

8.0.40 安装包: https://mirrors.cn-nanjing.oss.jshainei.com/source/mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz

 

三、安装教程

1.下载解压

新建 /usr/local/mysql 目录

mkdir /usr/local/mysql 
mkdir /usr/local/mysql/data
cd /usr/local/mysql/&& wget https://mirrors.cn-nanjing.oss.jshainei.com/source/mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
tar -xvf mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz &&  rm -rf mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
mv mysql-8.0.39-linux-glibc2.28-x86_64 mysql-8.0.39
mv /usr/local/mysql/mysql-8.0.39/* /usr/local/mysql/
rm -rf /usr/local/mysql/mysql-8.0.39
groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql
chown -R mysql:mysql /usr/local/mysql 
chmod -R 750 /usr/local/mysql 

2.写入配置文件

将下面的配置文件 写入到 /etc/my.cnf 中

[client]
port        = 3306
socket        = /tmp/mysql.sock

[mysqld]
port        = 3306
socket        = /tmp/mysql.sock
datadir   = /usr/local/mysql/data
log-error = /usr/local/mysql/mysqld.log
pid-file  = /usr/local/mysql/mysqld.pid
explicit_defaults_for_timestamp = true
default_authentication_plugin = mysql_native_password
lower_case_table_names = 1
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


# binlog 的配置项
log-bin=mysql-bin
binlog_format=mixed
# 二进制日志缓存大小(4096的倍数)
binlog_cache_size = 256K
binlog_expire_logs_seconds = 600000

# 慢日志查询的配置项
slow_query_log=1
slow-query-log-file=/usr/local/mysql/data/mysql-slow.log
long_query_time=3
early-plugin-load = ""

# 性能配置项
# 用于索引的缓冲区大小
key_buffer_size = 1024M
# 临时表缓存大小
tmp_table_size = 2048M
# 每个线程排序的缓冲大小
sort_buffer_size = 4096K
# 读入缓冲区大小
read_buffer_size = 4096K
# 随机读取缓冲区大小
read_rnd_buffer_size = 2048K
# 关联表缓存大小
join_buffer_size = 8192K
# 每个线程的堆栈大小
thread_stack = 512K
# 线程池大小
thread_cache_size = 256
# 最大连接数
max_connections = 1000
# 表缓存
table_open_cache = 2048

max_heap_table_size = 2048M
default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
skip-external-locking
max_allowed_packet = 100G
net_buffer_length = 4K
myisam_sort_buffer_size = 32M
max_connect_errors = 100
open_files_limit = 65535



# innode 配置项 
innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data
# Innodb缓冲区大小
innodb_buffer_pool_size = 4096M
# Innodb日志缓冲区大小
innodb_log_buffer_size = 64M
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 4
innodb_write_io_threads = 4

[mysqldump]
quick
max_allowed_packet = 500M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 2M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

配置文件中已经开启 bin-log 日志功能,可根据服务器的性能酌情调整相关的性能配置项

3. 安装依赖包libaio1

cd /tmp && wget https://mirrors.cn-nanjing.oss.jshainei.com/source/libaio1_0.3.113-4_amd64.deb
dpkg -i libaio1_0.3.113-4_amd64.deb 

4.初始化数据库

# 将 mysql 的安装目录添加到环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
mysqld --initialize --user=mysql
mysql_ssl_rsa_setup
nohup mysqld_safe --user=mysql > /etc/null &
# 配置服务项目
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
update-rc.d mysqld defaults
# 查询mysql 的临时密码
mysql_tmp_password=$(grep "temporary password" /usr/local/mysql/mysqld.log|cut -d "@" -f 2|awk '{print $2}')
echo "MYSQL的临时密码:$mysql_tmp_password"

 

5.修改数据库密码,给予root 用户权限

紧接着 步骤4,执行下面的代码, 将自动重置数据库的密码为 HaiNei1205~! ,同时自动配置好mysql 的权限

export mysql_password='HaiNei1205~!'
mysql -hlocalhost  -P3306  -uroot -p${mysql_tmp_password} -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${mysql_password}';"  --connect-expired-password
mysql -hlocalhost  -P3306  -uroot -p${mysql_password} -e "GRANT ALL PRIVILEGES ON *.* TO root@'localhost' WITH GRANT OPTION;" --connect-expired-password
mysql -hlocalhost  -P3306  -uroot -p${mysql_password} -e "FLUSH PRIVILEGES;" --connect-expired-password
mysql -hlocalhost  -P3306  -uroot -p${mysql_password} -e "USE mysql;update user set Host='%' where User = 'root';FLUSH PRIVILEGES; " --connect-expired-password

6.重启数据库,安装结束

systemctl restart mysqld

 

安装 InfluxDB

本节通过 deb 源的访问安装 支持SQL 特性的 1.11.7 版本的 influxdb
cd /tmp
wget https://mirrors.cn-nanjing.oss.jshainei.com/source/influxdb-1.11.7-amd64.deb -O influxdb-1.11.7-amd64.deb
dpkg -i influxdb-1.11.7-amd64.deb
systemctl enable influxdb
systemctl start influxdb
# 设置用户名和密码 
admin_password='HaiNei1205~!'
command="CREATE USER \"superadmin\" WITH PASSWORD '${admin_password}' WITH ALL PRIVILEGES"
influx -execute "${command}"
echo "新建influxdb 用户成功!"
sed -e  's/# bind-address = ":8086"/ bind-address = ":8086"/g' \
    -e  's/# auth-enabled = false/ auth-enabled = true/g' \
    -i /etc/influxdb/influxdb.conf
systemctl restart influxdb

安装成功后 , 用户名为 superadmin , 密码 HaiNei1205~!

 

安装 RabbitMQ

警告: Ubuntu 24.04 通过 APT 包管理器安装的 RabbitMQ 版本为 3.12.1 ,根据国家信息安全漏洞库 《CVE-2023-46118》披露,该版本存在 中危安全漏洞,请不要使用。请使用本节中推荐的 4.0.3 版本

 
 

一、安裝前置依赖


1.请参考本手册中的 《依赖库安装-安装OpenSSL》 小节安装 RabbitMQ
2.请参考本手册中的 《依赖库安装-安装Erlang》 小节安装 Erlang
 
 

二、开始编译安装

mkdir /tmp/build 
cd /tmp/build && wget https://mirrors.cn-nanjing.oss.jshainei.com/source/rabbitmq-server-generic-unix-4.0.3.tar.xz -O rabbitmq-server-generic-unix-4.0.3.tar.xz
tar -xvf  rabbitmq-server-generic-unix-4.0.3.tar.xz && rm -rf  rabbitmq-server-generic-unix-4.0.3.tar.xz
mv ./rabbitmq_server-4.0.3 /usr/local/rabbitmq
echo "export PATH=$PATH:/usr/local/rabbitmq/sbin" >> /etc/profile 
source /etc/profile
rabbitmq-server -detached 
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl start_app
# 设置管理员的密码
export admin_password='HaiNei1205~!'
rabbitmqctl add_user superadmin $admin_password
rabbitmqctl set_permissions -p / superadmin ".*" ".*" ".*" 
rabbitmqctl set_user_tags superadmin administrator
# 放行防火墙
ufw allow 5672/tcp
ufw allow 15672/tcp
 

三、安装结束

RabbitMQ版本
 
4.0.3
 
管理员用户名
 
superadmin
 
管理员密码
 
HaiNei1205~!
 
启动服务器
 
rabbitmq-server -detached
 
关闭服务器
 
rabbitmqctl stop
 
查看服务器状态
 
rabbitmqctl status
 
你可以在内网下访问 http://[服务器ip]:15672 对 rabbitmq 进行管理操作

 

https://www.yuque.com/sudemqaq/lg7tfg/uop85gsid9682kgn  rx1q

posted @ 2025-01-03 14:21  wq9  阅读(112)  评论(0)    收藏  举报