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

2018年8月2日 2 条评论 418 次阅读 4 人点赞

首先介绍下项目的背景,litemall 项目是码云代码托管平台开源软件页面推荐的项目,无意之间看到的,逛了一下他的演示站,我立刻被震撼到了,看过许多开源作品,只有litemall 的web后台管理系统让我眼前一亮,VUE 框架开发的 WEB 页面果然十分的优雅和美观,于是出于职业习惯和强烈的研究欲望,我马上决定把这个项目运行在我那闲置多年的谷歌云服务器上。先看下效果图:

http://p7fcrq2e4.bkt.clouddn.com/201818012328-chrome20180801_232819.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818012329-chrome20180801_232945.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818012331-chrome20180801_233129.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818012332-chrome20180801_233246.png-sy

1-关于一年免费试用谷歌云搭建科学上网服务器的文章我推荐这个,写得非常详细:https://www.wmsoho.com/google-cloud-platform-ssr-bbr-tutorial/

原版 & 魔改版 Google BBR 拥塞控制算法一键安装脚本:https://www.vultrcn.com/5.html

 

http://p7fcrq2e4.bkt.clouddn.com/201818012308-chrome20180801_230818.png-sy

2-有了服务器和科学上网环境之后,新建虚拟机和配置网络防火墙之类的此处略过一万字。本文以谷歌云centos 6为例,其他系统仅供参考。提一下谷歌云默认的云虚拟机无法root 远程登录,ssh 密钥登录方式见推荐文章。可以先通过网站的内置控制台进入云虚拟机更改以下代码,即可实现远程root登录:

2.1-以非root用户进入控制台后,

sudo su - root

进入root账户

passwd root

设置root账户的密码

然后修改SSH配置文件

vim /etc/ssh/sshd_config

找到PermitRootLogin和PasswordAuthentication,参考如下设置:

PermitRootLogin yes //默认为no,需要开启root用户访问改为yes

PasswordAuthentication yes //默认为no,改为yes开启密码登陆

重启SSH服务使修改生效

/etc/init.d/ssh restart

 

3-接下来,快速部署LNM(Linux+Nginx+Mysql)环境。

3.1-本文使用远程终端神器mobaxterm 来管理服务器,至于这个软件有多强大,看图:

 

http://p7fcrq2e4.bkt.clouddn.com/201818020414-20180802_041416.png-sy

 

登入新建的云虚拟机:

 

http://p7fcrq2e4.bkt.clouddn.com/201818012335-MobaXterm20180801_233533.png-sy

 

3.2-打开oneinstack网站:https://oneinstack.com/auto/,使用一键部署命令,只需要20分钟左右就可以快速完成LNM环境部署。

 

http://p7fcrq2e4.bkt.clouddn.com/201818012342-chrome20180801_234205.png-sy

 

我连代码都给你准备好了(一行),redis 可选,你自己决定,如果不装tomcat ,你需要自己安装jdk 1.8:

wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --db_option 2 --dbinstallmethod 1 --dbrootpwd oneinstack --redis  --iptables  --reboot

重启之后,mysql 和 nginx 已经默认启动,此时访问你的云端虚拟主机ip 应该可以访问到nginx 页面,注意1:如果无法访问80端口,请依次检查---云主机防火墙---云平台防火墙---端口占用----实在不行重启。

4-准备项目代码,修改配置文件并打包。

4.2-下载litemall 开源项目的代码到本地,码云:https://gitee.com/jkqn/litemall/blob/v0.8.0

推荐下载标签版本,如果git 克隆到本地则是下载默认主分支,至于idea 切换到标签版本我不太熟。也可以使用IDEA 编辑器git 插件克隆,注意2:克隆后导入方式选择maven,否则项目无法编译。

 

 

http://p7fcrq2e4.bkt.clouddn.com/201818020058-20180802_005800.png-sy

 

导入后效果如下:

 

http://p7fcrq2e4.bkt.clouddn.com/201818020006-idea6420180802_000623.png-sy

 

 

 

当前开发阶段的方案:

 

MySQL数据访问地址jdbc:mysql://localhost:3306/litemall

litemall-wx-api后台服务地址http://localhost:8080/wx,数据则来自MySQL

litemall-admin-api后台服务地址http://localhost:8080/admin,数据则来自MySQL

litemall-admin前端访问地址http://localhost:9527, 数据来自litemall-admin-api

litemall-wx没有前端访问地址,而是直接在微信小程序工具上编译测试开发,最终会部署到微信官方平台(即不需要自己部署web服务器),而数据则来自litemall-wx-api。

 

部署阶段可参考以上配置修改相应地址。本地开发测试过程如下:

 

4.2-数据库环境设置过程如下:

本机安装MySQL,创建数据库、用户权限、数据库表和测试数据。

数据库文件在litemall-db/sql文件夹中,其中litemall_schema.sql创建数据库和用户权限, litemall_table.sql则创建表,litemall_data.sql则是测试数据。

注意3:如果数据库连接异常,本地localhost 和 127.0.0.1 不相同,必须一一对应。

 

http://p7fcrq2e4.bkt.clouddn.com/201818020425-20180802_042514.png-sy

 

http://p7fcrq2e4.bkt.clouddn.com/201818020425-20180802_042551.png-sy

 

4.3-接下来先IDEA 双击执行maven 菜单下的litemall根节点的clean,再双击install 安装依赖库。

4.4-IDEA编辑器在litemall-all模块的Application类 右键Run Application.main()方式运行该模块,运行时会自动编译再运行。启动成功后可以看到,litemall-wx-api等模块多了target文件夹,里面是编译出的文件。打开浏览器,输入

http://localhost:8080/wx/index/index

http://localhost:8080/admin/index/index

如果出现JSON数据,则litemall-all模块运行正常。

 

文章太长,无法提交,未完待续。

极客青年

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

文章评论(2)

  • 极客青年

    :redface:

    2018年8月2日
  • 极客青年

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

    2018年8月2日