commit d600e3ce76ee9a7d47056ee79c72dd3dcac9aaed Author: hsc Date: Sun Mar 30 14:27:57 2025 +0800 feat: 添加多个初始化配置脚本 - 新增 Redis 配置脚本,支持外部访问和密码设置 - 新增 Gitea 安装配置脚本,实现快速部署 - 新增 Linux 初始化脚本,包括时钟同步和 Yum 配置 - 新增 PostgreSQL 安装配置脚本,支持创建用户和数据库 - 新增 Redis 安装脚本,修复权限问题 - 新增 VPN 安装脚本,简化部署流程 diff --git a/init.sh b/init.sh new file mode 100644 index 0000000..e69de29 diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..a2b3a77 --- /dev/null +++ b/readme.md @@ -0,0 +1,17 @@ +# 🔧 工具箱 📂 代码片段集合 + +本仓库整理了日常开发中常用的代码片段,包含 **Shell 💻、Node.js 🚀、SQL 🛠️** 等语言,助力快速复用与效率提升! + +--- + +## 📋 目录 +1. **工具集合** 📦 → [跳转](#工具集合) +2. **使用指南** 📖 → [跳转](#使用指南) +3. **贡献说明** 👥 → [跳转](#贡献说明) +4. **联系作者** 📧 → [跳转](#联系作者) + +--- + + + + diff --git a/sh/fix_redis.sh b/sh/fix_redis.sh new file mode 100644 index 0000000..259023f --- /dev/null +++ b/sh/fix_redis.sh @@ -0,0 +1,84 @@ +#!/bin/bash + +# Rocky Linux 8 Redis 5.x 基础配置脚本 +# 功能:配置Redis允许外部访问,设置密码,基础优化 + +# 检查是否为root用户 +if [ "$(id -u)" -ne 0 ]; then + echo "请使用root用户运行此脚本!" + exit 1 + fi + + # 定义配置参数 + REDIS_PASSWORD="hsc1825713423" + REDIS_CONFIG="/etc/redis.conf" + REDIS_PORT=6379 + REDIS_BIND_IP="0.0.0.0" # 允许所有IP访问 + + # 备份原始配置文件 + echo "备份原始配置文件到 /etc/redis.conf.bak..." + cp "$REDIS_CONFIG" "${REDIS_CONFIG}.bak" + + # 基础安全配置 + echo "配置Redis基础安全设置..." + sed -i "s/^# requirepass .*/requirepass $REDIS_PASSWORD/" "$REDIS_CONFIG" + sed -i "s/^bind 127.0.0.1/bind $REDIS_BIND_IP/" "$REDIS_CONFIG" + sed -i "s/^protected-mode yes/protected-mode no/" "$REDIS_CONFIG" # 关闭保护模式以允许远程访问 + + # 性能优化配置 + echo "配置性能优化参数..." + sed -i "s/^# tcp-keepalive 300/tcp-keepalive 60/" "$REDIS_CONFIG" + sed -i "s/^# maxmemory-policy noeviction/maxmemory-policy allkeys-lru/" "$REDIS_CONFIG" + sed -i "s/^timeout 0/timeout 30/" "$REDIS_CONFIG" # 30秒无操作超时 + + # 持久化配置 + echo "配置持久化选项..." + sed -i "s/^save 900 1/# save 900 1/" "$REDIS_CONFIG" + sed -i "s/^save 300 10/# save 300 10/" "$REDIS_CONFIG" + sed -i "s/^save 60 10000/# save 60 10000/" "$REDIS_CONFIG" + echo "appendonly yes" >> "$REDIS_CONFIG" + echo "appendfsync everysec" >> "$REDIS_CONFIG" + + # 限制配置 + echo "配置连接限制..." + echo "maxclients 10000" >> "$REDIS_CONFIG" + echo "tcp-backlog 511" >> "$REDIS_CONFIG" + + # 防火墙配置 + echo "配置防火墙允许Redis端口 $REDIS_PORT..." + if command -v firewall-cmd &> /dev/null; then + firewall-cmd --permanent --add-port=$REDIS_PORT/tcp + firewall-cmd --reload + else + echo "未找到firewalld,请确保端口 $REDIS_PORT 已开放" + fi + + # 重启Redis服务 + echo "重启Redis服务应用配置..." + systemctl restart redis + + # 验证配置 + echo "验证Redis配置..." + echo "当前绑定IP:" + grep "^bind" "$REDIS_CONFIG" + echo "保护模式状态:" + grep "^protected-mode" "$REDIS_CONFIG" + echo "密码设置:" + grep "^requirepass" "$REDIS_CONFIG" + + # 测试远程连接 + echo "测试Redis连接..." + echo "本地连接测试:" + redis-cli -a "$REDIS_PASSWORD" ping + echo "如需远程测试,请在其他服务器执行:" + echo "redis-cli -h <你的服务器IP> -p $REDIS_PORT -a $REDIS_PASSWORD ping" + + # 完成信息 + echo "Redis基础配置完成!" + echo "重要信息:" + echo "- Redis密码: $REDIS_PASSWORD" + echo "- 监听端口: $REDIS_PORT" + echo "- 绑定IP: $REDIS_BIND_IP (允许所有IP访问)" + echo "- 配置文件: $REDIS_CONFIG" + echo "- 管理命令: systemctl [start|stop|restart|status] redis" + echo "注意: 请确保服务器安全组/防火墙已开放 $REDIS_PORT 端口" diff --git a/sh/init_gitea.sh b/sh/init_gitea.sh new file mode 100644 index 0000000..01b01b5 --- /dev/null +++ b/sh/init_gitea.sh @@ -0,0 +1,117 @@ +#!/bin/bash + +# Gitea 快速安装配置脚本 +# 前提条件: +# 1. PostgreSQL 已安装,用户 postgres 密码 hsc1825713423 +# 2. Redis 已安装,密码 hsc1825713423 +# 3. 安装目录:/data/gitea + +# 检查是否为root用户 +if [ "$(id -u)" -ne 0 ]; then + echo "请使用root用户运行此脚本!" + exit 1 + fi + + # 配置参数 + GITEA_VERSION="1.21.0" + GITEA_USER="gitea" + GITEA_HOME="/data/gitea" + GITEA_CONFIG="$GITEA_HOME/custom/conf/app.ini" + + # 创建用户和目录结构 + echo "创建Gitea用户和目录结构..." + useradd -d $GITEA_HOME -m -s /bin/bash $GITEA_USER + mkdir -p $GITEA_HOME/{custom,data,log} + chown -R $GITEA_USER:$GITEA_USER $GITEA_HOME + + # 下载Gitea + echo "下载Gitea $GITEA_VERSION..." + wget -O /tmp/gitea https://dl.gitea.io/gitea/$GITEA_VERSION/gitea-$GITEA_VERSION-linux-amd64 + chmod +x /tmp/gitea + mv /tmp/gitea $GITEA_HOME/gitea + chown $GITEA_USER:$GITEA_USER $GITEA_HOME/gitea + + # 创建配置文件 + echo "创建Gitea配置文件..." + cat > $GITEA_CONFIG < /etc/systemd/system/gitea.service < /etc/chrony.conf < /etc/yum.repos.d/CentOS-Base.repo <> /etc/security/limits.conf +echo "* hard nofile 65535" >> /etc/security/limits.conf + +# 优化内核参数 +cat >> /etc/sysctl.conf < /data/postgresql/postgresql.conf < /data/postgresql/pg_hba.conf < /etc/systemd/system/postgresql-14.service < /data/postgresql/pg_hba.conf < /etc/systemd/system/redis.service <