2024-09-02

由于篇幅所限,这里只提供关键步骤的指导和代码示例。

  1. 离线安装PostgreSQL和PostGIS:

首先,从互联网上下载PostgreSQL和PostGIS的RPM包。然后将它们复制到CentOS/RedHat 7的离线服务器上。使用rpm命令进行本地安装。




# 安装PostgreSQL
rpm -ivh postgresql-9.6.xx-1-linux-x64.rpm
 
# 安装PostGIS
rpm -ivh postgis-2.3.xx-1.rhel7.x86_64.rpm
  1. 配置主从复制:

在主服务器上:




-- 创建复制用户
CREATE ROLE replica login replication encrypted password 'replica_password';
 
-- 授权
GRANT pg_read_all_settings TO replica;

配置postgresql.confpg_hba.conf,开启主从复制所需的配置。

在从服务器上:




-- 配置recovery.conf
primary_conninfo = 'host=master_ip port=5432 user=replica password=replica_password'
trigger_file = '/path_to_trigger_file'

启动从服务器的复制进程:




pg_basebackup -h master_ip -U replica -D /path_to_data_directory -X stream -P

在从服务器的数据目录中,使用recovery.conf启动PostgreSQL服务。

  1. 故障切换演练:

假设主服务器出现故障,需要手动进行故障切换。

在从服务器上:




-- 使用pg_ctl来停止从服务器
pg_ctl stop -D /path_to_data_directory -m fast
 
-- 删除从服务器数据目录中的recovery.conf文件
rm /path_to_data_directory/recovery.conf
 
-- 将从服务器提升为新的主服务器
pg_ctl start -D /path_to_data_directory

在新的主服务器上:




-- 创建复制用户
CREATE ROLE replica login replication encrypted password 'replica_password';
 
-- 授权
GRANT pg_read_all_settings TO replica;

配置postgresql.confpg_hba.conf,指向新的从服务器。

在原从服务器上:




-- 配置recovery.conf
primary_conninfo = 'host=new_master_ip port=5432 user=replica password=replica_password'
trigger_file = '/path_to_trigger_file'

启动从服务器的复制进程。

以上步骤提供了离线安装PostgreSQL和PostGIS的方法,并演示了如何配置主从复制以及进行故障切换的基本过程。在实际操作中,需要下载与系统版本对应的RPM包,并确保所有依赖项也都提前下载和准备好。

2024-09-02

在CentOS 7上安装Redis并编写开机自启脚本的步骤如下:

  1. 安装Redis



sudo yum install epel-release -y
sudo yum update -y
sudo yum install redis -y
  1. 启动Redis服务并设置开机自启



sudo systemctl start redis
sudo systemctl enable redis
  1. 编写Redis开机自启脚本(简化版)

    假设你已经有了一个简化版的Redis启动脚本,你可以将其放置在/etc/init.d/目录下,并确保它有执行权限。




sudo nano /etc/init.d/redis

以下是一个简化版的Redis启动脚本示例(请根据实际路径修改/usr/bin/redis-server/etc/redis.conf到你的实际路径):




#!/bin/sh
# chkconfig: 2345 10 90
# description: Redis is a persistent key-value database
 
REDIS_SERVER_EXEC="/usr/bin/redis-server"
REDIS_CONF_FILE="/etc/redis.conf"
 
start() {
    echo "Starting Redis server..."
    $REDIS_SERVER_EXEC $REDIS_CONF_FILE
}
 
stop() {
    echo "Stopping Redis server..."
    pkill redis-server
}
 
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac
 
exit 0

确保脚本可执行:




sudo chmod +x /etc/init.d/redis
  1. 将Redis启动脚本添加到chkconfig管理中



sudo chkconfig --add redis
  1. 验证Redis是否已经设置为开机自启



sudo systemctl is-enabled redis

以上步骤完成后,Redis将被配置为开机自启。

2024-09-02

在CentOS 7上部署Redis和哨兵模式,你需要按照以下步骤操作:

  1. 安装Redis



sudo yum install epel-release -y
sudo yum update -y
sudo yum install redis -y
  1. 启动Redis服务



sudo systemctl start redis
sudo systemctl enable redis
  1. 配置Redis密码(可选)

    编辑Redis配置文件 /etc/redis.conf,找到 requirepass 配置项,并设置你的密码:




requirepass your_password
  1. 配置哨兵模式

    创建哨兵配置文件 /etc/redis-sentinel.conf,并添加以下内容:




sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
 
# 如果你设置了Redis密码,还需要添加以下行
sentinel auth-pass mymaster your_password
  1. 启动哨兵



redis-sentinel /etc/redis-sentinel.conf

