vk-ssl-auto-deploy 0.2.1 → 0.3.0
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/README.md +274 -62
- package/config.json +2 -2
- package/package.json +1 -1
- package/routes/cert.js +5 -5
package/README.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
## 安装部署
|
|
2
|
-
|
|
1
|
+
## 安装部署
|
|
2
|
+
|
|
3
3
|
### 1. 安装node环境(如果node环境已安装,则跳过这一步骤)
|
|
4
|
-
|
|
5
|
-
#### linux系统
|
|
4
|
+
|
|
5
|
+
#### linux系统
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - && sudo yum install -y nodejs
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
#### Windows系统
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
winget install --id OpenJS.NodeJS.LTS -e
|
|
15
|
-
```
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
#### Windows系统
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
winget install --id OpenJS.NodeJS.LTS -e
|
|
15
|
+
```
|
|
16
16
|
|
|
17
17
|
验证是否完成完成
|
|
18
18
|
|
|
@@ -36,42 +36,42 @@ npm install -g vk-ssl-auto-deploy@latest
|
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
38
|
npm root -g
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
假设返回 `/usr/lib/node_modules`
|
|
42
|
-
|
|
43
|
-
则执行命令 `cd /usr/lib/node_modules/vk-ssl-auto-deploy` 进入工具目录
|
|
44
|
-
|
|
45
|
-
### 5. 修改部署成功回调命令
|
|
46
|
-
|
|
47
|
-
查看配置文件 [查看配置说明](#配置说明)
|
|
48
|
-
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
假设返回 `/usr/lib/node_modules`
|
|
42
|
+
|
|
43
|
+
则执行命令 `cd /usr/lib/node_modules/vk-ssl-auto-deploy` 进入工具目录
|
|
44
|
+
|
|
45
|
+
### 5. 修改部署成功回调命令
|
|
46
|
+
|
|
47
|
+
查看配置文件 [查看配置说明](#配置说明)
|
|
48
|
+
|
|
49
49
|
```bash
|
|
50
50
|
vim config.json
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
编辑配置文件
|
|
54
|
-
|
|
55
|
-
**基本操作:**
|
|
56
|
-
|
|
57
|
-
- 按 i - 进入插入模式(可以编辑)
|
|
58
|
-
- 按 ESC - 退出插入模式
|
|
59
|
-
- 输入 :wq - 保存并退出
|
|
60
|
-
- 输入 :q! - 不保存退出
|
|
61
|
-
- 输入 :w - 仅保存
|
|
62
|
-
|
|
63
|
-
Linux系统下重载nginx配置
|
|
64
|
-
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
编辑配置文件
|
|
54
|
+
|
|
55
|
+
**基本操作:**
|
|
56
|
+
|
|
57
|
+
- 按 i - 进入插入模式(可以编辑)
|
|
58
|
+
- 按 ESC - 退出插入模式
|
|
59
|
+
- 输入 :wq - 保存并退出
|
|
60
|
+
- 输入 :q! - 不保存退出
|
|
61
|
+
- 输入 :w - 仅保存
|
|
62
|
+
|
|
63
|
+
Linux系统下重载nginx配置
|
|
64
|
+
|
|
65
65
|
```bash
|
|
66
66
|
sudo nginx -t && sudo service nginx reload
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Windows系统下重载nginx配置(注意:地址需要用 / 不能用 \)
|
|
70
|
-
|
|
71
|
-
```bash
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Windows系统下重载nginx配置(注意:地址需要用 / 不能用 \)
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
72
|
cd C:/Users/Administrator/Desktop/nginx-openresty-1.15.8.1-win64&nginx.exe -s reload
|
|
73
|
-
```
|
|
74
|
-
|
|
73
|
+
```
|
|
74
|
+
|
|
75
75
|
### 6. 启动程序
|
|
76
76
|
|
|
77
77
|
安装后可以直接使用命令启动:
|
|
@@ -79,14 +79,109 @@ cd C:/Users/Administrator/Desktop/nginx-openresty-1.15.8.1-win64&nginx.exe -s re
|
|
|
79
79
|
```bash
|
|
80
80
|
# 调试启动(关闭命令窗口后程序会停止运行)
|
|
81
81
|
vk-ssl
|
|
82
|
-
|
|
83
|
-
# mp2方式运行(关闭命令窗口后程序依然会运行)
|
|
82
|
+
|
|
83
|
+
# 【推荐】mp2方式运行(关闭命令窗口后程序依然会运行)
|
|
84
84
|
cd <安装目录>,如 cd /usr/lib/node_modules/vk-ssl-auto-deploy
|
|
85
85
|
npm run start
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
**注意服务器需要开放端口:6001**
|
|
89
|
-
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**注意服务器需要开放端口:6001**
|
|
89
|
+
|
|
90
|
+
### 7. 开机自动启动服务
|
|
91
|
+
|
|
92
|
+
#### Linux系统
|
|
93
|
+
|
|
94
|
+
使用PM2的startup功能来实现开机自动启动:
|
|
95
|
+
|
|
96
|
+
**步骤1:生成开机启动脚本**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
pm2 startup
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**步骤2:启动服务并保存进程列表**
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# 进入安装目录
|
|
106
|
+
cd /usr/lib/node_modules/vk-ssl-auto-deploy
|
|
107
|
+
|
|
108
|
+
# 启动服务
|
|
109
|
+
npm run start
|
|
110
|
+
|
|
111
|
+
# 保存当前PM2进程列表(重要!)
|
|
112
|
+
pm2 save
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**步骤3:验证开机启动**
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# 重启服务器
|
|
119
|
+
sudo reboot
|
|
120
|
+
|
|
121
|
+
# 重启后检查服务是否自动运行
|
|
122
|
+
pm2 list
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**取消开机自动启动**
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# 取消开机启动
|
|
129
|
+
pm2 unstartup systemd
|
|
130
|
+
|
|
131
|
+
# 删除保存的进程列表
|
|
132
|
+
pm2 delete all
|
|
133
|
+
pm2 save --force
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### Windows系统
|
|
137
|
+
|
|
138
|
+
**方法一:使用pm2-windows-startup(推荐)**
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# 安装pm2-windows-startup
|
|
142
|
+
npm install -g pm2-windows-startup
|
|
143
|
+
|
|
144
|
+
# 配置开机启动(需要管理员权限运行PowerShell或CMD)
|
|
145
|
+
pm2-startup install
|
|
146
|
+
|
|
147
|
+
# 进入安装目录并启动服务
|
|
148
|
+
cd <安装目录>
|
|
149
|
+
npm run start
|
|
150
|
+
|
|
151
|
+
# 保存当前PM2进程列表
|
|
152
|
+
pm2 save
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**方法二:使用任务计划程序**
|
|
156
|
+
|
|
157
|
+
1. 打开"任务计划程序"(Win+R,输入 `taskschd.msc`)
|
|
158
|
+
2. 点击"创建基本任务"
|
|
159
|
+
3. 名称:`vk-ssl-auto-deploy`
|
|
160
|
+
4. 触发器:选择"计算机启动时"
|
|
161
|
+
5. 操作:选择"启动程序"
|
|
162
|
+
6. 程序或脚本:`npm`
|
|
163
|
+
7. 添加参数:`--prefix <安装目录> run start`
|
|
164
|
+
- 例如:`--prefix C:\Users\Administrator\AppData\Roaming\npm\node_modules\vk-ssl-auto-deploy run start`
|
|
165
|
+
8. 起始于:填写安装目录路径
|
|
166
|
+
9. 完成创建
|
|
167
|
+
|
|
168
|
+
**验证开机启动**
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# 重启电脑后,检查服务是否自动运行
|
|
172
|
+
pm2 list
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**取消开机自动启动**
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# 方法一:卸载pm2-windows-startup
|
|
179
|
+
pm2-startup uninstall
|
|
180
|
+
|
|
181
|
+
# 方法二:在任务计划程序中删除对应的任务
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
|
|
90
185
|
## 配置说明
|
|
91
186
|
|
|
92
187
|
编辑 `config.json` 文件可以修改服务端口和路由前缀:
|
|
@@ -95,8 +190,8 @@ npm run start
|
|
|
95
190
|
{
|
|
96
191
|
"port": 6001,
|
|
97
192
|
"routerName": "api",
|
|
98
|
-
"
|
|
99
|
-
"ipWhitelist": [],
|
|
193
|
+
"certSaveDir": "/vk-cert",
|
|
194
|
+
"ipWhitelist": [],
|
|
100
195
|
"callbackCommand": [
|
|
101
196
|
"sudo nginx -t && sudo service nginx reload"
|
|
102
197
|
]
|
|
@@ -104,18 +199,135 @@ npm run start
|
|
|
104
199
|
```
|
|
105
200
|
|
|
106
201
|
- `port`: 服务监听端口(默认 6001)(一般无需改动)
|
|
107
|
-
- `routerName`: API 路由前缀(默认 "api",即访问路径为 `/api/...`)(一般无需改动)
|
|
108
|
-
- `
|
|
109
|
-
- `ipWhitelist`: IP白名单,默认为空,表示不限制IP,如果需要限制IP,可以填写IP地址,多个IP地址用逗号分隔
|
|
110
|
-
- `callbackCommand`: 证书部署成功后执行的服务器命令,一般用于重载nginx配置等
|
|
111
|
-
|
|
112
|
-
##
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
|
|
202
|
+
- `routerName`: API 路由前缀(默认 "api",即访问路径为 `/api/...`)(一般无需改动)
|
|
203
|
+
- `certSaveDir`: 证书存储目录,最终证书路径为 `${certSaveDir}/${证书id}/`(一般无需改动)
|
|
204
|
+
- `ipWhitelist`: IP白名单,默认为空,表示不限制IP,如果需要限制IP,可以填写IP地址,多个IP地址用逗号分隔
|
|
205
|
+
- `callbackCommand`: 证书部署成功后执行的服务器命令,一般用于重载nginx配置等
|
|
206
|
+
|
|
207
|
+
## 查找nginx安装目录
|
|
208
|
+
|
|
209
|
+
通过查看进程信息
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
ps aux | grep nginx
|
|
213
|
+
|
|
214
|
+
// 查找nginx配置所在地址
|
|
215
|
+
find / -name nginx.conf 2>/dev/null
|
|
216
|
+
|
|
217
|
+
// 查看配置,确认证书所在地址
|
|
218
|
+
vim /www/server/nginx/conf/nginx.conf
|
|
219
|
+
|
|
220
|
+
// 假设
|
|
221
|
+
证书内容文件地址:/www/server/nginx/cert/xxx.xxx.xxx/cert.pem
|
|
222
|
+
证书私钥文件地址://www/server/nginx/cert/xxx.xxx.xxx/key.pem;
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
// 重载nginx配置,假设nginx的安装目录是 /www/server/nginx/sbin/nginx
|
|
226
|
+
执行nginx重载配置:/www/server/nginx/sbin/nginx -s reload
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## 重置 root账号密码
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
sudo passwd root
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## 服务器常用命令
|
|
236
|
+
|
|
237
|
+
### 进入证书目录
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
ls /vk-cert
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### 查看证书文件
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
ls /vk-cert/你的域名
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 基础文件列表命令
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
ls # 列出当前目录文件
|
|
253
|
+
ls -l # 详细列表(长格式)
|
|
254
|
+
ls -la # 显示所有文件(包括隐藏文件)
|
|
255
|
+
ls -lh # 人类可读的文件大小(KB, MB, GB)
|
|
256
|
+
ls -lt # 按修改时间排序
|
|
257
|
+
ls -ltr # 按时间倒序(最新的在最后)
|
|
258
|
+
ls -lS # 按文件大小排序
|
|
259
|
+
ls /path/to/dir # 列出指定目录
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### 分页查看(长列表时很有用)
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
ls -la | less # 使用 less 分页查看
|
|
266
|
+
ls -la | more # 使用 more 分页查看
|
|
267
|
+
|
|
268
|
+
# 在 less 或 more 中:
|
|
269
|
+
Space / f # 下一页(向下翻页)
|
|
270
|
+
b # 上一页(向上翻页)
|
|
271
|
+
d # 向下半页
|
|
272
|
+
u # 向上半页
|
|
273
|
+
j / ↓ # 向下一行
|
|
274
|
+
k / ↑ # 向上一行
|
|
275
|
+
g # 跳到开头
|
|
276
|
+
G # 跳到结尾
|
|
277
|
+
/keyword # 向下搜索关键词
|
|
278
|
+
?keyword # 向上搜索关键词
|
|
279
|
+
n # 下一个搜索结果
|
|
280
|
+
N # 上一个搜索结果
|
|
281
|
+
q # 退出
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### 目录导航命令
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
cd /path/to/dir # 进入指定目录
|
|
288
|
+
cd .. # 返回上一级目录
|
|
289
|
+
cd - # 返回上一次所在目录(切换)
|
|
290
|
+
cd ~ # 返回用户主目录
|
|
291
|
+
cd / # 返回根目录
|
|
292
|
+
pwd # 显示当前目录的完整路径
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### 快捷键(命令行通用)
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
Ctrl + C # 终止当前命令
|
|
299
|
+
Ctrl + D # 退出当前 shell(或结束输入)
|
|
300
|
+
Ctrl + L # 清屏(等同于 clear)
|
|
301
|
+
Ctrl + R # 搜索历史命令
|
|
302
|
+
Ctrl + A # 光标移到行首
|
|
303
|
+
Ctrl + E # 光标移到行尾
|
|
304
|
+
Ctrl + U # 删除光标前的内容
|
|
305
|
+
Ctrl + K # 删除光标后的内容
|
|
306
|
+
↑ / ↓ # 浏览历史命令
|
|
307
|
+
Tab # 自动补全
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### 查找文件
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
find . -name "*.txt" # 查找当前目录下所有 .txt 文件
|
|
314
|
+
find /path -type f -name "file*" # 查找指定路径的文件
|
|
315
|
+
find . -mtime -7 # 查找最近7天修改的文件
|
|
316
|
+
locate filename # 快速查找文件(需要更新数据库)
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### 文件内容预览
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
cat file.txt # 显示整个文件内容
|
|
323
|
+
head file.txt # 显示文件前10行
|
|
324
|
+
head -n 20 file.txt # 显示文件前20行
|
|
325
|
+
tail file.txt # 显示文件最后10行
|
|
326
|
+
tail -n 20 file.txt # 显示文件最后20行
|
|
327
|
+
tail -f file.log # 实时追踪文件更新(日志文件常用)
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### PM2 进程管理
|
|
119
331
|
|
|
120
332
|
```bash
|
|
121
333
|
cd /usr/lib/node_modules/vk-ssl-auto-deploy
|
package/config.json
CHANGED
package/package.json
CHANGED
package/routes/cert.js
CHANGED
|
@@ -65,11 +65,11 @@ router.post('/deploy-cert', upload.single('file'), async (req, res, next) => {
|
|
|
65
65
|
|
|
66
66
|
// 2. 创建cert目录和子目录
|
|
67
67
|
const projectRoot = path.join(__dirname, '..');
|
|
68
|
-
// 使用配置文件中的
|
|
69
|
-
const certBaseDir = path.isAbsolute(config.
|
|
70
|
-
config.
|
|
71
|
-
path.join(projectRoot, config.
|
|
72
|
-
const certDir = path.resolve(certBaseDir, certName);
|
|
68
|
+
// 使用配置文件中的 certSaveDir,支持绝对路径和相对路径
|
|
69
|
+
const certBaseDir = path.isAbsolute(config.certSaveDir) ?
|
|
70
|
+
config.certSaveDir :
|
|
71
|
+
path.join(projectRoot, config.certSaveDir);
|
|
72
|
+
const certDir = path.resolve(certBaseDir, certName);
|
|
73
73
|
const userCertDir = certDir.replace(/\\/g, '/');
|
|
74
74
|
|
|
75
75
|
// 确保cert根目录存在
|