部分小伙伴服务器没有外网环境,今天模拟场景部署。
此办法应该普遍适用于rhel系发行版本
操作系统环境:rockylinux9.4 最小化安装,已经挂载离线DVD包,
网络:无法访问公网的机器
配置:16C32G500G虚拟机(配置大小决定了后面的zabbix与数据库的性能相关配置)
一、配置本地源安装软件(你也可以选择把dvd文件里面cp到其他目录,改一下就行了,我是节省空间,所以挂载dvd的方式)
#创建一个挂载点
sudo mkdir -p /mnt/dvd
#挂载 DVD,注意:/dev/sr0是你的光盘的路径,不同的环境会不一样的
sudo mount /dev/sr0 /mnt/dvd
#设置开机自动挂载
echo '/dev/sr0 /mnt/dvd iso9660 defaults 0 0' | sudo tee -a /etc/fstab
#取消系统自带的其他源
sudo sh -c 'for file in /etc/yum.repos.d/*.repo; do mv "$file" "$file.bak"; done'
#创建本地源,注意路径按照你实际的来
sudo tee /etc/yum.repos.d/dvd.repo > /dev/null <<EOL
[dvd]
name=Rocky Linux 9 - DVD
baseurl=file:///mnt/dvd/BaseOS/
enabled=1
gpgcheck=0
[dvd-AppStream]
name=Rocky Linux 9 - DVD AppStream
baseurl=file:///mnt/dvd/AppStream/
enabled=1
gpgcheck=0
EOL
#清理所有 DNF 缓存,包括软件包、元数据和其他缓存数据
dnf clean all
# 创建或更新本地 DNF 缓存,从启用的仓库中下载并缓存元数据
dnf makecache
测试安装个vim
dnf install vim -y
本地DVD源进行vim安装测试。
安装相关依赖
dnf groupinstall "Development Tools" -y && sudo dnf install icu libicu libicu-devel readline readline-devel -y
二、安装postgresql 16
下载postgresql数据库
我下载的是16.3版本
将下载好的包postgresql-16.3.tar.gz上传到根目录,这个目录你自己选,随便都行。怎么上传,没必要写了。我是直接甩根目录,图省事了。
解压源码包
tar -zxvf /postgresql-16.3.tar.gz
编译安装,一条条的执行,注意看有没有什么报错
cd postgresql-16.3
./configure
make && make install
#创建一个名为 postgres 的用户,同时创建一个与用户同名的用户组 postgres,并将用户添加到该组中
sudo useradd -m -U postgres
# 创建 PostgreSQL 数据目录,如果目录路径中任何一部分不存在,则创建这些目录
mkdir -p /usr/local/pgsql/data
# 更改目录 /usr/local/pgsql/data 的所有者为 postgres 用户和postgres用户组
chown postgres:postgres /usr/local/pgsql/data
配置postgres用户环境变量,我的postgres用户创建的目录以及bashrc文件在/home/postgres里面,直接用root用户执行下面的命令即可
echo -e "\n# 自动切换到用户主目录\ncd ~\n\n# 设置 PGDATA 环境变量\nexport PGDATA=/usr/local/pgsql/data" >> /home/postgres/.bashrc
#创建systemd管理数据库启动
sudo tee /usr/lib/systemd/system/postgresql-16.service > /dev/null <<EOF
[Unit]
Description=PostgreSQL 16 database server
Documentation=https://www.postgresql.org/docs/16/static/
After=syslog.target
After=network-online.target
[Service]
Type=notify
User=postgres
Group=postgres
OOMScoreAdjust=-1000
Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
Environment=PG_OOM_ADJUST_VALUE=0
ExecStart=/usr/local/pgsql/bin/postgres -D \${PGDATA}
ExecReload=/bin/kill -HUP \$MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=0
[Install]
WantedBy=multi-user.target
EOF
三、下载安装zabbix
源码下载地址
将下载好的包zabbix-7.0.0.tar.gz上传到根目录,这个目录你自己选,随便都行。怎么上传,没必要写了。我是直接甩根目录,图省事了。
解压源码包
tar -zxvf /zabbix-7.0.0.tar.gz
创建就zabbix用户组以及用户
sudo groupadd --system zabbix && sudo useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
创建目录 /usr/lib/zabbix,设置权限为用户和组可读写执行,其他人无权限,并将该目录的所有者和所属组修改为 zabbix 用户和 zabbix 组
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix && sudo chown zabbix:zabbix /usr/lib/zabbix