一个现代化的个人网站,包含用户认证系统和响应式设计。
npm install
npm run dev
http://localhost:3001npm install --only=production
npm start
myweb/ ├── server.js # 后端服务器 ├── index.html # 主页面 ├── styles.css # 样式文件 ├── script.js # 前端逻辑 ├── package.json # 项目配置 ├── Dockerfile # Docker配置 └── README.md # 项目说明
POST /api/register - 用户注册POST /api/login - 用户登录POST /api/logout - 用户注销GET /api/check-auth - 检查登录状态GET /api/user - 获取用户信息docker build -t my-first-website .
docker run -d --name my-website -p 3001:3001 my-first-website
创建 docker-compose.yml 文件:
version: '3.8'
services:
website:
build: .
ports:
- "3001:3001"
restart: unless-stopped
environment:
- NODE_ENV=production
启动服务:
docker-compose up -d
项目使用SQLite数据库,数据库文件为 database.db。首次运行时会自动创建数据库表和默认管理员账户。
使用express-session进行会话管理,会话数据存储在内存中。生产环境建议使用Redis等持久化存储。
在 server.js 中修改端口号:
const PORT = process.env.PORT || 3001; // 修改这里的端口号
在 server.js 中修改会话配置:
app.use(session({
secret: 'my-first-website-secret-key', // 修改密钥
resave: false,
saveUninitialized: false,
cookie: { secure: false, maxAge: 24 * 60 * 60 * 1000 }
}));
如果3001端口被占用,可以修改端口号或停止占用该端口的服务。
如果数据库连接失败,检查是否有写入权限,或删除 database.db 文件重新创建。
确保使用正确的Node.js版本(推荐18+),并清理node_modules后重新安装:
rm -rf node_modules
npm install
MIT License
如有问题或建议,请联系项目维护者。