windows7部署hitchhiker
安装运行前提:
确保机器有安装: 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
安装过程会遇到一些问题,解决办法参考官方文档
下一篇: python3下的RSA加解密