windows7部署hitchhiker

白诗秀儿 关注

收藏于 : 2018-08-30 12:17   被转藏 : 1   

安装运行前提:

确保机器有安装: nodejs 7.60+, 推荐用最新LTS版本以及数据库 mysql 5.7+ (支持json列);

 

一,完成nodejs环境

 

1,去nodejs官网下载最新版本的LTS安装包,点击下载nodejs8.11.4 LTS

 

 

2,安装nodejs,新建一个nodejs文件夹,安装到这个文件夹中

 

3,配置相关环境变量,一个是PATH上增加node.exe的目录,一个是增加环境变量NODE_PATH,值为:%\nodejs\node_modules。(PS:“%代表前面文件夹对应路径”)。

 

4,检查nodejs与npm版本信息,cmd输入下面命令。

 

node -v     --检查nodejs版本

npm -v   --检查npm版本

 结果如下:

 



 

5,安装cnmp相关环境

 

在cmd 指令窗口输入如下指令:

 

 

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

 

 

6,设置cnpm全局模块存放路径和cache路径

启动cmd,输入:

 

cnpm config set prefix"%\nodejs\node\node_global"

以及

cnpm configset cache"%\nodejs\node\node_cache"

 

以后npm和cnpm安装的模块就都在%\nodejs\node\node_global这个目录下了。

(PS :“%”同上注解)

 

二,完成mysql5.7+环境 (略)

 

安装好mysql之后,需要创建一个数据库,dbname在配置hitchhiker数据库连接的时候会用,编码要用utf-8。

 

三,安装hitchhiker

 

1,下载安装包,解压并找到appconfig.json文件打开编辑配置相关信息(也可以再启动的时候配置)

官方安装包

阿里云高速下载安装包

 

Hitchhiker的很多设置可以在appconfig.json里设置,环境变量是boolean时,用 1 表示true, 0 表示false

