befly-tpl 3.5.2 → 3.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "befly-tpl",
3
- "version": "3.5.2",
3
+ "version": "3.5.4",
4
4
  "description": "Befly 3.0 TypeScript Template",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -31,12 +31,12 @@
31
31
  ],
32
32
  "type": "module",
33
33
  "dependencies": {
34
- "befly": "3.5.2"
34
+ "befly": "3.5.4"
35
35
  },
36
36
  "engines": {
37
37
  "bun": ">=1.3.0"
38
38
  },
39
- "gitHead": "0896911e340ee0e7ee9d65a28d0809a3365ee9f4",
39
+ "gitHead": "561c5e43741ceb111f677cf3d5ce2421a79d3975",
40
40
  "devDependencies": {
41
41
  "cross-env": "^10.1.0",
42
42
  "dotenv": "^17.2.3"
package/pm2.config.cjs CHANGED
@@ -1,40 +1,3 @@
1
- /**
2
- * PM2 进程管理配置文件(CommonJS 格式)
3
- * 使用 Bun 运行 TypeScript 文件
4
- *
5
- * 使用方法:
6
- * 1. 启动:pm2 start pm2.config.cjs
7
- * 2. 查看状态:pm2 status
8
- * 3. 查看日志:pm2 logs befly
9
- * 4. 重启:pm2 restart befly
10
- * 5. 停止:pm2 stop befly
11
- * 6. 删除:pm2 delete befly
12
- * 7. 保存配置:pm2 save
13
- * 8. 开机自启:pm2 startup
14
- *
15
- * 环境变量说明:
16
- * - 使用 dotenv 模块读取 .env.production 文件
17
- * - PM2 会在进程启动时直接注入这些环境变量
18
- *
19
- * 注意:PM2 配置文件必须使用 CommonJS 格式(.cjs),不支持 ESM
20
- */
21
-
22
- const dotenv = require('dotenv');
23
- const path = require('path');
24
-
25
- // 使用 dotenv 读取 .env.production 文件
26
- const result = dotenv.config({
27
- path: path.join(__dirname, '.env.production'),
28
- override: true
29
- });
30
-
31
- if (result.error) {
32
- console.error('读取 .env.production 失败:', result.error.message);
33
- }
34
-
35
- // 获取解析后的环境变量
36
- const productionEnv = result.parsed || {};
37
-
38
1
  module.exports = {
39
2
  apps: [
40
3
  {
@@ -56,7 +19,9 @@ module.exports = {
56
19
  merge_logs: true,
57
20
 
58
21
  // 从 .env.production 动态加载的环境变量(使用 Bun API)
59
- env: productionEnv
22
+ env: {
23
+ NODE_ENV: 'production'
24
+ }
60
25
  }
61
26
  ]
62
27
  };
package/.env.development DELETED
@@ -1,72 +0,0 @@
1
- NODE_ENV="development"
2
- # 调试模式 (1=开启, 0=关闭, development模式下默认开启)
3
- DEBUG=1
4
- # 项目名称
5
- APP_NAME="易接口1"
6
- APP_PORT=3000
7
- # 监听端口
8
- APP_HOST="127.0.0.1"
9
- # 开发管理员邮箱
10
- DEV_EMAIL="dev@qq.com"
11
- # 开发管理员密码
12
- DEV_PASSWORD="111111"
13
- # 请求体大小
14
- BODY_LIMIT=10
15
- # 参数检查
16
- PARAMS_CHECK=0
17
- # Demo Addon 配置
18
- DEMO_ENABLE=true
19
- DEMO_DEFAULT_PRIORITY="medium"
20
- DEMO_PAGE_SIZE=10
21
- DEMO_MAX_PAGE_SIZE=100
22
- # 日志配置
23
- LOG_EXCLUDE_FIELDS="password,token"
24
- LOG_DEBUG=1 # debug日志开关 (1=开启, 0=关闭)
25
- LOG_DIR="./logs"
26
- LOG_TO_CONSOLE=1
27
- LOG_MAX_SIZE=52428800 # 50MB
28
- # 时区
29
- TZ="Asia/Shanghai"
30
- # 跨域配置
31
- CORS_ALLOWED_ORIGIN=""
32
- CORS_ALLOWED_METHODS="GET, POST, PUT, DELETE, OPTIONS"
33
- CORS_ALLOWED_HEADERS="Content-Type, Authorization, authorization, token"
34
- CORS_EXPOSE_HEADERS="Content-Range, X-Content-Range, Authorization, authorization, token"
35
- CORS_MAX_AGE=86400 # 1天
36
- CORS_ALLOW_CREDENTIALS="true"
37
- # 数据库配置(DB_* 通用参数)
38
- DB_ENABLE=1
39
- DB_TYPE="mysql" # 支持 sqlite | mysql | postgresql
40
- DB_HOST="127.0.0.1"
41
- DB_PORT=3306
42
- DB_USER="root2"
43
- DB_PASS="root2"
44
- DB_NAME="test4"
45
- DB_POOL_MAX=10
46
- DB_DEBUG=0
47
- DB_CONNECTION_TIMEOUT=5000 # 数据库连接超时时间(毫秒),默认5秒
48
- # redis 配置
49
- REDIS_ENABLE=1
50
- REDIS_HOST="127.0.0.1"
51
- REDIS_PORT=6379
52
- REDIS_USERNAME=""
53
- REDIS_PASSWORD=""
54
- REDIS_DB=3
55
- REDIS_KEY_PREFIX="befly"
56
- # JWT 配置
57
- JWT_SECRET="dbfaf2c3-7ade-5042-b843-eca8814714b3"
58
- JWT_EXPIRES_IN="30d"
59
- JWT_ALGORITHM="HS256"
60
- # 邮箱配置
61
- MAIL_HOST='demo.com'
62
- MAIL_PORT=465
63
- MAIL_POOL=1
64
- MAIL_SECURE=1
65
- MAIL_USER='demo@qq.com'
66
- MAIL_PASS=''
67
- MAIL_SENDER='易接口'
68
- MAIL_ADDRESS='demo@qq.com'
69
- # 上传配置
70
- LOCAL_DIR="/wwwroot/static2/"
71
- # 微信配置
72
- PAY_NOTIFY_URL=""
package/README.ts.md DELETED
@@ -1,175 +0,0 @@
1
- # Befly 3.0 TypeScript 示例项目
2
-
3
- 这是一个完整的 Befly 3.0 TypeScript 项目示例,展示了如何使用框架的所有 TypeScript 特性。
4
-
5
- ## 📁 项目结构
6
-
7
- ```
8
- tpl/
9
- ├── types/ # 类型定义
10
- │ ├── index.ts # 导出所有类型
11
- │ ├── models.ts # 数据模型类型
12
- │ └── api.ts # API 请求/响应类型
13
- ├── apis/ # API 接口
14
- │ ├── user/
15
- │ │ ├── login.ts # 用户登录(公开)
16
- │ │ └── list.ts # 用户列表(需管理员权限)
17
- │ └── article/
18
- │ ├── create.ts # 创建文章(需登录)
19
- │ └── list.ts # 文章列表(公开)
20
- ├── tables/ # 表定义(JSON 格式)
21
- ├── plugins/ # 自定义插件
22
- ├── tests/ # 测试文件
23
- ├── main.ts # 项目入口
24
- ├── tsconfig.json # TypeScript 配置
25
- └── package.json # 项目配置
26
- ```
27
-
28
- ## 🚀 快速开始
29
-
30
- ### 安装依赖
31
-
32
- ```bash
33
- bun install
34
- ```
35
-
36
- ### 启动开发服务器
37
-
38
- ```bash
39
- bun run dev
40
- ```
41
-
42
- 服务器将在 `http://localhost:3000` 启动。
43
-
44
- ## 📝 核心特性示例
45
-
46
- ### 1. 类型定义
47
-
48
- 项目使用完整的 TypeScript 类型定义,包括:
49
-
50
- - **数据模型类型**(`types/models.ts`)
51
- - **API 请求/响应类型**(`types/api.ts`)
52
- - **继承 Befly 核心类型**(从 `befly/types` 导入)
53
-
54
- ### 2. 类型安全的 API 开发
55
-
56
- ```typescript
57
- import { Api, Yes, No } from 'befly';
58
- import type { BeflyContext, RequestContext } from 'befly/types';
59
- import type { LoginRequest, LoginResponse } from '../types/api';
60
-
61
- export default Api.POST(
62
- '用户登录',
63
- false,
64
- {
65
- /* 字段定义 */
66
- },
67
- ['username', 'password'],
68
- async (befly: BeflyContext, ctx: RequestContext) => {
69
- const { username, password } = ctx.body as LoginRequest;
70
-
71
- // 类型安全的数据库查询
72
- const user = await befly.db.getOne<User>({
73
- table: 'user',
74
- where: { username }
75
- });
76
-
77
- return Yes<LoginResponse>('登录成功', response);
78
- }
79
- );
80
- ```
81
-
82
- ### 3. 数据库操作
83
-
84
- 所有数据库操作都支持泛型:
85
-
86
- ```typescript
87
- // 查询单条
88
- const user = await befly.db.getOne<User>({
89
- table: 'user',
90
- where: { id: 1 }
91
- });
92
-
93
- // 查询列表
94
- const result = await befly.db.getList<Article>({
95
- table: 'article',
96
- page: 1,
97
- limit: 10
98
- });
99
-
100
- // 插入数据
101
- const articleId = await befly.db.insData({
102
- table: 'article',
103
- data: { title: '标题', content: '内容' }
104
- });
105
- ```
106
-
107
- ### 4. 认证与权限
108
-
109
- ```typescript
110
- // 公开接口
111
- export default Api.POST('接口名', false, ...);
112
-
113
- // 需要登录
114
- export default Api.POST('接口名', true, ...);
115
-
116
- // 需要特定角色
117
- export default Api.POST('接口名', ['admin', 'editor'], ...);
118
- ```
119
-
120
- ### 5. JWT 认证
121
-
122
- ```typescript
123
- import { Jwt } from 'befly/utils/jwt';
124
-
125
- // 生成 Token
126
- const token = await Jwt.sign({ userId: '123', role: 'admin' }, { expiresIn: '7d' });
127
-
128
- // 验证 Token
129
- const payload = await Jwt.verify(token, secret);
130
-
131
- // 检查权限
132
- const hasAdmin = Jwt.hasRole(payload, 'admin');
133
- ```
134
-
135
- ## 📋 示例接口
136
-
137
- ### 用户相关
138
-
139
- - `POST /user/login` - 用户登录(公开)
140
- - `POST /user/list` - 获取用户列表(仅管理员)
141
-
142
- ### 文章相关
143
-
144
- - `POST /article/create` - 创建文章(需登录)
145
- - `POST /article/list` - 获取文章列表(公开)
146
-
147
- ## 🧪 测试
148
-
149
- 运行测试:
150
-
151
- ```bash
152
- bun test
153
- ```
154
-
155
- ## 📚 相关文档
156
-
157
- - [TypeScript 支持指南](../docs/10-TypeScript/01-TypeScript支持.md)
158
- - [类型定义参考](../docs/10-TypeScript/02-类型定义参考.md)
159
- - [最佳实践](../docs/10-TypeScript/03-最佳实践.md)
160
- - [迁移指南](../docs/10-TypeScript/04-迁移指南.md)
161
-
162
- ## 💡 提示
163
-
164
- 1. **智能提示**:使用 VS Code 可获得完整的类型提示和自动补全
165
- 2. **类型检查**:TypeScript 会在编译时捕获大部分错误
166
- 3. **重构友好**:修改类型定义时,所有使用处会自动更新
167
- 4. **文档即代码**:类型定义本身就是最好的文档
168
-
169
- ## 🤝 贡献
170
-
171
- 欢迎提交 Issue 和 Pull Request!
172
-
173
- ## 📄 许可
174
-
175
- MIT License
package/SYSTEMD_DEPLOY.md DELETED
@@ -1,455 +0,0 @@
1
- # Befly Systemd 部署指南
2
-
3
- ## 快速开始
4
-
5
- ### 1. 安装 Bun
6
-
7
- ```bash
8
- # Linux/macOS
9
- curl -fsSL https://bun.sh/install | bash
10
-
11
- # 验证安装
12
- bun --version
13
- ```
14
-
15
- ### 2. 部署项目
16
-
17
- ```bash
18
- # 创建项目目录
19
- sudo mkdir -p /var/www/befly
20
- sudo chown -R www-data:www-data /var/www/befly
21
-
22
- # 上传项目文件到服务器
23
- # 方式1:使用 git
24
- cd /var/www/befly
25
- git clone <your-repo-url> .
26
-
27
- # 方式2:使用 rsync
28
- rsync -avz --exclude 'node_modules' ./ user@server:/var/www/befly/
29
-
30
- # 安装依赖
31
- cd /var/www/befly
32
- bun install --production
33
- ```
34
-
35
- ### 3. 配置环境变量
36
-
37
- ```bash
38
- # 复制环境变量模板
39
- cp .env.development .env.production
40
-
41
- # 编辑生产环境配置
42
- nano .env.production
43
- ```
44
-
45
- ### 4. 配置 systemd 服务
46
-
47
- ```bash
48
- # 复制 service 文件
49
- sudo cp befly.service /etc/systemd/system/
50
-
51
- # 编辑配置(修改路径、用户等)
52
- sudo nano /etc/systemd/system/befly.service
53
-
54
- # 需要修改的配置项:
55
- # - WorkingDirectory: 项目实际路径
56
- # - User/Group: 运行用户
57
- # - ExecStart: bun 的实际路径(使用 which bun 查看)
58
- ```
59
-
60
- ### 5. 启动服务
61
-
62
- ```bash
63
- # 重载 systemd 配置
64
- sudo systemctl daemon-reload
65
-
66
- # 启动服务
67
- sudo systemctl start befly
68
-
69
- # 查看状态
70
- sudo systemctl status befly
71
-
72
- # 设置开机自启
73
- sudo systemctl enable befly
74
- ```
75
-
76
- ## 常用命令
77
-
78
- ### 服务管理
79
-
80
- ```bash
81
- # 启动服务
82
- sudo systemctl start befly
83
-
84
- # 停止服务
85
- sudo systemctl stop befly
86
-
87
- # 重启服务
88
- sudo systemctl restart befly
89
-
90
- # 重载配置(不重启服务)
91
- sudo systemctl reload befly
92
-
93
- # 查看服务状态
94
- sudo systemctl status befly
95
-
96
- # 查看服务是否开机自启
97
- sudo systemctl is-enabled befly
98
-
99
- # 启用开机自启
100
- sudo systemctl enable befly
101
-
102
- # 禁用开机自启
103
- sudo systemctl disable befly
104
- ```
105
-
106
- ### 日志查看
107
-
108
- ```bash
109
- # 实时查看日志
110
- sudo journalctl -u befly -f
111
-
112
- # 查看最近100行日志
113
- sudo journalctl -u befly -n 100
114
-
115
- # 查看今天的日志
116
- sudo journalctl -u befly --since today
117
-
118
- # 查看指定时间的日志
119
- sudo journalctl -u befly --since "2025-01-01 00:00:00" --until "2025-01-01 23:59:59"
120
-
121
- # 查看错误日志
122
- sudo journalctl -u befly -p err
123
-
124
- # 查看完整日志(包括被截断的内容)
125
- sudo journalctl -u befly --no-pager
126
-
127
- # 导出日志
128
- sudo journalctl -u befly > befly.log
129
- ```
130
-
131
- ### 配置修改后重载
132
-
133
- ```bash
134
- # 修改 service 文件后
135
- sudo systemctl daemon-reload
136
- sudo systemctl restart befly
137
- ```
138
-
139
- ## 配置说明
140
-
141
- ### 单进程模式
142
-
143
- ```ini
144
- # Systemd 推荐单进程模式
145
- ExecStart=/usr/local/bin/bun run befly start
146
- ```
147
-
148
- **集群部署推荐使用 PM2**:Systemd 适合单进程部署,如需集群模式请使用 PM2(参见项目根目录的 PM2 相关文档)
149
-
150
- ### 用户和权限
151
-
152
- ```bash
153
- # 创建专用用户(推荐)
154
- sudo useradd -r -s /bin/false befly
155
-
156
- # 设置目录权限
157
- sudo chown -R befly:befly /var/www/befly
158
-
159
- # 修改 service 文件
160
- User=befly
161
- Group=befly
162
- ```
163
-
164
- ### 资源限制调整
165
-
166
- ```ini
167
- # 根据服务器配置调整
168
- MemoryMax=4G # 4个Worker进程,每个约1G
169
- MemoryHigh=3G # 内存高水位警告
170
- LimitNOFILE=65536 # 高并发场景增加
171
- CPUQuota=200% # 限制最多使用2个CPU核心
172
- ```
173
-
174
- ### 环境变量配置
175
-
176
- ```ini
177
- # 在 service 文件中添加
178
- Environment="NODE_ENV=production"
179
- Environment="APP_PORT=3000"
180
- Environment="APP_HOST=0.0.0.0"
181
- Environment="DATABASE_URL=postgresql://..."
182
- Environment="REDIS_URL=redis://..."
183
-
184
- # 或使用环境文件
185
- EnvironmentFile=/var/www/befly/.env.production
186
- ```
187
-
188
- ## 反向代理配置
189
-
190
- ### Nginx 配置示例
191
-
192
- #### 单进程模式
193
-
194
- ```nginx
195
- server {
196
- listen 80;
197
- server_name yourdomain.com;
198
-
199
- # HTTPS 配置(推荐)
200
- # listen 443 ssl http2;
201
- # ssl_certificate /path/to/cert.pem;
202
- # ssl_certificate_key /path/to/key.pem;
203
-
204
- location / {
205
- proxy_pass http://127.0.0.1:3000;
206
- proxy_http_version 1.1;
207
-
208
- # WebSocket 支持
209
- proxy_set_header Upgrade $http_upgrade;
210
- proxy_set_header Connection "upgrade";
211
-
212
- # 传递客户端信息
213
- proxy_set_header Host $host;
214
- proxy_set_header X-Real-IP $remote_addr;
215
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
216
- proxy_set_header X-Forwarded-Proto $scheme;
217
-
218
- # 超时设置
219
- proxy_connect_timeout 60s;
220
- proxy_send_timeout 60s;
221
- proxy_read_timeout 60s;
222
- }
223
-
224
- # 静态文件(如果有)
225
- location /static/ {
226
- root /var/www/befly/public;
227
- expires 30d;
228
- add_header Cache-Control "public, immutable";
229
- }
230
- }
231
- ```
232
-
233
- ### Caddy 配置示例
234
-
235
- ```caddyfile
236
- yourdomain.com {
237
- reverse_proxy localhost:3000 localhost:3001 localhost:3002 localhost:3003 {
238
- lb_policy least_conn
239
- health_uri /health
240
- health_interval 10s
241
- }
242
- }
243
- ```
244
-
245
- ## 监控和告警
246
-
247
- ### 基础监控脚本
248
-
249
- ```bash
250
- #!/bin/bash
251
- # 保存为 /usr/local/bin/befly-monitor.sh
252
-
253
- SERVICE="befly"
254
- EMAIL="admin@example.com"
255
-
256
- # 检查服务状态
257
- if ! systemctl is-active --quiet $SERVICE; then
258
- echo "Service $SERVICE is down! Attempting restart..." | mail -s "Alert: Befly Service Down" $EMAIL
259
- systemctl restart $SERVICE
260
- fi
261
-
262
- # 检查内存使用
263
- MEMORY=$(systemctl show $SERVICE -p MemoryCurrent --value)
264
- MEMORY_MB=$((MEMORY / 1024 / 1024))
265
- if [ $MEMORY_MB -gt 3500 ]; then
266
- echo "Service $SERVICE using ${MEMORY_MB}MB memory (high)" | mail -s "Warning: High Memory Usage" $EMAIL
267
- fi
268
- ```
269
-
270
- ### 定时监控(crontab)
271
-
272
- ```bash
273
- # 编辑 crontab
274
- sudo crontab -e
275
-
276
- # 每5分钟检查一次
277
- */5 * * * * /usr/local/bin/befly-monitor.sh
278
- ```
279
-
280
- ## 故障排查
281
-
282
- ### 服务启动失败
283
-
284
- ```bash
285
- # 查看详细错误信息
286
- sudo systemctl status befly -l
287
-
288
- # 查看完整日志
289
- sudo journalctl -u befly -n 100 --no-pager
290
-
291
- # 检查配置文件语法
292
- sudo systemd-analyze verify /etc/systemd/system/befly.service
293
-
294
- # 测试启动命令
295
- cd /var/www/befly
296
- sudo -u www-data bun run befly start
297
- ```
298
-
299
- ### 权限问题
300
-
301
- ```bash
302
- # 检查文件权限
303
- ls -la /var/www/befly
304
-
305
- # 修复权限
306
- sudo chown -R www-data:www-data /var/www/befly
307
- sudo chmod -R 755 /var/www/befly
308
-
309
- # 检查日志目录权限
310
- sudo mkdir -p /var/www/befly/logs
311
- sudo chown -R www-data:www-data /var/www/befly/logs
312
- ```
313
-
314
- ### 端口占用
315
-
316
- ```bash
317
- # 检查端口是否被占用
318
- sudo netstat -tulpn | grep :3000
319
-
320
- # 或使用 ss
321
- sudo ss -tulpn | grep :3000
322
-
323
- # 杀死占用端口的进程
324
- sudo kill -9 <PID>
325
- ```
326
-
327
- ## 升级和维护
328
-
329
- ### 应用升级
330
-
331
- ```bash
332
- # 拉取最新代码
333
- cd /var/www/befly
334
- git pull
335
-
336
- # 安装新依赖
337
- bun install --production
338
-
339
- # 重启服务
340
- sudo systemctl restart befly
341
-
342
- # 查看状态
343
- sudo systemctl status befly
344
- ```
345
-
346
- ### 日志清理
347
-
348
- ```bash
349
- # 查看日志占用空间
350
- sudo journalctl --disk-usage
351
-
352
- # 清理旧日志(保留最近7天)
353
- sudo journalctl --vacuum-time=7d
354
-
355
- # 清理日志(保留最近1GB)
356
- sudo journalctl --vacuum-size=1G
357
-
358
- # 配置自动清理(编辑配置文件)
359
- sudo nano /etc/systemd/journald.conf
360
-
361
- # 添加配置
362
- SystemMaxUse=1G
363
- MaxRetentionSec=7day
364
- ```
365
-
366
- ## 安全建议
367
-
368
- ### 防火墙配置
369
-
370
- ```bash
371
- # 使用 ufw
372
- sudo ufw allow 80/tcp
373
- sudo ufw allow 443/tcp
374
- sudo ufw enable
375
-
376
- # 或使用 firewalld
377
- sudo firewall-cmd --permanent --add-service=http
378
- sudo firewall-cmd --permanent --add-service=https
379
- sudo firewall-cmd --reload
380
- ```
381
-
382
- ### 最小权限原则
383
-
384
- ```bash
385
- # 禁止 befly 用户登录
386
- sudo usermod -s /bin/false befly
387
-
388
- # 限制目录访问
389
- sudo chmod 750 /var/www/befly
390
- ```
391
-
392
- ### 定期更新
393
-
394
- ```bash
395
- # 更新系统
396
- sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
397
- # 或
398
- sudo yum update -y # CentOS/RHEL
399
-
400
- # 更新 Bun
401
- bun upgrade
402
- ```
403
-
404
- ## 备份策略
405
-
406
- ```bash
407
- #!/bin/bash
408
- # 保存为 /usr/local/bin/befly-backup.sh
409
-
410
- DATE=$(date +%Y%m%d_%H%M%S)
411
- BACKUP_DIR="/var/backups/befly"
412
- PROJECT_DIR="/var/www/befly"
413
-
414
- # 创建备份目录
415
- mkdir -p $BACKUP_DIR
416
-
417
- # 备份配置和代码
418
- tar -czf $BACKUP_DIR/befly_$DATE.tar.gz \
419
- $PROJECT_DIR/.env.production \
420
- $PROJECT_DIR/package.json \
421
- $PROJECT_DIR/bun.lockb \
422
- /etc/systemd/system/befly.service
423
-
424
- # 保留最近30天的备份
425
- find $BACKUP_DIR -name "befly_*.tar.gz" -mtime +30 -delete
426
- ```
427
-
428
- ## 性能优化
429
-
430
- ### Bun 优化
431
-
432
- ```bash
433
- # 使用生产模式
434
- NODE_ENV=production
435
-
436
- # 禁用调试日志
437
- DEBUG=0
438
- ```
439
-
440
- ### 系统优化
441
-
442
- ```bash
443
- # 增加文件描述符限制
444
- echo "* soft nofile 65536" | sudo tee -a /etc/security/limits.conf
445
- echo "* hard nofile 65536" | sudo tee -a /etc/security/limits.conf
446
-
447
- # 优化内核参数
448
- sudo sysctl -w net.core.somaxconn=65535
449
- sudo sysctl -w net.ipv4.tcp_max_syn_backlog=8192
450
- ```
451
-
452
- ## 联系和支持
453
-
454
- - 文档:https://github.com/chenbimo/befly
455
- - 问题反馈:GitHub Issues