🎄项目访问链接
🌏已经部署到
Linux
服务器 访问链接如下 20240206 -> 安装SSL证书 -> 访问安全https://bigbigmeng.online/XMall/index.html
🌏因为目前服务器不满3个月 所以无法备案 访问会提示不安全 是正常的 如果访问域名长时间无响应 可以直接用IP地址访问 响应比较快
http://140.143.165.120:90/XMall/index.html
🤵用户登录 账号
15611111111
密码15611111111
(也可以自行注册登录)
🎄项目技术选型和亮点实现
- Java8
- SpringBoot
- Spring
- SpringMVC
- MyBatis-Plus
- MySQL
- Redis(缓存 商品秒杀)
- RabbitMQ(消息队列 商品秒杀)
🎄主要功能和内容呈现(本地开发环境演示)
🌴项目主页
可以进行简单搜索、点击注册、点击登录、进入个人中心、查看我的收藏(主页有分页)
🌴登录
🌴查看普通商品、购买普通商品、收藏普通商品
🌴查看秒杀商品输入验证码抢购
🌴个人中心
🌴个人收藏
🎄项目部署
🌴导入数据库信息
创建数据库
CREATE DATABASE bigxmeng_mall DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
导入数据
🌴本地修改项目配置信息
application.properties
配置文件
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://101.42.24.90:3306/bigxmeng_mall?&characterEncoding=utf8&useSSL=false
application.yml
文件
spring:
cloud:
alicloud:
oss: # 配置oss 阿里云云存储
bucket: bigxmeng-bucket-10000 # 从网页复制
endpoint: oss-cn-qingdao.aiyncs.com
access-key: LTAI5t7fWi6VKKPkfD # 安全起见 我这里删除了一部分
secret-key: qTXZPzgX3kmr6zcKuan5z # 安全起见 我这里删除了一部分
redis: # 配置Redis的访问
host: 101.42.24.90
port: 6379
database: 0 #默认数据库
timeout: 1800000
lettuce:
pool:
max-active: 8 #最大连接数:默认是 8
max-wait: 10000ms #最大连接阻塞等待时间,默认是-1
max-idle: 200 #最大空闲连接,默认是 8
min-idle: 5 #最小空闲连接,默认是 0
thymeleaf:
cache: false
prefix: classpath:/templates/
suffix: .html # 模板文件名后缀
encoding: UTF-8
content-type: text/html
mode: HTML
servlet:
multipart:
max-file-size: 5MB
max-request-size: 500MB
# 20230908 rabbitmq 配置
rabbitmq:
host: 101.42.24.90
username: admin # 默认的guest用户不支持远程访问 使用新建的admin用户
password: admin
#虚拟主机
virtual-host: /
#端口
port: 5672
listener:
simple:
#消费者最小数量 P-QUEUE-C
concurrency: 10
#消费者最大数量
max-concurrency: 10
#限制消费者,每次只能处理一条消息,处理完才能继续下一条消息
prefetch: 1
#启动时是否默认启动容器,默认为 true
auto-startup: true
#被拒绝时重新进入队列的(提高消息处理的可靠性)
default-requeue-rejected: true
template:
retry:
#启用消息重试机制,默认为 false 重试机制是指如果消息处理失败 要不要重新再试一次
enabled: true
#初始重试间隔时间
initial-interval: 1000ms
#重试最大次数,默认为 3 次
max-attempts: 3
#重试最大时间间隔 默认 10000ms
max-interval: 10000ms
#重试的间隔乘数
#配置 2 的话,第一次等 1s,第二次等 2s,第三次等 4s
multiplier: 1 # 如果倍数设置为 1 则重试时间永远为 1000ms
mybatis-plus:
mapper-locations: classpath:mappers/*.xml
type-aliases-package: com.xmall.bean
server:
port: 8080 # Tomcat端口 -> 部署在Tomcat目录下
servlet:
context-path: /XMall
springboot内部集成了tomcat,将内置tomcat排除掉,不然打包依旧出错(maven类型错误,也就是内置的tomcat对应的jar和外置tomcat对应的jar冲突导致)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除嵌入式的tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--打包的时候可以不用包进去 别的设施会提供。事实上该依赖理论上可以参与编译 测试 运行等周期
相当于compile,但是打包阶段做了exclude操作-->
<scope>provided</scope>
</dependency>
修改主启动类extends SpringBootServletInitializer
重写configure
方法
@SpringBootApplication
public class XMallApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(XMallApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(XMallApplication.class);
}
}
🌴maven编译打包项目war
🌴上传war包到Tomcat的app目录下
🎄部署后访问存在的问题和解决
🌴重启Tomcat部署报错信息
❗❗报错信息1
09-Sep-2023 11:52:42.275 SEVERE [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.StandardContext.listenerStop Exception sending context destroyed event to listener instance of class [ch.qos.logback.classic.servlet.LogbackServletContextListener] java.lang.IllegalStateException: java.io.FileNotFoundException: /export/server/apache-tomcat-8.5.59/webapps/XMall/WEB-INF/lib/unbescape-1.1.6.RELEASE.jar (No such file or directory)
❗❗报错信息2
09-Sep-2023 11:56:27.550 WARNING [localhost-startStop-3] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/error] to the cache for web application [/XMall] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
解决方式:
在tomcat下的conf 文件夹中content.xml 修改里面的内容:大小默认是10240,单位是KB
❗❗报错信息3
org.apache.catalina.deploy.NamingResourcesImpl.initInternal Failed to create MBean for naming resource [null]
❗❗报错信息4
这个是因为我忘记开启防火墙的90端口
❗❗报错信息5
502 Bad Gateway
这是因为 我开启了第二个Tomcat来部署第二个项目 但是没有修改第二个Tomcat这里的端口:
❗❗ 404错误信息
修改前端代码:
重新部署访问:
查看请求连接是否正确: