litemall 轻商城开发笔记之我在谷歌云centos 上面踩过的坑和奇葩问题【2】

2018年8月2日 1 条评论 505 次阅读 2 人点赞

上接:

litemall 轻商城开发笔记之我在谷歌云centos 上面踩过的坑和奇葩问题【1】:https://52geek.top/160/

4.5-微信小程序开发测试:

安装微信小程序开发工具,导入本项目的litemall-wx模块文件夹,编译前,请确定litemall-all模块已经运行,litemall-wx模块的config文件夹中的api.js已经设置正确的后台数据服务地址;点击编译,如果出现数据和图片,则运行正常。详情查看项目文档。

http://p7fcrq2e4.bkt.clouddn.com/201818020430-20180802_043013.png-sy

 

 

4.6-Vue开发环境部署:

安装nodejs,安装依赖库:

cd litemall/litemall-admin

npm install -g cnpm --registry=https://registry.npm.taobao.org

注意4:为了防止cnpm 产生的文件太多导致IDEA 索引卡死,强烈建议先在litemall-admin 下面手动新建node_modules 文件夹,并将其排除,避免idea 索引这个目录导致卡死。

 

http://p7fcrq2e4.bkt.clouddn.com/201818020431-20180802_043126.png-sy

 

接下来:

cd litemall/litemall-admin

cnpm install

编译并运行web 项目

cnpm run dev

然后,打开浏览器,输入http://localhost:9527。 如果出现管理后台登录页面,则表明管理后台的前端运行正常;

请确定litemall-all模块已经运行,然后点击登录,如果能够成功登录,则表明管理后台的前端和后端对接成功,运行正常。

5-项目打包,整理部署文件并上传云主机。

5.1-在主机打包项目到deploy目录:

5.1.1-复制sql 文件到deploy/db目录下:itemall_schema.sql、litemall_table.sql、litemall_data.sql;

5.1.2-编译打包部署环境下的web 文件dist,并将litemall-admin/dist目录复制到deploy下面:

cd ./litemall-admin

cnpm install#已执行过可省略

cnpm run build:dep

5.1.3-执行mvn 菜单的litemall根节点clean 和package,打包,然后把生成的可执行jar包litemall-all/target/litemall-all-*-exec.jar 复制到/deploy/litemall/litemall.jar;

 

5.1.4-修改deploy/litemall文件夹下面的*.yml外部配置文件,当litemall-all模块启动时会 加载外部配置文件,而覆盖默认jar包内部的配置文件。 例如,配置文件中一些地方需要设置成远程主机的IP地址。

注意5:要使用绝对地址,而不要使用相对地址比如localhost。

5.1.5-deploy文件夹结构包含dist网页静态文件,db数据库文件,litemall-all 主程序文件,然后将deploy 上传到云主机根目录,推荐使用mobaxterm直接拖拽;

 

6-项目部署:修改云主机配置文件并启动项目,本文以centos 6为例。

6.1-确保远程主机环境MySQL和JDK1.8已经安装好,确保云主机平台的全局防火墙和云主机防火墙 iptables 已经允许相应的端口3306 80 8080 等。安装过程参考3.2。

6.2-依次按顺序导入db/litemall_schema.sqllitemall_table.sqllitemall_data.sql,顺序不可打乱。

6.3-启动springboot服务:

chmod a+x /deploy/litemall/litemall.jar#增加全部用户可执行权限

sudo ln -f -s /deploy/litemall/litemall.jar /etc/init.d/litemall #创建软连接注册服务

sudo service litemall start

注意6:如果提示unable to find java ,而且java -version 显示正确的话,可能的原因是jdk 安装方式不规范,需要建立java命令的软链接到/sbin。

如:ln -s /usr/local/jdk/bin/java /sbin/java

 

http://p7fcrq2e4.bkt.clouddn.com/201818020432-20180802_043224.png-sy

参考来源:https://www.jianshu.com/p/563497a6e1a7

注意:7如果还是提示failed to start ,

 

http://p7fcrq2e4.bkt.clouddn.com/201818020432-20180802_043255.png-sy

 

那就该祭出终极大杀器了,这个问题我找遍了google 才在一个国外网站找到答案:

 

http://p7fcrq2e4.bkt.clouddn.com/201818020433-20180802_043322.png-sy

 

下面先说一下我是怎么解决这个问题的,因为尝试了所有的办法去启动服务失败了,我就去查看了litemall 服务启动日志/var/logs/litemall.log,我在文件中发现了如下字样:

"start-stop-daemon: unrecognized option '--no-close'"我用google 搜了一下,找到stackoverflow 社区的一个帖子,跟我的案例很相似。案后翻译中文,按照提示执行最关键的一句:

Create a config file /var/appname/appname.conf with the following content

USE_START_STOP_DAEMON=false

果然,程序正确启动了,我激动得流下了感动的眼泪。现在,我们的项目核心jar 包已经运行,由于已经集成tomcat,所以无需再部署tomcat,浏览器访问如下地址,测试能否正常显示。

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

 

 

7-修改nginx 并配置域名,ssl 证书可选。

在这个项目的nginx 配置过程,我遭遇了无尽的挫折,明明平时用的很正常的nginx ,偏偏这次无法访问80 端口,后来走投无路的我干脆重启云主机【注意8】,万万没想到,80端口竟然开放了。

然后修改nginx.conf文件反向代理相应的服务,终于可以通过java666.top来访问项目演示啦,此处省略500字。至于ssl 证书配置,请参考文档,反正我配置没成功,哭瞎。

 

8-测试效果:

 

http://p7fcrq2e4.bkt.clouddn.com/201818020355-chrome20180802_035527.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818020356-chrome20180802_035639.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818020357-chrome20180802_035730.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818020358-chrome20180802_035809.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818020359-chrome20180802_035909.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818020359-chrome20180802_035943.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818020400-chrome20180802_040018.png-sy

想要快速查找本文的注意事项,请使用ctrl + f 搜索关键字“注意”。。。。

 

极客青年

我是站长,极客青年,叫我极哥就好啦!

文章评论(1)

  • 极客青年

    待更新SSL 证书篇

    2018年8月2日