TK-Mall 部署教程
TK-Mall 部署教程
1. 环境要求
- 云服务器系统:
- Ubuntu 22.04 LTS
- Centos 9 Stream
- 运行环境:
- Nginx 1.20.1+
- Redis 6.0.9+
- MySQL 5.7
- Tomcat 9
- JDK 1.8
2. 搭建准备
- 云服务器 4C8G+ (SSH root 账号密码)
- 项目部署包(项目代码、数据库 SQL)
3. 环境搭建(以 CentOS 9 Stream 为例)
3-1 更新 Centos 系统软件包
- 利用 SSH 工具连接服务器,输入以下命令更新系统软件包
1
yum update -y
3-2 安装宝塔(宝塔开心版企业版)
1 | # Centos安装脚本 |
- 保存好 宝塔登录入口链接和账号密码
3-3 环境安装
- 宝塔面板安装完成后,在软件商店安装:
- Nginx 1.26+
- Mysql 5.7
- Redis 7.4
- JDK 1.8 (网站->Java项目->Java环境管理->JDK管理) 设置命令行版本为 1.8
- Tomcat 9 (网站->Java项目->Java环境管理->Tomcat管理)
3-4 传输项目部署包
- 下载/上传 项目部署文件包进行解压 点击宝塔文件菜单可进行UI操作
1
2
3
4
5
6
7
8
9
10
11
12# 进入 /www/wwwroot/ 目录下
cd /www/wwwroot
# 创建一个新的目录
mkdir tkmall
# 进入目录
cd tkmall
# 下载/上传 tkmall 部署包
curl -LO https://tikmall.fun/uploads/tkmall_deploy_full_2025-04-11.tar.gz
# 解压文件包到 tkmall 目录
tar -zxvf tkmall_deploy_full_2025-04-11.tar.gz
# 删除压缩包 (可选)
rm -rf tkmall_deploy_full_2025-04-11.tar.gz
3-5 环境配置
- MySQL 配置
- MySQL管理->端口配置 改为
6306
- 配置文件添加一下配置:
1
2
3
4
5
6
7
8
9# 是否忽略数据表大小写区分 (必改)
lower_case_table_names = 1
# 性能模式最大表实例 不同的上下文(如线程、对象)创建多个实例 MySQL 5.7+ 的默认值为 100
# MySQL 8.0+ 的默认值为 400
# 该值越大,性能越好,但会消耗更多的内存 (8g以上内存的机器推荐改,可选)
performance_schema_max_table_instances = 400
# 表定义缓存 (可选, 一般在服务器内存低于4G的机器下修改)
# MySQL 5.7+:默认值为 2000; MySQL 8.0+:默认值为 4000(因 InnoDB 表元数据存储方式优化)
table_definition_cache = 400 - 修改完成后会默认启动MySQL,最好还是重新启动下服务
- MySQL管理->端口配置 改为
- Redis 配置
- Redis管理->性能调整->port 改为
6380
- Redis管理->性能调整->port 改为
- Tomcat 配置
- 网站->Java项目->Java环境管理->Tomcat管理->端口改为
41879
- 修改完成后会默认启动Tomcat,先停止运行服务
- 修改 Tomcat 配置文件
/usr/local/bttomcat/tomcat9/conf/server.xml
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<Server port="8098" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase" />
</GlobalNamingResources>
<Service name="Catalina">
<!-- 这里改端口 已经在UI界面改过了就不用管 没改过的 port 默认是8080-->
<Connector connectionTimeout="20000" port="41879" protocol="HTTP/1.1" redirectPort="8490" />
<Engine defaultHost="localhost" name="Catalina">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
</Realm>
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt" />
<!-- 添加项目路径 -->
<!--用户端www-->
<Context path="" docBase="/www/wwwroot/tkmall/pc/" reloadable="false"/>
<!--商户端pc-->
<Context path="/ww" docBase="/www/wwwroot/tkmall/spc/" reloadable="false"/>
<!--商户端h5-->
<Context path="/www" docBase="/www/wwwroot/tkmall/www/" reloadable="false"/>
<!--下单页面-->
<Context path="/download" docBase="/www/wwwroot/tkmall/download/" reloadable="false"/>
<!--合同页面-->
<Context path="/pact" docBase="/www/wwwroot/tkmall/pact/" reloadable="false"/>
<!--平台产品属性页面-->
<Context path="/attribute" docBase="/www/wwwroot/tkmall/attribute/" reloadable="false"/>
<!--chat-->
<Context path="/chat" docBase="/www/wwwroot/tkmall/chat/" reloadable="false"/>
<!--落地页-->
<Context path="/promote" docBase="/www/wwwroot/tkmall/ldy/" reloadable="false"/>
<!--用户端h5和接口-->
<Context path="/wap" docBase="/www/wwwroot/tkmall/api/" reloadable="false"/>
<Context path="/admin" docBase="/www/wwwroot/tkmall/admin/" reloadable="false"/>
<Context path="/data" docBase="/www/wwwroot/tkmall/data/" reloadable="false"/>
</Host>
</Engine>
</Service>
</Server>
- 网站->Java项目->Java环境管理->Tomcat管理->端口改为
3-6 创建 Nginx 网站代理
- 网站->HTML项目->添加HTML项目->绑定域名(www.tkmall.com)->确定
- 设置->配置文件
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# 删除以下配置
location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log /dev/null;
}
location ~ .*\\.(js|css)?$
{
expires 12h;
error_log /dev/null;
access_log /dev/null;
}
# 改为以下配置
# 上传静态文件
location /uploads {
root /www/wwwroot/tkmall/;
expires 12h;
access_log /dev/null;
}
# 转发 Tomcat 端口
location / {
index index.html index.php;
proxy_pass http://127.0.0.1:41879;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;
}
# api 接口
location /api/ {
index index.html index.php;
proxy_pass http://127.0.0.1:8010;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;
}
#
location /tks/ {
index index.html index.php;
proxy_pass http://127.0.0.1:8011;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;
} - 修改完点击保存
3-7 创建数据库以及导入数据
- 数据库->添加数据库
- 数据库名:
mall
- 数据库字符集:
utf8mb4
- 用户名:默认同数据库名一样
- 密码:
vkLaQDEn%2BB2gcWrOjgK5PmNVcr%2F2vl7EyDXbF61cxt4%3D
- 确定完成
- 数据库名:
- 导入数据
- mall数据库->导入
- 选择文件:
/www/wwwroot/tkmall/mall_2025-04-02_19-11-25_mysql_data_GzJef.sql.zip
- 数据文件比较大,等几分钟
- 命令行导入数据 需要把数据库文件压缩包解压出来为 .sql文件(可选)
1
2
3
4
5
6# 使用 mall 账号进入mysql
mysql -u mall -p
# 选定 mall 数据库
use mall
# 导入数据
source /www/wwwroot/tkmall/mall.sql
3-8 一切准备就绪
- 一键启动项目
1
2
3
4# 进入到 /www/wwwroot/tkmall/ 目录下
cd /www/wwwroot/tkmall
# 启动项目
./restart-tomcat.sh
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 DXing Blog!
评论