Merge branch 'PR66' into develop

pull/68/head
13621160019@163.com 2021-10-09 20:51:26 +08:00
commit cebea9db48
2 changed files with 131 additions and 19 deletions

122
README.md
View File

@ -99,53 +99,137 @@ administrator@myems.io
``` ```
</details> </details>
### Docker Docker-compose 安装 ### Docker-compose 安装
#### 前提
- 主机已安装docker、docker-compose、npm
- MySQL数据库已安装拥有一个账号为root密码为!MyEMS1的用户
- MySQL数据库可正常登陆可被安装Docker的主机Ping通以及远程访问
#### 配置
注一:这里的主机指的是**安装Docker的主机**, 这里的IP和账号密码都为假定的用来展示说明实际情况中用户需要根据自己的配置改为自己的具体的修改步骤会在“安装”中讲述。
注二:这里如果**安装数据库和安装Docker的主机为同一个主机那么数据库IP和主机IP修改为一个实际IP**即可这里是以数据库和安装Docker的主机不在同一个上举例的。
| -- | -- |
| ---------- | ----------- |
| 主机IP | 192.168.0.1 |
| 数据库IP | 192.168.0.2 |
| 数据库账号 | root |
| 数据库密码 | !MyEMS1 |
#### 安装
- 1.克隆仓库
``` ```
git clone https://gitee.com/myems/myems.git git clone https://gitee.com/myems/myems.git
``` ```
修改以下文件中的数据库IP - 2.数据库导入 (否则数据库没有用户信息,网页无法验证登录)
假定数据库IP为: 192.168.0.1
``` ```
sudo nano myems-api/config.py cd myems/database/install
sudo nano myems-aggregation/config.py mysql -u root -p < myems_billing_baseline_db.sql
sudo nano myems-cleaning/config.py mysql -u root -p < myems_billing_db.sql
sudo nano myems-modbus-tcp/config.py mysql -u root -p < myems_energy_baseline_db.sql
sudo nano myems-normalization/config.py mysql -u root -p < myems_energy_db.sql
mysql -u root -p < myems_fdd_db.sql
mysql -u root -p < myems_historical_db.sql
mysql -u root -p < myems_reporting_db.sql
mysql -u root -p < myems_system_db.sql
mysql -u root -p < myems_user_db.sql
``` ```
~~'host': '127.0.0.1'~~ 注: 如有问题,详情可查看"database/README.md"
'host': '192.168.0.1'
修改web和admin文件夹下nginx.conf中的location '/api' - 3.修改配置
假定本机IP为: 192.168.0.2
注:如“配置”所述,这里假定的**主机IP为 192.168.0.1数据库IP为 192.168.0.2数据库账号为root,数据库密码:!MyEMS1,用户应该修改为自己对应的主机IP,数据库IP,数据库账号,数据库密码**
**3.1** 修改nginx.conf里的API配置
``` ```
sudo nano admin/nginx.conf cd myems
sudo nano web/nginx.conf sed -i 's/127.0.0.1:8000/192.168.0.1:8000/g' admin/nginx.conf
sed -i 's/127.0.0.1:8000/192.168.0.1:8000/g' web/nginx.conf
``` ```
~~proxy_pass http://127.0.0.1:8000/;~~
proxy_pass http://192.168.0.2:8000/; **3.2** 修改config.py里的数据库IP账号密码
```
# 这里以修改数据库IP为例如果数据库账号密码也不同请根据自己需求替换config.py里的账号密码
cd myems
sed -i 's/127.0.0.1/192.168.0.2/g' myems-api/config.py
sed -i 's/127.0.0.1/192.168.0.2/g' myems-aggregation/config.py
sed -i 's/127.0.0.1/192.168.0.2/g' myems-cleaning/config.py
sed -i 's/127.0.0.1/192.168.0.2/g' myems-modbus-tcp/config.py
sed -i 's/127.0.0.1/192.168.0.2/g' myems-normalization/config.py
```
**3.3** 测试数据库是否可以正确连接
```
python3 myems/myems-api/test_mysql.py
```
如果测试通过继续下一步操作否则请修改config.py配置确保数据库可以通过Python3正常连接访问。
将Web打包生成产品文件
- 4.web打包 (myems/web为React项目需要打包为产品文件)
``` ```
cd myems/web cd myems/web
npm install npm install
npm run build npm run build
``` ```
使用docker-compose安装
- 5.docker-compose一键安装
``` ```
cd myems cd myems
docker-compose up -d docker-compose up -d
``` ```
- 6.测试
| | 网址 | 结果 |
| ----- | ----------------------- | ---------------- |
| web | 192.168.0.1:80 | 输入账号密码登陆成功 |
| admin | 192.168.0.1:8001 | 输入账号密码登录成功 |
| api | 192.168.0.1:8000/spaces | 返回Json数据无报错 |
如果api测试报错请确认config.py里的数据库IP数据库账号数据库密码是否正确如果不正确请修改config.py后执行
```
docker-compose up --build -d
```
| -- | -- |
| ---------- | ----------- |
| web账号 | administrator@myems.io |
| web密码 | !MyEMS1 |
| admin账号 | administrator |
| admin密码 | !MyEMS1 |
如有问题欢迎创建Issue
## 功能版本对比 ## 功能版本对比
| 功能 |社区版 |企业版 | 说明 | | 功能 |社区版 |企业版 | 说明 |
| :--- | :----: | :----: | :----: | | :--- | :----: | :----: | :----: |
| 开源 | ✔️ | ❌ | | | 开源 | ✔️ | ❌ | |
| 价格 | 免费 | 收费 | 标准组件授权费;定制组件开发费; | | 价格 | 免费 | 收费 | 标准组件授权费;定制组件开发费; |
| 更换品牌名称与标志LOGO | ❌ | ✔️ | | | 更换品牌名称与标志LOGO | ❌ | ✔️ | |
| Modbus TCP 协议 | ✔️ | ✔️ | 采集数据 https://modbus.org/ | | Modbus TCP 协议 | ✔️ | ✔️ | 采集数据 https://modbus.org/ |

28
myems-api/test_mysql.py Normal file
View File

@ -0,0 +1,28 @@
import mysql.connector
import config
def test_connect():
cursor = None
cnx = None
try:
cnx = mysql.connector.connect(**config.myems_user_db)
cursor = cnx.cursor()
query = (" SELECT id, name, display_name, email "
" FROM tbl_users "
" ORDER BY id ")
cursor.execute(query)
rows = cursor.fetchall()
print("The config of database is right:", rows)
except Exception as e:
print("The config of database is wrong:", str(e))
finally:
if cursor:
cursor.close()
if cnx:
cnx.disconnect()
if __name__ == "__main__":
test_connect()