目前项目nginx配置
# 配置
# 配置nginx.conf
- 默认前端后台管理;
- 加资源图片路径,resource
server {
#listen 8000 ssl;
listen 8000;
#server_name gdapp.damcentre.com;
#ssl_certificate /root/ssl/gdapp.damcentre.com_bundle.crt;
#ssl_certificate_key /root/ssl/gdapp.damcentre.com.key;
#ssl_session_cache shared:SSL:1m;
#ssl_session_timeout 5m;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
#ssl_prefer_server_ciphers on;
server_name localhost;
#charset koi8-r;
location / {
root /home/dbzx/data/webs/supervise-web/dist;
index index.html index.htm;
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Headers' *;
add_header 'Access-Control-Allow-Methods' *;
}
location /api/ {
proxy_pass http://127.0.0.1:8001/;
}
location /job-console/ {
proxy_pass http://127.0.0.1:8019/;
}
#测试环境粤政易代理到正式环境测试
location /api/oauth/yxq/app-callback {
proxy_pass http://210.76.xx.8:xxx/api/oauth/yxq/app-callback;
}
location /kkfileview/ {
proxy_pass http://127.0.0.1:8024/;
}
#预警分析暂时没集成进来,先代理
location /api/analyWarnUrl/ {
# proxy_pass http://47.98.212.220:8014/;
proxy_pass http://111.198.2.196:xxx/;
}
location /api/videoUrl/ {
proxy_pass http://127.0.0.1:8005/;
}
location /resource/ {
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Headers' *;
add_header 'Access-Control-Allow-Methods' *;
root /home/dbzx/data/webs/supervise-web;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# 模拟测试多项目共端口
测试环境下
# app和h5路径
server {
listen 7998;
server_name localhost;
location / {
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Headers' *;
add_header 'Access-Control-Allow-Methods' *;
root /home/dbzx/data/webs/app/h5;
index index.html index.htm;
}
location /api/ {
proxy_pass http://127.0.0.1:8001/;
}
#图片资源相关
location /resource/ {
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Headers' *;
add_header 'Access-Control-Allow-Methods' *;
#root /home/dbzx/data/webs/app/resource; 这个错误路径;
# 访问方式:http://172.16.11.15:7998/resource/apk/test.jpg
root /home/dbzx/data/webs/app;
#index index.html index.htm;
#autoindex on;
}
#子系统想,公用端口;
location /mems/ {
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Headers' *;
add_header 'Access-Control-Allow-Methods' *;
# http://172.16.11.15:7998/mems/#/
# 目录结构:多层目录;/home/dbzx/data/webs/mems/mems/index.html
root /home/dbzx/data/webs/mems;
# 正式环境下 优化后,两层目录 目录结构:/home/dbzx/data/mems/mems/index.html
#root /home/dbzx/data/mems;
index index.html index.htm;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# uni-app项目路由模式
# router (opens new window)
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
mode | String | hash | 路由跳转模式,支持 hash、history |
base | String | / | 应用基础路径,例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/",支持设置为相对路径 "./" |
注意:
**history
模式部分浏览器器不支持**,iOS微信内置浏览器无法观测到URL变动,默认分享(不使用微信JSSDK (opens new window)的情况下)的链接为入口页链接。history
模式发行需要后台配置支持,详见:history 模式的后端配置 (opens new window)
# uni-app项目多层路径部署
# 这里的多路径,子路径项目跟主项目不是在同一个目录下;为了项目结构好看,会导致mems多两层目录;
# 注意事项
部分配置项会被编译配置覆盖,例如:
- publicPath 不支持,如果需要配置,请在 manifest.json->h5->router->base 中配置,参考文档:h5-router (opens new window)
- outputDir 不支持
- assetsDir 固定 static
- pages 不支持
- runtimeCompiler 固定 false
- productionSourceMap 固定 false
- css.extract H5 平台固定 false,其他平台固定 true
- parallel 固定 false
目录和路由对应
UNI_OUTPUT_DIR和publicPath,base对应一致;
# 指定输出路径UNI_OUTPUT_DIR
uniapp中h5项目,目前使用 vue.config.js 中的 outputDir 是不生效的。 可以通过设置环境变量 UNI_OUTPUT_DIR 来处理。现需要在manifest.json打包命令中增加这么一句 UNI_OUTPUT_DIR=你的指定目录
UNI_OUTPUT_DIR=dist/mems
"build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 UNI_OUTPUT_DIR=dist/mems vue-cli-service uni-build",
1
2
3
2
3
# 指定子路径publicPath
vue.cofig.js中修改webpack配置outputDir这种方式是不支持的。
manifest.json
"h5": {
"publicPath": "/mems/"
},
1
2
3
2
3
# 路由前缀处理
base: isPro ?'/mems/' : '/',
const router = createRouter({
base: isPro ?'/mems/' : '/',
// @ts-ignore
platform: process.env.VUE_APP_PLATFORM,
routes: [...ROUTES],
routerErrorEach: ({type,level,...args}) => {
console.log('---routerErrorEach---',type,level, args);
if(type===3){
router.$lockStatus=false;
if(isApp && level==1&&args.uniActualData.from==='backbutton') runtimeQuit()
}
else if(type===0){
router.$lockStatus=false;
}
},
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 对应ngx上配置
- /对应的是管理后台页面;
- /mems/ 子应用项目;
正式环境部署地址:
server {
listen 7998;
server_name localhost;
location / {
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Headers' *;
add_header 'Access-Control-Allow-Methods' *;
root /data/app/web/dist;
index index.html index.htm;
}
location /api/ {
proxy_pass http://127.0.0.1:8001/;
}
#图片资源相关
location /resource/ {
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Headers' *;
add_header 'Access-Control-Allow-Methods' *;
#root /home/dbzx/data/webs/app/resource; 这个错误路径;
# 访问方式:http://172.16.11.15:7998/resource/apk/test.jpg
root /home/dbzx/data/webs/app;
#index index.html index.htm;
#autoindex on;
}
#子系统想,公用端口;
location /mems/ {
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Headers' *;
add_header 'Access-Control-Allow-Methods' *;
# 正式环境下 优化后,两层目录 目录结构:/data/app/mems/mems/index.html
root /data/app/mems;
index index.html index.htm;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
上次更新: 2023/11/17, 05:08:20