ljx 745f1bd3e9 Signed-off-by: ljx <809268652@qq.com> | 6 months ago | |
---|---|---|
.. | ||
db | 6 months ago | |
litemall | 6 months ago | |
util | 6 months ago | |
.gitignore | 6 months ago | |
README.md | 6 months ago |
在服务器或者开发机打包项目到deploy;
cd litemall
cat ./litemall-db/sql/litemall_schema.sql > ./deploy/db/litemall.sql
cat ./litemall-db/sql/litemall_table.sql >> ./deploy/db/litemall.sql
cat ./litemall-db/sql/litemall_data.sql >> ./deploy/db/litemall.sql
cd ./litemall-admin
cnpm install
cnpm run build:dep
cd ..
mvn clean package
cp -f ./litemall-all/target/litemall-all-*-exec.jar ./deploy/litemall/litemall.jar
这里的工作是:
修改litemall文件夹下面的*.yml外部配置文件,当litemall-all模块启动时会 加载外部配置文件,而覆盖默认jar包内部的配置文件。 例如,配置文件中一些地方需要设置成远程服务器的IP地址
此时deploy部署包结构如下:
存放远程服务器运行的脚本,包括deploy.sh脚本和reset.sh脚本
存放litemall数据库文件
存放远程服务器运行的代码,包括litemall-all二进制可执行包和litemall外部配置文件
导入db/litemall.sql
cd /home/ubuntu/deploy/db
mysql -h localhost -u $ROOT -p$PASSWORD < litemall.sql
启动服务
sudo service litemall stop
sudo ln -f -s /home/ubuntu/deploy/litemall/litemall.jar /etc/init.d/litemall
sudo service litemall start
测试是否部署成功(xxx.xxx.xxx.xxx是云服务器IP):
http://xxx.xxx.xxx.xxx:8080/wx/index/index
http://xxx.xxx.xxx.xxx:8080/admin/index/index
http://xxx.xxx.xxx.xxx:8080/#/login
在前面的项目打包和项目部署中都是采用手动命令来部署。 这里可以写一些脚本简化:
在开发服务器运行可以自动项目打包
在开发服务器运行可以自动项目打包、项目上传远程服务器、自动登录系统执行项目部署脚本。
注意:
- 开发者需要在util/lazy.sh中设置相应的远程服务器登录账号和密钥文件路径。
- 开发者需要在bin/reset.sh设置远程服务器的MySQL的root登录账户。
在远程服务器运行可以自动部署服务
在远程服务器运行可以自动项目导入数据、删除本地上传图片、再执行bin/deploy.sh部署服务。
注意:
开发者需要在bin/reset.sh设置远程服务器的MySQL的root登录账户。
总结,当开发者设置好配置信息以后,可以在本地运行lazy.sh脚本自动一键部署:
cd litemall
./deploy/util/lazy.sh
不过由于需要设置的信息会包含敏感安全信息,强烈建议开发者参考这里的deploy文件夹, 然后实现自己的deploy文件夹,妥善处置外部配置文件和脚本中的敏感安全信息!!!