小程序是一种不需要下载安装即可使用的应用,它实现了应用的即时使用和“触手可及”的梦想。用户可以通过扫描二维码或搜索等方式打开小程序,实现各种服务和功能。小程序的主要特点包括:轻量级、即用即、无需注册、功能丰富、开发成本低、平台支持多、用户体验,接下来给搭建介绍小智慧充电桩管理系统小程序部署、测试、上线过程,具体配置过程如下。
- 基础环境准备
- [root@zhcd ~]# systemctl stop firewalld.service --now
[root@zhcd ~]# setenforce 0
[root@zhcd ~]# yum -y install zip
[root@zhcd ~]# unzip Charging.zip
[root@zhcd ~]# cd Charging/
[root@zhcd Charging]# ls
apache-maven-3.6.3-bin.tar.gz install_redis.sh redis
charge node-v16.17.0-linux-x64.tar.gz redis-6.2.6.tar.gz
- 数据库准备(MySQL和Redis)
- 安装mysql数据库软件包并启动服务
[root@zhcd ~]# yum -y install mysql mysql-server
[root@zhcd ~]# systemctl enable mysqld --now
配置项目用户
[root@zhcl ~]#mysqladmin -uroot -p password ‘123456’
[root@zhcl ~]#Mysql -uroot -p123456
mysql> create user prouser@localhost identified by '123456';
mysql> grant all privileges on *.* to prouser@localhost ;
配置项目数据库
mysql -hlocalhost -uprouser -p'123456' < vehicle_backend/sql/vehicle.sql
mysql -hlocalhost -uprouser -p'123456' < ./Charge/charge/BACKEND-SERVICE/RuoYi-Vue-master/sql/charging-deploy.sql
源码安装redis数据库软件包并启动服务
[root@zhcd Charging]#chmod +x install_redis.sh
[root@zhcd Charging]# cat redis
#!/bin/bash
REDIS_SERVER="/usr/local/redis/bin/redis-server"
REDIS_CONF="/usr/local/redis/conf/redis.conf"
REDIS_PORT=6379
PID_FILE="/usr/local/redis/data/redis.pid"
case $1 in
status)
if [ -e "${PID_FILE}" ];then
echo "Redis is Running..."
else
echo "Redis is not Running..."
fi
;;
start)
if [ -e "${PID_FILE}" ];then
echo "Redis is Running..."
exit 11
fi
${REDIS_SERVER} ${REDIS_CONF} &> /dev/null
sleep 2
if [ -e "${PID_FILE}" ];then
echo "Redis Starting..."
else
echo "Redis Start Failed, Please Check in Manual..."
fi
;;
stop)
if [ -e "${PID_FILE}" ];then
pkill redis-server
else
echo "Redis is not Running..."
fi
;;
restart)
if [ -e "${PID_FILE}" ];then
pkill redis-server
fi
${REDIS_SERVER} ${REDIS_CONF}
;;
*)
echo "Usage $0 {status|start|stop|restart}"
Esac
修改redis配置文件配置密码
[root@zhcd Charging]#sed -n "901p;" /usr/local/redis/conf/redis.conf
[root@zhcd Charging]#./redis start
[root@zhcd Charging]# ss -anptul | grep 6379
tcp LISTEN 0 128 0.0.0.0:6379 0.0.0.0:* users:(("redis-server",pid=14371,fd=6))
[root@zhcd Charging]# /usr/local/redis/bin/redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> exit
配置redis启动脚本
[root@zhcd Charging]#mv redis /etc/init.d/
[root@zhcd Charging]# chmod +x /etc/init.d/redis
- 配置maven服务进行后端代码编译
- 修改后端yml配置文件数据库参数,如下:[root@zhcl ~]# vim vehicle_backend/src/main/resources/application-vm.yml
..........................................
主库数据源
master:
url: jdbc:mysql://127.0.0.1:3306/charging_deploy?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: prouser
password: 123456
...........................................
# redis 配置
redis:
地址
host: 127.0.0.1
端口,默认为6379
port: 6379
数据库索引
database: 10
密码
password: 123456
............................................. - 安装配置maven服务安装JDK
yum -y install java-1.8.0-openjdk-devel
配置maven和node环境变量
[root@zhcd Charging]# tar -xf apache-maven-3.6.3-bin.tar.gz
[root@zhcd Charging]# tar -xf node-v16.17.0-linux-x64.tar.gz
[root@zhcd Charging]# mv apache-maven-3.6.3 /usr/local/maven
[root@zhcd Charging]# mv node-v16.17.0-linux-x64 /usr/local/node
[root@zhcd Charging]# tail -3 /etc/bashrc
export MAVEN_HOME='/usr/local/maven'
export NODE_HOME='/usr/local/node'
export PATH=${MAVEN_HOME}/bin/:${NODE_HOME}/bin/:$PATH
[root@zhcd Charging]#source /etc/bashrc
[root@zhcd Charging]#mvn -v
[root@zhcd Charging]#node -v
[root@zhcd Charging]#npm -v
配置NPM环境
[root@zhcd Charging]# npm config set cache "/usr/local/node/node_cache"
[root@zhcd Charging]# npm config set registry "http://mirrors.cloud.tencent.com/npm/"
[root@zhcd Charging]# npm config list
配置maven仓库
[root@zhcd Charging]#mkdir /usr/local/maven/repo
[root@zhcd Charging]# sed -n "55p;160,165p" /usr/local/maven/conf/settings.xml
<localRepository>/usr/local/maven/repo</localRepository>
<mirror>
<id>alimaven</id>
阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
(3)编译后端代码,生成可执行的jar包
[root@zhcd Charging]# cd charge/BACKEND-SERVICE/RuoYi-Vue-master/ruoyi-admin/
[root@zhcd ruoyi-admin]#mvn clean
[root@zhcd ruoyi-admin]#mvn package -Dmaven.test.skip=true
[root@zhcd ruoyi-admin]# ls target/
classes maven-archiver ruoyi-admin.jar
generated-sources maven-status ruoyi-admin.jar.original
- 配置npm服务进行前端代码进行编译
- 设置缓存
[root@zhcd Charging]#npm config set cache "/usr/local/node/node_cache"
更改NPM的默认源为腾讯云的npm镜像,以优化依赖包的下载速度
[root@zhcd Charging]#npm config set registry "http://mirrors.cloud.tencent.com/npm/"
[root@zhcd Charging]#npm config list
[root@zhcd Charging]#cd ~/Charging/charge/BACKEND-ADMIN/ruoyi-ui/
安装编译所需要的软件环境
[root@zhcd ruoyi-ui]# npm install
使用命令进行编译
[root@zhcd ruoyi-ui]# npm run build:prod
编译后可生成前端资源dist目录
[root@zhcd ruoyi-ui]# ls dist/
favicon.ico html index.html index.html.gz robots.txt static
- 智慧充电管理系统项目后端服务部署
- #上传后端服务文件
[root@zhcd charge]mkdir -p /usr/local/project/charge
[root@zhcd charge]#cp charge/BACKEND-SERVICE/RuoYi-Vue-master/ruoyi-admin/target/ruoyi-admin.jar /usr/local/project/charge/
[root@zhcd charge]# cd /usr/local/project/charge/
[root@zhcd charge]# ls
ruoyi-admin.jar
#配置项目服务管理脚本
[root@zhcd charge]# vim /usr/local/project/charge/run.sh
[root@zhcd charge]# cat run.sh
#!/bin/bash
start_project(){
nohup java -Dfile.encoding=utf-8 \
-jar /usr/local/project/charge/ruoyi-admin.jar \
-Xmx256M \
-Xms128M \
-XX:MaxMetaspaceSize=256M \
-XX:MetaspaceSize=128M \
--server.port=8080 \
--spring.profiles.active=vm >/usr/local/project/charge/ruoyi-admin.log 2>&1 &
}
stop_project(){
jps | grep "ruoyi-admin.jar" | awk '{print $1}' | xargs kill
}
case $1 in
start)
start_project;;
stop)
stop_project;;
*)
echo "Usage: $0 {start|stop}"
esac
[root@zhcd charge]# chmod +x run.sh
#编写项目service服务文件
[root@zhcd charge]# vim /usr/lib/systemd/system/charge.service
[root@zhcd charge]# cat /usr/lib/systemd/system/charge.service
[Unit]
Description=ruoyi-admin.jar
After=sshd.service
[Service]
ExecStart=/usr/local/project/charge/run.sh start
ExecStop=/usr/local/project/charge/run.sh stop
Type=forking
[Install]
WantedBy=multi-user.target
[root@zhcd charge]# systemctl daemon-reload重新加载service文件
#启动服务、验证接口
[root@zhcd charge]# systemctl enable charge.service --now
[root@zhcd charge]# ss -anputl | grep 80
tcp LISTEN 0 128 *:8080 *:* users:(("java",pid=16810,fd=40))
- 项目前端小程序资源部署
- # 上传前端小程序资源
[root@zhcd charge]# cp -r charge/BACKEND-ADMIN/ruoyi-ui/dist/ /usr/local/project/charge/
[root@zhcd charge]# cp charge/FRONTEND-APP/chargingDeploy/chargingDeploy/unpackage/dist/build/h5.zip /usr/local/project/charge/
[root@zhcd charge]# cd /usr/local/project/charge/
[root@zhcd charge]# unzip h5.zip
[root@zhcd charge]# rm -rf h5.zip
[root@zhcd charge]# ls
dist h5 run.sh ruoyi-admin.jar
# 安装nginx
[root@zhcd charge]# yum -y install nginx
[root@zhcd charge]# vim /etc/nginx/nginx.conf
# 配置nginx虚拟机主机,发布资源,注释掉默认配置文件监听端口
[root@zhcd charge]# sed -rn '38,40p' /etc/nginx/nginx.conf
server {
#listen 80 default_server;
#listen [::]:80 default_server;
[root@zhcd charge]# vim /etc/nginx/conf.d/charge.conf
[root@zhcd charge]# cat /etc/nginx/conf.d/charge.conf
server {
listen 80;
server_name __;
location / {
root "/usr/local/project/charge/h5/";
index index.html;
}
location /prod-api/ {
proxy_pass http://127.0.0.1:8080/;
}
}
server {
listen 8000;
server_name __;
location / {
root "/usr/local/project/charge/dist/";
index index.html;
}
location /prod-api/ {
proxy_pass http://127.0.0.1:8080/;
}
}
# 启动服务,并检查端口服务
[root@zhcd charge]# systemctl enable nginx --now
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[root@zhcd charge]# ss -anputl | grep nginx
tcp LISTEN 0 128 0.0.0.0:8000 0.0.0.0:* users:(("nginx",pid=17232,fd=9),("nginx",pid=17231,fd=9))
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=17232,fd=8),("nginx",pid=17231,fd=8))
- 测试验证
#测试小程序端口服务
#测试管理端口服务