{
    "app": {
        "env": "DEV",
        "host": "http://localhost:3000/",   // 设置运行的ip和端口, 环境变量:HITCHHIKER_APP_HOST
        "port": 8080,  //  使用nginx做代理时可以使用这个端口  HITCHHIKER_APP_PORT
        "api": "http://localhost:81/api/",  // API接口,调试用, 环境变量使用上面的
        "language": "en",  // 语言,中文:zh, 英文:en, HITCHHIKER_APP_LANG
        "encryptKey": "hitchhikerapi",  
        "encryptPassword": false,  // 是否对数据库里的用户密码加密, HITCHHIKER_ENCRYPT_PASSWORD
        "defaultPassword": "123456",  // 新帐号的默认密码
        "tempUser": "test@test.test", // use without login时使用的用户账号
        "tempDelKey": "test",
        "sync": false,  // 是否支持同步,HITCHHIKER_SYNC_ONOFF
        "syncInterval": 30,  // 同步间隔,单位(秒), 最小值是10 HITCHHIKER_SYNC_INTERVAL
        "defaultHeaders": [  // 请求默认带的headers,  HITCHHIKER_DEFAULT_HEADERS
            "Accept:*/*",
            "User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
            "Cache-Control:no-cache"
        ],
        "requestTimeout": 1800000, // 请求超时时间 (ms),  HITCHHIKER_APP_SCRIPT_TIMEOUT
        "scriptTimeout": 60000, // 脚本执行时间(毫秒) HITCHHIKER_SCRIPT_TIMEOUT
        "safeVM": false,  // 是否使用安全脚本,如require  HITCHHIKER_SAFE_VM
        "enableUpload": true,  // 是否支持上传脚本和数据, HITCHHIKER_ENABLE_UPLOAD
        "inviteMemberDirectly": true // 不通过邮件验证来邀请成员, HITCHHIKER_APP_INVITE_DIRECTLY
    },
    "db": {  
        "host": "localhost",  // mysql 的host,  HITCHHIKER_DB_HOST
        "port": 3306,  // mysql端口, HITCHHIKER_DB_PORT
        "username": "root",  // mysql 用户名, HITCHHIKER_DB_USERNAME
        "password": "hitchhiker888", // mysql密码, MYSQL_ROOT_PASSWORD
        "database": "hitchhiker"  // mysql 数据库, MYSQL_DATABASE
    },
    "schedule": {
        "duration": 60, // schedule 监测时间间隔(秒)  HITCHHIKER_SCHEDULE_DURATION
        "storeUnit": "count",  //schedule 存储的单位,支持按个数存 count 和按天存: day   HITCHHIKER_SCHEDULE_STORE_UNIT
        "storeLimit": 50, // schedule 存储的大小   HITCHHIKER_SCHEDULE_STORE_LIMIT
        "storeContent": "forFail", // schedule record response 是否存储, all表示所有都存下来, forFail表示只存失败的, none表示都不存(这会很大影响数据库大小和性能)    HITCHHIKER_SCHEDULE_STORE_CONTENT
        "pageSize": 20  // schedule record 在浏览器端显示的一页的个数   HITCHHIKER_SCHEDULE_PAGESIZE
    },
    "stress": {
        "stressType": "node", // 压力测试的类型,默认为node,内置的,还有go,需要部署hitchhiker-node,设为none时禁用   HITCHHIKER_STRESS_TYPE
        "storeMaxCount": 5,  // 压力测试表最大长度  HITCHHIKER_STRESS_COUNT
        "stressHost": "",  // 压力测试的host,为空时默认使用去掉端口的app的host  HITCHHIKER_STRESS_HOST
        "stressPort": 11010,  // 压力测试的端口  HITCHHIKER_STRESS_PORT
        "stressUpdateInterval": 1000  // 压力测试实时更新时的间隔(毫秒)  HITCHHIKER_STRESS_UPDATE_INTERVAL
    },
    "user": {
        "registerMailConfirm": false  // 注册是否需要邮箱验证
    },
    "mail": {
        "host": "http://email.hitchhiker-api.com/api/mail/",  // mail默认接口
        "customType": "none",  // 是否需要自定义mail,可以使用 "api" 或 "smtp",  HITCHHIKER_MAIL_CUSTOM_TYPE
        "customApi": "http://",  // custom为"api"时会使用这个mail接口, Hitchhiker会post {target, subject, content}到这个接口  HITCHHIKER_MAIL_API
        "smtp": {  // custom为"smtp"时使用这块,下面是qq的一个例子作为参考,注意:有的公司内部邮件不需要用户名或密码验证则 user和pass需要空掉不写,否则会报错
            "host": "smtp.qq.com", // HITCHHIKER_MAIL_SMTP_HOST
            "port": 465,  // HITCHHIKER_MAIL_SMTP_PORT
            "tls": true,  // 是否需要走tls加密, HITCHHIKER_MAIL_SMTP_TLS
            "user": "***@qq.com",  // smtp用户名: HITCHHIKER_MAIL_SMTP_USER
            "pass": "****",  // smtp密码: HITCHHIKER_MAIL_SMTP_PASS
            "from": "",  // 发邮件的邮箱,默认空会使用user, HITCHHIKER_MAIL_SMTP_From
            "nickname": "",  //  昵称:  HITCHHIKER_MAIL_SMTP_NICKNAME
            "rejectUnauthorized": false  // 证书验证不通过时是否报错:  HITCHHIKER_MAIL_SMTP_RU
        }
    }
}

 

另外还有DB的一些设置如下:

HITCHHIKER_DB_HOST: Database Server的ip
HITCHHIKER_DB_PORT: Database 的端口
HITCHHIKER_DB_USERNAME: Database的用户名
MYSQL_ROOT_PASSWORD: Database的密码
MYSQL_DATABASE: Database库名

 

 

2,cmd命令cd进入build目录下(即setup.js的目录)执行命令node setup.js



 

 

 

3,执行了之后,就可以在浏览器中访问 http://localhost:9527/setup_cn.html

 



 

4,一步一步输入ip, 端口, DB设置等(有红色*号表示必须设置的,其他可以默认);

 

 

 

 

 

 

5,提交,等待5秒后自动跳转;

 

6,完成注册,登录,进入到下面页面



 

 

为了避免pm2一直弹窗提示,可以把pm2注册成服务,cmd命令执行:

npm i pm2-windows-service -g

 

 

安装过程会遇到一些问题,解决办法参考官方文档

 阅读文章全部内容  
点击查看
文章点评
相关文章
白诗秀儿 关注

文章收藏:1308

TA的最新收藏