# Mendix后台程序环境搭建
以下所有文件均是原创,如需转载请注明作者和链接地址。
目录:
- 一、Docker 的安装
- 二、Docker Compose 安装
- 三、Mendix 环境搭建
- 四、启动成功
- 五、Mendix 后台环境搭建注意事项
- 1、端口是否已被占用
- 2、登录时为何使用 Administor 无法登录
- 3、docker-compose-mysql 字段简要介绍
- 4 、访问地址为何过总是报错 502
当在 Mendix Desktop 上编写完成项目,此时需要打包发布;首先请在客户端 -->Project-->Create Deployement Project;
Mendix后台程序需要运行在Docker环境下,此文主要介绍mendix如何在centos下运行。
打包环境必须为生产环境:
Mendix 程序需要运行需要的环境限制: 在 Centos7.3 及以上版本,且 Docker 要求 CentOS 系统的内核版本高于 3.10; 由于 Mendix 运行的 Docker compose 版本为 1.22,所以请安装 Docker 17.06.2。
# 一、Docker 的安装
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 CentOS 版本是否支持 Docker 。 通过 uname -r 命令查看你当前的内核版本
\$ uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
\$ sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
\$ sudo yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖的
\$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置 yum 源
\$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有 docker 版本,并选择特定版本安装
\$ yum list docker-ce --showduplicates | sort -r
# 二、Docker Compose 安装
在安装Docker Compose之前请确定已经安装了python-pip。
python-pip安装教程请见此文
https://blog.csdn.net/yulei_qq/article/details/52984334
安装好pip之后,就可以安装Docker-Compose了.
在linunx终端执行:pip install docker-compose.
检查docker-compose是否安装成功:
# 三、Mendix 环境搭建
Mendix运行在docker中,其开源环境请见:https://github.com/mendix/docker-mendix-buildpack。
开源地址的 Readme.md 文件有如下介绍:
简单介绍: get-sample:得到一个Mendix应用程序,并将其解压到build目录下; buid-image:创建Mendix运行,需要的镜像; run-container:启动容器。- 请将您之前打包好的mda文件上传到服务器
scp xxx.mda root@ip地址:/usr/local/mendix/app
(xxx:自己的工程名;mendix/app是自己创建的目录)
- 复制项目并切换目录
git clone https://github.com/mendix/docker-mendix-buildpack
cd docker-mendix-buildpack
- 将sample的apk替换成自己的apk
替换成:
- 启动容器
运行
make run-container
正常情况下容器会被启动,这样就可以通过 url 地址访问自己的应用程序。但是在启动时总会遇到各种问题。
# 四、启动成功
# 五、Mendix 后台环境搭建注意事项
1、端口是否已被占用 由于在配置文件中配置了 docker 的 8080 映射到服务器的 80 端口,以及 8090 映射到 81 端口;所以请确认服务器的这两个端口是否已被占用(如果已经被占用:可修改此处的配置文件)
如果修改成其他的端口,请记修改 Dockerfile 配置文件中的 nginx 端口:否则程序不会允许
3、登录时为何使用 Administor 无法登录 mendix 客户端的 administor 账户是在测试环境使用的;
如果程序发布到服务器,
则需要登录的账户为:MxAdmin
密码为:docker-compose-mysql中的ADMIN_PASSWORD字段
4、docker-compose-mysql字段简要介绍
mendixapp:
image:为docker镜像;
ADMIN_PASSWORLD:使用MxAdmin账户登录系统的密码;
DATABASE_ENDPOINT:应用的数据库地址,最后一个mendix为创建的mendix数据库;
ports:docker端口和服务器端口的映射关系,如果服务器的端口已被占用,则需要修改映射的端口;
db:
MYSQL_DATABASE=mendix //mendix数据库名
MYSQL_USER:mendix数据库的用户
MYSQL_PASSWORD:mendix数据库的密码
MYSQL_ROOT_PASSWORD=root //数据库最高权限密码(当然账号也为root)
ports:docker中数据库端口和服务器端口的映射关系。
5、访问地址为何过总是报错502
哪些情况出现 502: 访问次数过多; 3 个小时左右会自动停止; 之所以一直报错 502 的最根本原因是没有向 Mendix 购买 license;没有 license 最多只能在线 10 个用户,且系统每隔 3 小时左右关闭。所以需要向 Mendix 购买 License。 停止了,可重启容器
重新部署包,则需要先关闭 mysql 容器,再使用 make run-container。
- 本文链接: https://mrgaogang.github.io/mendix/Mendix%E5%90%8E%E5%8F%B0%E7%A8%8B%E5%BA%8F%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.html
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 许可协议。转载请注明出处!