确保你已经根据实际情况修改了上述配置中的 your_password127.0.0.16379mymaster 是主节点的名字,可以根据实际情况自定义。2 表示至少需要2个哨兵同意主节点已经失效才会进行故障转移。

以上步骤可能需要根据你的实际需求进行调整,比如配置文件的位置、端口号、日志文件位置等。在实际部署时,你可能需要根据你的网络环境和安全策略来配置Redis和哨兵。

2024-09-02

要在CentOS 7上离线部署PostgreSQL 12,你需要先从有网络连接的机器上下载PostgreSQL的安装包和所有依赖,然后将它们传输到你的离线服务器上进行安装。以下是步骤和示例命令:

  1. 在有网络的机器上,下载PostgreSQL 12的RPM包及其依赖。



# 安装yum-utils提供的yumdownloader工具
yum install -y yum-utils
 
# 创建一个用于存放RPM包的目录
mkdir -p /path/to/postgresql-rpms
 
# 下载PostgreSQL 12的主包和所有依赖
yumdownloader --resolve --destdir=/path/to/postgresql-rpms postgresql12 postgresql12-server
  1. 将下载的RPM包从有网络的机器传输到离线的CentOS 7服务器上。



# 使用USB驱动器或其他媒介将RPM包传输到离线服务器
  1. 在离线的CentOS 7服务器上,安装PostgreSQL 12。



# 切换到包含RPM包的目录
cd /path/to/postgresql-rpms
 
# 安装所有RPM包
sudo rpm -Uvh *.rpm
 
# 初始化数据库
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
 
# 启动PostgreSQL服务
sudo systemctl enable postgresql-12
sudo systemctl start postgresql-12

确保替换/path/to/postgresql-rpms为你存放RPM包的实际路径。在实际执行时,可能需要解决依赖关系和其他问题,如果遇到任何错误,请根据错误信息进行相应的处理。

2024-09-02

在CentOS 7.6上安装Tomcat的步骤如下:

  1. 安装Java环境

    Tomcat需要Java环境才能运行,可以通过安装OpenJDK来满足需求。




sudo yum install java-1.8.0-openjdk
  1. 下载Tomcat

    从官网下载Tomcat的压缩包。




cd /usr/local/
sudo wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
  1. 解压Tomcat



sudo tar xzvf apache-tomcat-*tar.gz
  1. 移动Tomcat到合适的位置



sudo mv apache-tomcat-* /usr/local/tomcat
  1. 添加Tomcat用户



sudo /usr/local/tomcat/bin/tomcat-users.sh

按照提示设置管理员用户和密码。

  1. 启动和停止Tomcat

启动Tomcat:




sudo /usr/local/tomcat/bin/startup.sh

停止Tomcat:




sudo /usr/local/tomcat/bin/shutdown.sh
  1. 配置Tomcat开机自启

    创建一个systemd服务文件:




sudo vi /etc/systemd/system/tomcat.service

添加以下内容:




[Unit]
Description=Tomcat 9 servlet container
After=network.target
 
[Service]
Type=forking
 
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
 
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
 
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
 
[Install]
WantedBy=multi-user.target

启用并启动Tomcat服务:




sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat
  1. 测试Tomcat

    在浏览器中输入服务器IP加上端口(默认为8080),如果看到Tomcat的欢迎页面,说明Tomcat已正确安装并运行。

以上步骤中,每个命令都需要以root用户执行,或使用sudo获取相应的权限。如果系统中没有安装wget,需要先安装wget:




sudo yum install wget

注意:具体的Tomcat版本和下载地址可能会更新变化,请根据实际情况选择合适的版本和URL。

2024-09-02

在CentOS系统中设置时区为中国时间可以通过以下步骤进行:

  1. 查看当前时区设置:

    
    
    
    timedatectl status
  2. 列出所有可用的时区:

    
    
    
    timedatectl list-timezones
  3. 找到中国时区(北京时间),从列表中选择北京所在的时区:

    
    
    
    Asia/Shanghai
  4. 设置系统时区为上海时区:

    
    
    
    sudo timedatectl set-timezone Asia/Shanghai
  5. 再次使用 timedatectl status 命令确认时区已经更改。

这样就将CentOS系统的时区设置为了中国标准时间,即北京时间。

2024-09-02

在离线环境中将运行 Oracle 数据库的 CentOS 7.5 原地升级到 RHEL 7.9 的步骤如下:

  1. 备份数据库:

    使用 RMANexpdp 备份数据库。

  2. 备份操作系统:

    使用 dd 备份整个系统盘。

  3. 下载 RHEL 7.9 镜像:

    从 Red Hat 官网下载 RHEL 7.9 的 ISO 镜像。

  4. 挂载 ISO 镜像:

    将 ISO 镜像挂载到一个目录,比如 /mnt

  5. 安装 RHEL 7.9:

    使用 yum 从挂载的 ISO 仓库安装 RHEL 7.9。

  6. 恢复数据库备份:

    恢复 RMAN 备份或使用 impdp 导入数据。

  7. 更新数据库软件:

    如果需要,更新 Oracle 数据库到最新版本。

