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,108 @@
|
||||
#!/bin/bash
|
||||
# Write Server systemd 服务配置脚本
|
||||
# 将 Write Server 设置为系统服务,支持开机自启
|
||||
|
||||
set -e
|
||||
|
||||
echo "==================================="
|
||||
echo " Write Server 服务配置脚本"
|
||||
echo "==================================="
|
||||
|
||||
# 检查是否为 root 用户
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "错误: 请使用 sudo 运行此脚本"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 获取当前用户和目录
|
||||
CURRENT_USER=$(whoami)
|
||||
CURRENT_DIR=$(pwd)
|
||||
SERVICE_FILE="/etc/systemd/system/write-server.service"
|
||||
|
||||
echo "当前用户: $CURRENT_USER"
|
||||
echo "项目目录: $CURRENT_DIR"
|
||||
|
||||
# 检查 .env 文件
|
||||
if [ ! -f .env ]; then
|
||||
echo "错误: 未找到 .env 文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 创建 systemd 服务文件
|
||||
echo "创建 systemd 服务文件..."
|
||||
cat > "$SERVICE_FILE" << EOF
|
||||
[Unit]
|
||||
Description=Write Server - Hugo Blog Admin
|
||||
Documentation=https://github.com/your-repo/write-server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=$CURRENT_USER
|
||||
Group=$CURRENT_USER
|
||||
WorkingDirectory=$CURRENT_DIR
|
||||
Environment=NODE_ENV=production
|
||||
Environment=PORT=8016
|
||||
EnvironmentFile=$CURRENT_DIR/.env
|
||||
ExecStart=/usr/bin/node $CURRENT_DIR/.next/standalone/server.js
|
||||
ExecReload=/bin/kill -HUP \$MAINPID
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
StandardOutput=append:$CURRENT_DIR/logs/app.log
|
||||
StandardError=append:$CURRENT_DIR/logs/app.log
|
||||
|
||||
# 安全限制
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=$CURRENT_DIR
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# 设置权限
|
||||
chmod 644 "$SERVICE_FILE"
|
||||
|
||||
# 重新加载 systemd 配置
|
||||
echo "重新加载 systemd 配置..."
|
||||
systemctl daemon-reload
|
||||
|
||||
# 启用服务
|
||||
echo "启用服务..."
|
||||
systemctl enable write-server
|
||||
|
||||
# 启动服务
|
||||
echo "启动服务..."
|
||||
systemctl start write-server
|
||||
|
||||
# 等待服务启动
|
||||
sleep 3
|
||||
|
||||
# 检查服务状态
|
||||
if systemctl is-active --quiet write-server; then
|
||||
echo ""
|
||||
echo "==================================="
|
||||
echo " 服务配置成功!"
|
||||
echo "==================================="
|
||||
echo ""
|
||||
echo "服务已启动并设置为开机自启"
|
||||
echo ""
|
||||
echo "管理命令:"
|
||||
echo " 查看状态: sudo systemctl status write-server"
|
||||
echo " 查看日志: sudo journalctl -u write-server -f"
|
||||
echo " 重启服务: sudo systemctl restart write-server"
|
||||
echo " 停止服务: sudo systemctl stop write-server"
|
||||
echo " 禁用自启: sudo systemctl disable write-server"
|
||||
echo ""
|
||||
else
|
||||
echo ""
|
||||
echo "==================================="
|
||||
echo " 服务启动失败!"
|
||||
echo "==================================="
|
||||
echo ""
|
||||
echo "请查看日志:"
|
||||
echo " sudo journalctl -u write-server -n 50"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
Reference in new issue
Block a user