Commit bbf0a533 authored by xiezhi's avatar xiezhi

fix makefile

parent 77ad56ea
......@@ -46,11 +46,7 @@ run: install
# 停止命令
.PHONY: stop
stop: kill
# 强制杀死所有相关Node.js进程
.PHONY: kill
kill:
stop:
@echo "正在查找并杀死所有相关的Node.js进程..."
@PIDS=$$(ps aux | grep -E "node.*$(MAIN_FILE)|node.*$(APP_NAME)" | grep -v grep | awk '{print $$2}'); \
if [ -n "$$PIDS" ]; then \
......@@ -65,68 +61,4 @@ kill:
echo "未找到相关的Node.js进程"; \
fi
@rm -f $(PID_FILE)
@echo "✅ 强制停止操作完成"
# 重启命令
.PHONY: restart
restart: stop run
# 查看状态
.PHONY: status
status:
@if [ -f "$(PID_FILE)" ]; then \
PID=$$(cat $(PID_FILE)); \
if ps -p $$PID > /dev/null 2>&1; then \
echo "✅ 服务器正在运行,PID: $$PID"; \
echo "端口: $(APP_PORT)"; \
echo "日志: $(LOG_FILE)"; \
else \
echo "❌ 服务器未运行(PID文件存在但进程不存在)"; \
rm -f $(PID_FILE); \
fi; \
else \
echo "❌ 服务器未运行"; \
fi
# 直接运行(前台运行)
.PHONY: dev
dev: install
@echo "直接运行 Node.js HTTP 服务器(前台模式)..."
@echo "服务器将在端口 $(APP_PORT) 上运行"
@echo "按 Ctrl+C 停止服务器"
@APP_PORT_1=$(APP_PORT) $(NODE) $(MAIN_FILE)
# 清理文件
.PHONY: clean
clean:
@echo "清理文件..."
rm -rf node_modules
rm -rf .logs
@echo "清理完成!"
# 显示帮助信息
.PHONY: help
help:
@echo "Node.js 22 HTTP 服务器项目"
@echo ""
@echo "可用命令:"
@echo " make install - 安装依赖并准备项目"
@echo " make run - 启动HTTP服务器(后台运行)"
@echo " make dev - 直接运行HTTP服务器(前台模式)"
@echo " make stop - 停止HTTP服务器(优雅停止)"
@echo " make kill - 强制杀死所有相关Node.js进程"
@echo " make restart - 重启HTTP服务器"
@echo " make status - 查看服务器状态"
@echo " make clean - 清理文件"
@echo " make help - 显示此帮助信息"
@echo ""
@echo "示例:"
@echo " make run # 启动服务器(后台)"
@echo " make dev # 启动服务器(前台)"
@echo " make status # 查看状态"
@echo " make stop # 优雅停止服务器"
@echo " make kill # 强制停止所有相关进程"
@echo " make restart # 重启服务器"
@echo ""
@echo "环境变量:"
@echo " APP_PORT_1 - 服务器端口(默认: 8080)"
@echo "✅ 停止操作完成"
......@@ -52,26 +52,8 @@ make install
# 启动HTTP服务器(后台运行)
make run
# 直接运行HTTP服务器(前台模式)
make dev
# 查看服务器状态
make status
# 停止服务器
make stop
# 强制停止所有相关进程
make kill
# 重启服务器
make restart
# 清理文件
make clean
# 查看帮助
make help
```
### 方法三:使用Docker
......@@ -103,21 +85,11 @@ curl http://localhost:8080/
# 输出:Hello World!
```
### 查看服务器状态
```bash
make status
# 输出:
# ✅ 服务器正在运行,PID: 12345
# 端口: 8080
# 日志: /path/to/.logs/app.log
```
### 停止服务器
```bash
make stop
# 输出:
# ✅ 进程 12345 已被强制停止
# ✅ 服务器停止操作完成
# ✅ 所有相关Node.js进程已被强制停止
# ✅ 停止操作完成
```
## 代码说明
......@@ -141,17 +113,11 @@ Node.js项目配置文件:
### Makefile
提供了以下命令:
提供了以下核心命令:
- `install`: 检查Node.js版本并安装依赖
- `run`: 启动HTTP服务器(后台运行)
- `dev`: 直接运行HTTP服务器(前台模式)
- `stop`: 停止HTTP服务器(直接调用kill)
- `kill`: 强制停止所有相关Node.js进程
- `restart`: 重启HTTP服务器
- `status`: 查看服务器运行状态
- `clean`: 清理生成的文件
- `help`: 显示帮助信息
- `stop`: 停止HTTP服务器(强制停止所有相关进程)
### Dockerfile
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment