added:增加Linux-server
This commit is contained in:
1 parent
712116d21d
commit
bd96aadb2f
90 files changed
+16784
-1
No files matched your search
@@ -0,0 +1,125 @@
|
||||
#!/bin/bash
|
||||
# Write Server 安装脚本
|
||||
# 用于在 Linux 服务器上安装所有依赖
|
||||
|
||||
set -e
|
||||
|
||||
echo "==================================="
|
||||
echo " Write Server 安装脚本"
|
||||
echo "==================================="
|
||||
|
||||
# 检测操作系统
|
||||
if [ -f /etc/os-release ]; then
|
||||
. /etc/os-release
|
||||
OS=$ID
|
||||
VER=$VERSION_ID
|
||||
else
|
||||
echo "无法检测操作系统类型"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "检测到操作系统: $OS $VER"
|
||||
|
||||
# 更新系统包
|
||||
echo ""
|
||||
echo "1. 更新系统包..."
|
||||
if [ "$OS" = "ubuntu" ] || [ "$OS" = "debian" ]; then
|
||||
sudo apt-get update
|
||||
sudo apt-get upgrade -y
|
||||
elif [ "$OS" = "centos" ] || [ "$OS" = "rhel" ] || [ "$OS" = "fedora" ]; then
|
||||
sudo yum update -y
|
||||
fi
|
||||
|
||||
# 安装基础依赖
|
||||
echo ""
|
||||
echo "2. 安装基础依赖..."
|
||||
if [ "$OS" = "ubuntu" ] || [ "$OS" = "debian" ]; then
|
||||
sudo apt-get install -y curl wget git build-essential
|
||||
elif [ "$OS" = "centos" ] || [ "$OS" = "rhel" ] || [ "$OS" = "fedora" ]; then
|
||||
sudo yum install -y curl wget git gcc-c++ make
|
||||
fi
|
||||
|
||||
# 安装 Node.js 20
|
||||
echo ""
|
||||
echo "3. 安装 Node.js 20..."
|
||||
if ! command -v node &> /dev/null; then
|
||||
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
||||
if [ "$OS" = "ubuntu" ] || [ "$OS" = "debian" ]; then
|
||||
sudo apt-get install -y nodejs
|
||||
elif [ "$OS" = "centos" ] || [ "$OS" = "rhel" ] || [ "$OS" = "fedora" ]; then
|
||||
sudo yum install -y nodejs
|
||||
fi
|
||||
else
|
||||
echo "Node.js 已安装: $(node --version)"
|
||||
fi
|
||||
|
||||
# 验证 Node.js 安装
|
||||
echo "Node.js 版本: $(node --version)"
|
||||
echo "npm 版本: $(npm --version)"
|
||||
|
||||
# 安装 Hugo
|
||||
echo ""
|
||||
echo "4. 安装 Hugo..."
|
||||
if ! command -v hugo &> /dev/null; then
|
||||
HUGO_VERSION="0.128.2"
|
||||
HUGO_URL="https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz"
|
||||
|
||||
wget -O /tmp/hugo.tar.gz "$HUGO_URL"
|
||||
tar -xzf /tmp/hugo.tar.gz -C /tmp
|
||||
sudo mv /tmp/hugo /usr/local/bin/
|
||||
rm /tmp/hugo.tar.gz
|
||||
else
|
||||
echo "Hugo 已安装: $(hugo version)"
|
||||
fi
|
||||
|
||||
# 验证 Hugo 安装
|
||||
echo "Hugo 版本: $(hugo version | head -n 1)"
|
||||
|
||||
# 安装 PM2(进程管理器)
|
||||
echo ""
|
||||
echo "5. 安装 PM2..."
|
||||
if ! command -v pm2 &> /dev/null; then
|
||||
sudo npm install -g pm2
|
||||
else
|
||||
echo "PM2 已安装: $(pm2 --version)"
|
||||
fi
|
||||
|
||||
# 创建必要的目录
|
||||
echo ""
|
||||
echo "6. 创建必要的目录..."
|
||||
mkdir -p logs backups recycle
|
||||
|
||||
# 安装项目依赖
|
||||
echo ""
|
||||
echo "7. 安装项目依赖..."
|
||||
npm install
|
||||
|
||||
# 构建项目
|
||||
echo ""
|
||||
echo "8. 构建项目..."
|
||||
npm run build
|
||||
|
||||
# 创建日志目录
|
||||
echo ""
|
||||
echo "9. 配置日志..."
|
||||
mkdir -p logs
|
||||
|
||||
echo ""
|
||||
echo "==================================="
|
||||
echo " 安装完成!"
|
||||
echo "==================================="
|
||||
echo ""
|
||||
echo "下一步操作:"
|
||||
echo "1. 配置环境变量:"
|
||||
echo " cp .env.example .env"
|
||||
echo " nano .env"
|
||||
echo ""
|
||||
echo "2. 启动服务:"
|
||||
echo " ./scripts/start.sh"
|
||||
echo ""
|
||||
echo "3. 设置开机自启(可选):"
|
||||
echo " sudo ./scripts/setup-service.sh"
|
||||
echo ""
|
||||
echo "4. 配置 Nginx 反向代理(可选):"
|
||||
echo " 参考 nginx/nginx.conf"
|
||||
echo ""
|
||||
Reference in new issue
Block a user