diff --git a/.run/yshop-admin_Dockerfile.run.xml b/.run/yshop-admin_Dockerfile.run.xml new file mode 100644 index 00000000..880a3a3d --- /dev/null +++ b/.run/yshop-admin_Dockerfile.run.xml @@ -0,0 +1,25 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.run/yshop-app_Dockerfile.run.xml b/.run/yshop-app_Dockerfile.run.xml new file mode 100644 index 00000000..13991642 --- /dev/null +++ b/.run/yshop-app_Dockerfile.run.xml @@ -0,0 +1,25 @@ + + + + + + + + + + \ No newline at end of file diff --git a/yshop-admin/Dockerfile b/yshop-admin/Dockerfile new file mode 100644 index 00000000..310d6e08 --- /dev/null +++ b/yshop-admin/Dockerfile @@ -0,0 +1,18 @@ +FROM moxm/java:1.8-full as builder + +MAINTAINER wangiegie@gmail.com + +ENV TZ=Asia/Shanghai +ENV JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom" + +RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN mkdir -p /yshop-admin + +WORKDIR /yshop-admin + +EXPOSE 8001 + +ADD ./target/yshop-admin-3.1.jar ./ + +CMD java $JAVA_OPTS -jar yshop-admin-3.1.jar --spring.profiles.active=docker diff --git a/yshop-admin/src/main/java/co/yixiang/config/ConfigurerAdapter.java b/yshop-admin/src/main/java/co/yixiang/config/ConfigurerAdapter.java index 6ff83ef9..3c1f2528 100644 --- a/yshop-admin/src/main/java/co/yixiang/config/ConfigurerAdapter.java +++ b/yshop-admin/src/main/java/co/yixiang/config/ConfigurerAdapter.java @@ -43,7 +43,12 @@ public class ConfigurerAdapter implements WebMvcConfigurer { config.addAllowedHeader("*");// #允许访问的头信息,*表示全部 config.setMaxAge(18000L);// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了 config.addAllowedMethod("OPTIONS");// 允许提交请求的方法类型,*表示全部允许 - + config.addAllowedMethod("HEAD"); + config.addAllowedMethod("GET"); + config.addAllowedMethod("PUT"); + config.addAllowedMethod("POST"); + config.addAllowedMethod("DELETE"); + config.addAllowedMethod("PATCH"); source.registerCorsConfiguration("/**", config); return new CorsFilter(source); } diff --git a/yshop-admin/src/main/resources/config/application-docker.yml b/yshop-admin/src/main/resources/config/application-docker.yml new file mode 100644 index 00000000..d1c794b0 --- /dev/null +++ b/yshop-admin/src/main/resources/config/application-docker.yml @@ -0,0 +1,95 @@ +#配置数据源 +spring: + application: + name: yshop-system + datasource: + druid: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3366/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull + username: yshopb2c + password: bkfGfAimifjPZtNE + + # 初始化配置 + initial-size: 3 + # 最小连接数 + min-idle: 3 + # 最大连接数 + max-active: 15 + # 获取连接超时时间 + max-wait: 5000 + # 连接有效性检测时间 + time-between-eviction-runs-millis: 90000 + # 最大空闲时间 + min-evictable-idle-time-millis: 1800000 + test-while-idle: true + test-on-borrow: false + test-on-return: false + validation-query: select 1 + # 配置监控统计拦截的filters + filters: stat + + stat-view-servlet: + url-pattern: /druid/* + reset-enable: false + login-username: admin + login-password: 123456 + + web-stat-filter: + url-pattern: /* + exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*" + + redis: + #数据库索引 + database: 5 + host: 127.0.0.1 + port: 6399 # Redis服务器连接端口 + password: 6379@@6379 # Redis服务器连接密码(默认为空) + #连接超时时间 + timeout: 5000 + +# 是否限制单用户登录 +single: + login: false + +#jwt +jwt: + header: Authorization + # 令牌前缀 + token-start-with: Bearer + secret: k09BQnaF + # 必须使用最少88位的Base64对该令牌进行编码 + base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI= + # 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html + token-validity-in-seconds: 7200000 + # 在线用户key + online-key: online-token + # 验证码 + code-key: code-key + +#是否允许生成代码,生产环境设置为false +generator: + enabled: false + +#如果生产环境要开启swagger,需要配置请求地址 +#springfox: +# documentation: +# swagger: +# v2: +# host: # 接口域名或外网ip + +#是否开启 swagger-ui,生产环境默认不开启 +swagger: + enabled: true + title: yshop商城管理后台API + serverUrl: http://127.0.0.1:8000 + version: 3.0 + + +file: + path: /www/wwwroot/thapi.xinxintuan.co/upload/file/ + avatar: /www/wwwroot/thapi.xinxintuan.co/upload/avatar/ + # 文件大小 /M + maxSize: 100 + avatarMaxSize: 5 + diff --git a/yshop-app/Dockerfile b/yshop-app/Dockerfile index 775c8e9b..4b9e2f2a 100644 --- a/yshop-app/Dockerfile +++ b/yshop-app/Dockerfile @@ -1,4 +1,4 @@ -FROM anapsix/alpine-java:8_server-jre_unlimited +FROM moxm/java:1.8-full as builder MAINTAINER wangiegie@gmail.com @@ -15,4 +15,4 @@ EXPOSE 8008 ADD ./target/yshop-app-3.1.jar ./ -CMD java $JAVA_OPTS -jar yshop-app-3.1.jar --spring.profiles.active=dev +CMD java $JAVA_OPTS -jar yshop-app-3.1.jar --spring.profiles.active=docker diff --git a/yshop-app/src/main/resources/config/application-docker.yml b/yshop-app/src/main/resources/config/application-docker.yml new file mode 100644 index 00000000..0ba8448a --- /dev/null +++ b/yshop-app/src/main/resources/config/application-docker.yml @@ -0,0 +1,99 @@ +spring: + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 主库数据源 + master: + url: jdbc:mysql://172.30.0.10:3366/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull + username: yshopb2c + password: bkfGfAimifjPZtNE + # 从库数据源 + slave: + # 从数据源开关/默认关闭 + enabled: false + url: + username: + password: + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + statViewServlet: + enabled: true + url-pattern: /monitor/druid/* + filter: + stat: + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true + redis: + host: 172.30.0.10 # Redis服务器地址 + database: 5 # Redis数据库索引(默认为0) + port: 6399 # Redis服务器连接端口 + password: 6379@@6379 # Redis服务器连接密码(默认为空) + jedis: + pool: + max-active: 8 # 连接池最大连接数(使用负值表示没有限制) + max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-idle: 8 # 连接池中的最大空闲连接 + min-idle: 0 # 连接池中的最小空闲连接 + timeout: 3000ms # 连接超时时间(毫秒) + cache: + # spring cache 缓存类型为redis 也可以是其他的实现 + type: redis + +# 是否限制单用户登录 +single: + login: false + +yshop: + security: + jwt-key: yshopmini + token-expired-in: 72000 + + + + +#如果生产环境要开启swagger,需要配置请求地址 +#springfox: +# documentation: +# swagger: +# v2: +# host: # 接口域名或外网ip + +#是否开启 swagger-ui,生产环境默认不开启 +swagger: + enabled: true + title: yshop商城移动端API + serverUrl: http://localhost:8009 + version: 3.0 + +# 文件存储路径 +file: + path: /home/yshop/file/ + avatar: /home/yshop/avatar/ + # 文件大小 /M + maxSize: 100 + avatarMaxSize: 5 + + diff --git a/yshop-app/src/main/resources/config/application-prod.yml b/yshop-app/src/main/resources/config/application-prod.yml index 0abc1310..ae70f261 100644 --- a/yshop-app/src/main/resources/config/application-prod.yml +++ b/yshop-app/src/main/resources/config/application-prod.yml @@ -47,7 +47,7 @@ spring: config: multi-statement-allow: true redis: - host: localhost # Redis服务器地址 + host: 172.30.0.10 # Redis服务器地址 database: 5 # Redis数据库索引(默认为0) port: 6399 # Redis服务器连接端口 password: 6379@@6379 # Redis服务器连接密码(默认为空) @@ -90,8 +90,8 @@ swagger: # 文件存储路径 file: - path: /www/wwwroot/thapi.xinxintuan.co/upload/file/ - avatar: /www/wwwroot/thapi.xinxintuan.co/upload/avatar/ + path: /home/yshop/file/ + avatar: /home/yshop/avatar/ # 文件大小 /M maxSize: 100 avatarMaxSize: 5