centos7手动部署Tcloud

前提环境需要Python3.7、 node8.12、nginx、 mysql 5.7,这里不做过多的描述,主要记录Tcloud的搭建过程。

目录

一、服务端部署

1、下载代码

2、配置nginx( 配置路径 etc/nginx/nginx.conf),server_name改成服务器ip

3、执行数据库文件

4、安装项目依赖

5、设置配置local_config.py,将其中的数据库连接等修改成自己的

6、新建一个logs目录(启动时会报没有这个目录,提前建好)

7、使用sh start.sh来启动服务

8、查看服务端口

二、前端部署

1、安装node环境(node 8.12)

2、拉取前端代码

3、在前端项目根目录下npm install,稍等片刻安装依赖包

4、修改配置

5、运行npm run dev即可打开本项目,访问47.106.82.100:8080

6、重新启动,登录即可(admin 123456)

三、启动顺序

四、Tcloud 接入stf(特别感谢Tcloud群@爱笑)

五、遇到问题


一、服务端部署

(官方教程)https://github.com/bigbaser/TcloudServer/blob/master/deploy/docs/%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85.mdicon-default.png?t=M85Bhttps://github.com/bigbaser/TcloudServer/blob/master/deploy/docs/%E5%BF%AB%E9%80%9F%E5%AE%89%E8%A3%85.md

1、下载代码

​git clone https://github.com/bigbaser/TcloudServer.git

2、配置nginx( 配置路径 etc/nginx/nginx.conf),server_name改成服务器ip

server {
    listen 80;
    server_name 47.106.82.100;

  location /v1/datashow/ {
        proxy_pass http://127.0.0.1:9022;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }
    location /v1/jobs/ {
        proxy_pass http://127.0.0.1:9038;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }
       location /v1/message/ {
        proxy_pass http://127.0.0.1:9030;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }

    location /v1/tcdevices/ {
        proxy_pass http://127.0.0.1:9036;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }

    location  /v1/public/ {
        proxy_pass http://127.0.0.1:9034;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }

    location  /v1/monkey/ {
        proxy_pass http://127.0.0.1:9022;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }

    location ~* /v1/(flow|deploy)/ {
        proxy_pass http://127.0.0.1:9026;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }

    location ~* /v1/(cidata|tool)/ {
        proxy_pass http://127.0.0.1:9024;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }

    location ~* /v1/interface.* {
        proxy_pass http://127.0.0.1:9028;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }

    location ~* /v1/(user|track|role|ability|feedback|wxlogin)/ {
        proxy_pass http://127.0.0.1:9020;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }

    location / {
        proxy_pass http://127.0.0.1:9032;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, projectid';
        add_header 'Access-Control-Allow-Methods' 'POST, GET, DELETE, OPTIONS';
    }
}

替换后输入 nginx -t 检查配置是否正确

关闭httpd服务,释放80端口(netstat -tnlp先查看是否占用,没有就跳过

service httpd stop

再启动nginx

service nginx start

3、执行数据库文件

使用Navicat连接数据,导入deploy/init目录下的init.sql去执行创建数据库、表操作

4、安装项目依赖

pip install -r requirement.txt -i https://mirrors.aliyun.com/pypi/simple

5、设置配置local_config.py,将其中的数据库连接等修改成自己的

vim local_config.py
SQLALCHEMY_DATABASE_URI = 'mysql://root:数据库密码@47.106.82.100:3306/demo?charset=utf8'

6、新建一个logs目录(启动时会报没有这个目录,提前建好

mkdir logs

7、使用sh start.sh来启动服务

 

8、查看服务端口

netstat -tnlp

id

service name

port

1

auth

9020

2

autotest

9022

3

extention

9024

4

flow

9026

5

interface

9028

6

message

9030

7

project

9032

8

public

9034

9

tcdevices

9036

10

jobs

9038

11

ws

9040

二、前端部署

1、安装node环境(node 8.12)

2、拉取前端代码

git clone https://github.com/bigbaser/Tcloud.git

3、在前端项目根目录下安装依赖包,稍等片刻

npm install

4、修改配置

        4.1、修改config/dev.env.js中的BASE_URL地址为上面的后端地址http://47.106.82.100:80

        4.2、修改config/index.js的host localhost改为0.0.0.0

5、运行npm run dev即可打开本项目,访问47.106.82.100:8080

登录时会报 not login

        5.1、修改 src/store/modules/login.js,修改第57行,把

domain: process.env.NODE_ENV === 'development' ? 'localhost' : COOKIE_DOMAIN

修改为

domain: COOKIE_DOMAIN

        5.2、修改config/dev.env.js中把 COOKIE_DOMAIN 改成前端当前访问域名 47.106.82.100

6、重新启动,登录即可(admin 123456)

三、启动顺序

1、检查端口是否被占用,释放端口 如80

netstat -tnlp

service httpd stop

2、启动nginx

service nginx start

3、启动服务端

cd /soft/TcloudServer

sh start.sh

4、启动前端

npm run dev

四、Tcloud 接入stf

(特别感谢Tcloud群@爱笑提供帮助)

1、在STF设置里生成一个token,要做好记录,确认后就看不到了

2、在数据库config表配置stf的content内容,按照下面格式,替换ip跟token即可

第一个

{"URL":"

http://47.106.82.100:7100/api/v1/devices","headers":{"Authorization": "Bearer 13ca9e962cfb4038a0449d89ddcc138d75536f7b91d84fd9989318e1d5c6aee8"}}

第二个

{"URL":"

http://47.106.82.100:7100/api/v1/user/accessTokens/","headers":{"Authorization": "Bearer 13ca9e962cfb4038a0449d89ddcc138d75536f7b91d84fd9989318e1d5c6aee8"}}

第三个

{"URL":"

http://47.106.82.100:7100/api/v1/user/devices/","headers":{"Authorization": "Bearer 13ca9e962cfb4038a0449d89ddcc138d75536f7b91d84fd9989318e1d5c6aee8"}}

3、在Tcloud/config/dev.env.js加上添加一行:STF_URL:'"http://47.106.82.100:7100"'(注意要给上一行加个逗号

4、重启前端

npm run dev

5、给设备添加手机图片

在数据库tc_devicesn_info表给对应设备添加pic字段的图片链接

比如 http://ctsssource.oss-cn-shanghai.aliyuncs.com/devices_pic/OPPO-PBAT00.png

效果如下

五、遇到问题

1、安装项目依赖问题

        pip install mysqlclient时报出了OSError: mysql_config not found错误

解决 :安装mysql相关的一些依赖包

yum install mysql-devel gcc gcc-devel python-devel

2、ImportError: No module named pip._internal.cli.main

        安装上面时python被切换到Python2.7了,需要重新设置py3

解决:ln -s /usr/local/python3/bin/python3 /usr/bin/python

3、未开放端口

firewall-cmd --permanent --zone=public --add-port=80/tcp #开放端口

firewall-cmd --permanent --zone=public --remove-port=80/tcp # 取消端口开放

firewall-cmd --query-port=80/tcp # 检查端口是否开放

firewall-cmd --list-port # 查看开放了哪些端口

firewall-cmd --reload # 重启防火墙

命令含义:

--zone #作用域

--add-port=80/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值