以下是可能用到的命令示例:




# 备份整个系统盘
dd if=/dev/sda of=/path_to_backup_location/centos_backup.img bs=1G
 
# 挂载 RHEL 7.9 ISO
mount -o loop /path_to_iso_file/rhel-server-7.9-x86_64-dvd.iso /mnt
 
# 安装 RHEL 7.9
yum --disablerepo=* --enablerepo=file:///mnt install rhel-7.9-x86_64
 
# 重新启动系统
reboot
 
# 从备份恢复数据库
rman TARGET / cmdfile=/path_to_rman_script.rcv
 
# 或者使用 Data Pump 恢复数据
impdp system/password@yourdb directory=your_dir dumpfile=your_dump.dmp logfile=import.log
 
# 更新 Oracle 数据库软件
$ORACLE_HOME/deinstall/deinstall
$ORACLE_HOME/runInstaller

注意:在执行这些步骤之前,请确保您已经阅读了 Oracle 对于不同版本间兼容性的说明,并且有可能的话,获取 Oracle 支持的帮助。在执行任何操作之前,请再次确认您已经创建了数据库和系统的完整备份。

2024-09-01

要在CentOS 8中卸载PostgreSQL 14数据库,可以使用dnf命令。以下是卸载PostgreSQL 14的步骤和示例代码:

  1. 停止PostgreSQL服务:



sudo systemctl stop postgresql-14
  1. 删除PostgreSQL 14软件包:



sudo dnf remove postgresql14 postgresql14-server
  1. 删除数据目录和配置文件(如果不再需要保留数据):



sudo rm -rf /var/lib/postgresql/14/main/
sudo rm -rf /etc/postgresql/14/main.conf

确保替换路径中的14main为实际安装时使用的版本和数据目录名称。

  1. 如果需要,删除用户和用户组(可选):



sudo userdel -r postgres
sudo groupdel postgres

请注意,在执行这些步骤之前确保备份任何重要数据,并确认你已停止所有数据库连接。

2024-09-01

在CentOS 7上安装Docker,并学习常用的Docker命令,接着使用Docker安装常见的组件,如Tomcat、MySQL和Redis。

  1. 安装Docker:



sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
  1. Docker常用命令:



# 启动Docker
sudo systemctl start docker
 
# 停止Docker
sudo systemctl stop docker
 
# 重启Docker
sudo systemctl restart docker
 
# 查看Docker状态
sudo systemctl status docker
 
# 查看Docker版本
docker --version
 
# 查看所有容器
docker ps -a
 
# 查看运行中的容器
docker ps
 
# 拉取镜像
docker pull 镜像名称
 
# 创建并启动容器
docker run -d -p 主机端口:容器端口 --name 容器名称 镜像名称
 
# 停止容器
docker stop 容器名称或ID
 
# 删除容器
docker rm 容器名称或ID
 
# 删除镜像
docker rmi 镜像名称或ID
  1. 使用Docker安装Tomcat:



docker run -d -p 8080:8080 --name my-tomcat tomcat:9.0
  1. 使用Docker安装MySQL:



docker run -d -p 3306:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.7
  1. 使用Docker安装Redis:



docker run -d -p 6379:6379 --name my-redis redis:5.0

以上命令需要在具备sudo权限的CentOS 7系统上执行。这些命令展示了如何安装Docker,启动和使用它来运行Tomcat、MySQL和Redis等常见的Web服务。

2024-09-01

在CentOS 8中部署Tomcat和Jenkins可以通过以下步骤进行:

  1. 安装Java环境

    Tomcat和Jenkins都需要Java环境,确保系统已安装Java。




sudo dnf install java-11-openjdk-devel
java -version
  1. 安装Tomcat



sudo dnf install tomcat
sudo systemctl enable --now tomcat

检查Tomcat是否运行:




sudo systemctl status tomcat

浏览器访问 http://<服务器IP>:8080 确认Tomcat安装成功。

  1. 安装Jenkins

添加Jenkins仓库:




sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

安装Jenkins:




sudo dnf install jenkins

启动并启用Jenkins服务:




sudo systemctl start jenkins
sudo systemctl enable jenkins

检查Jenkins状态:




sudo systemctl status jenkins

浏览器访问 http://<服务器IP>:8080 并按照Jenkins初始化向导进行配置。

注意:确保防火墙允许访问8080端口。




sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

以上步骤可能会根据系统的实际情况稍有变化,请确保在执行前检查最新的安装指南和更新的配置要求。