window通过wsl启动appsmith前端后端
- 前言
- appsmith前端本地启动
- WSL安装
- 下载ubuntu
- 升级wsl到wsl2
- ubuntu安装环境
- 环境要求
- Ubuntu环境配置
- node
- 下载解压运行[源码](https://www.appsmith.com/)
- 本地访问后端
- appsmith后台本地启动
- 启动mongo、redis
- wsl ubuntu中启动后台试试
- 流程总结
- 最后
- 其他问题及参考文档
前言
公司需要调研低代码平台,发现appsmith还可以,所以部署试试。主要参考官方教程,配合网上的教程解决一些问题
appsmith前端本地启动
WSL安装
参考官方文档
cmd管理员运行,执行 wsl --install
不知道是不是这个问题,去启用下
然后发现好了,总之wsl没问题就行
下载ubuntu
ubuntu下载地址
可以参考官方wsl linux发布的一些环境
如果下载比较慢的话,可以试试手机上下载,就只有1G的大小
重命名为.zip,解压后
如图,解压这个文件,然后复制解压目录到自己想要安装的目录
双击ubuntu.exe,安装完成后,设置一个新用户的密码,非root用户。
这时候ubuntu就安装完了
然后设置root账户密码,此时需要输入之前自己设置用户的密码,成功后可以给root设置密码
sudo passwd root
升级wsl到wsl2
参考教程
我按照教程安装后,报错
到这勾上这个,我这倒是有用
把ubuntu设置为WSL2,如下图即可,输入bash可以进入ubuntu。另外命令行不支持复制,有点麻烦,最好下一个conEmu这种增强版,不然比较麻烦
ubuntu安装环境
环境要求
jdk17 maven3.6 node 6.14.0
Ubuntu环境配置
ubuntu设置国内镜像
node
官方文档说需要这个版本的nodejs
1. In the project’s root, run nvm use 16.14.0
or fnm use 16.14.0
.
window中的目录被挂载到ubuntu中的/mnt目录下,所以可以去window下复制文件到ubuntu中。或者直接wget下载nodejs
解压,配置环境变量vim /etc/profile,然后source /etc/profile,每次重新打开窗口时没识别到就source /etc/profile
export NODE_HOME=/home/roger/node
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=/home/roger/node/lib/node_modules
或则通过软连接的形式,记得安装yarn(npm install -g yarn)
ln -s /home/roger/node/bin/node /usr/local/bin/node
ln -s /home/roger/node/bin/npm /usr/local/bin/npm
ln -s /home/roger/node/lib/node_modules/yarn/bin/yarn /usr/local/bin/yarn
查询node -v npm -v没问题就行
另外给npm设置下镜像
下载解压运行源码
下载,解压,进入app/client目录
- 执行 npm install -g yarn
- 执行 yarn install
然后卡住在这
参考文档解决
又卡住
那就多等下吧,不慌
我这个468s才完成.然后执行
echo "127.0.0.1 dev.appsmith.com" | sudo tee -a /etc/hosts
在执行 yarn start,下图这样就算启动成功了,可能有时候内存不足会提示错误的,这时候关闭电脑上一些东西然后重新启动就行了。这个时候window访问http://127.0.0.1:3000是可以的,只是由于没有后台所以会报错而已,但是对于前端而言算是启动成功了
本地访问后端
我这块暂时没有直接访问后端,官方文档通过nginx转发来实现后端的访问,可以参考
appsmith后台本地启动
启动mongo、redis
- docker启动redis,或者自己随便启动个redis
docker run -p 6379:6379 --name appsmith-redis redis
- docker启动mongo,或者自己建一个mongo,关键是副本模式启动,–replSet appsmith-replica-set,和rs.initiate一致。进入容器,执行mongo进入mongo命令行,初始化节点,代码如下,ip换成自己的
docker run -p 27017:27017 --name appsmith-mongodb -e MONGO_INITDB_DATABASE=appsmith mongo --replSet appsmith-replica-set
rs.initiate({
"_id" : "appsmith-replica-set",
"members" : [
{
"_id" : 0,
"host" : "自己的ip:27017"
}
]
})
wsl ubuntu中启动后台试试
- 进入ubuntu配置环境,jdk17、maven3.6
export JAVA_HOME=/home/roger/jdk17
export JRE_HOME=$JAVA_HOME/jre
export M2_HOME=/home/roger/maven
export PATH=$M2_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
- 进入源码中app/server目录
- 设置.env文件cp envs/dev.env.example .env,改动redis和mongo的配置,副本名称保持设置rs.initiate一致
- 执行mvn clean compile
- 执行 ./build.sh -DskipTests
- 执行 ./scripts/start-dev-server.sh 启动成功
流程总结
-
window启用wsl,安装ubuntu,更新到wsl2
-
新建文件夹,保存node、maven、jdk、源码等等(最好还是别直接放在window的某些目录下,wsl和window之间传输数据特别的慢)
-
自己部署一个mongo(指定副本集名称)和redis
-
进入ubuntu配置环境,jdk17、node、maven
-
进入源码中app/server目录
-
设置.env文件cp envs/dev.env.example .env,改动redis和mongo的配置的地址ip
-
执行mvn clean compile
-
执行 ./build.sh -DskipTests
-
执行 ./scripts/start-dev-server.sh 启动
-
进入app/client 目录,执行yarn install,然后yarn start即可启动
最后
能够启动还是挺简单的,只是这个时候还没有访问到后端,下篇再写吧
其他问题及参考文档
官方安装说明
wsl内存不够打包失败
java.nio.file.AccessDeniedException时请chmod 777