前端部署
用git拉取前端代码:
$ git clone https://github.com/jetlinks/jetlinks-ui-antd.git
使用yarn打包推荐(命令在项目根目录下执行)
yarn install
yarn run build
使用npm打包(命令在项目根目录下执行)
npm install
npm run-script build
复制dist目录到nginx下
#查找nginx的目录
[root@VM-16-6-centos jetlinks-ui-antd]# find / -name nginx
/www/server/nginx
/www/server/nginx/sbin/nginx
/www/server/panel/rewrite/nginx
#将打包好的dist文件复制到nginx代理的路径:
cp -r dist /www/server/nginx/html
修改nginx配置文件 件配置内容如下:
server {
listen 80;
# gzip config
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
root /usr/share/nginx/html/dist; #这里设置根路径,若连同dist一起复制到html下的,要加上dist,不然就会出现找不到的情况
include /etc/nginx/mime.types;
location / {
index index.html;
}
location ^~/jetlinks/ {
proxy_pass http://localhost:8844/; #修改此地址为后台服务地址
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_connect_timeout 1;
proxy_buffering off;
chunked_transfer_encoding off;
proxy_cache off;
proxy_send_timeout 30m;
proxy_read_timeout 30m;
client_max_body_size 100m;
}
}
这里需要注意的就是:
root 为访问网址中根所指向的路径,一般指向打包好的dist目录位置;
proxy_pass为后端服务地址,按实际情况修改,若在同一台服务器上部署的一般为localhost;
修改配置文件后记得重启nginx
后端代码导入idea启动
1.dea请先安装lombok插件,同时idea还得有maven和ElasticSearch插件【这个插件很重要】
2.打开IDEA,点击file-open,选择项目目录,等待依赖下载完成.
3.点击file-Project Structure-Project,配置SDK为jdk1.8,Project language level为8.
4.打开jetlinks-standalone/src/main/java/org…/JetLinksApplication.java,启动main方法即可.
该修改的地方如下:
1.找到你的JetLinksApplication
2.去resources里面找到application.yml文件,在spring下面找到r2dbc,修改配置,例如
r2dbc:
url: r2dbc:mysql://localhost:3306/jetlinks
username: root
password: root
[这里以MySQL数据库举例,具体看你的数据库,后面是用户名和密码,自己输入自己的就行]
【自己得在本机建一个空数据库,我们项目跑起来后会自动建表的,不用担心】
3.找到easyorm,开始修改
easyorm:
default-schema: jetlinks # 数据库默认的schema
dialect: mysql #数据库方言
4.将elasticsearch开启为true,因为我们下载了这个插件要用到
elasticsearch:
embedded:
enabled: true # 为true时使用内嵌的elasticsearch,不建议在生产环境中使用
5.后台就改这三个地方,然后能正常运行。
后端部署(在本地拉取后端代码,并打包)
1、拉取后端代码
git clone https://github.com/jetlinks/jetlinks-community.git
2、在代码根目录执行:
使用命令行启动
如果相关环境的ip不是本地,或者端口不是默认端口.请先修改配置文件.
linux或者macOS环境下打包:
./mvnw clean package -Dmaven.test.skip=true
windows 环境下打包
mvnw.cmd clean package '-Dmaven.test.skip=true'
打出的jar包在j: jetlinks-standalone/target/jetlinks-standalone.jar 这个目录下
3、将jar包上传到服务器 ,并在jar包存放目录执行命令 启动jar包:
java -jar jetlinks-standalone.jar
4.可能会遇到的问题
(1)启动报错链接不上redis
解决办法:查看自己是否已经安装并启动redis
(2)启动报链接不上postgresql
解决办法:
(1)若postgresql没启动 则先启动:
```
docker run --name postgres -e POSTGRES_PASSWORD=jetlinks -p 5432:5432 -d postgres:11.4
(2)查看postgresql安装的端口是否与代码配置一致 代码配置是默认端口5432
查看谁在使用某个端口:
lsof -i :5432
(3)链接的数据库jetlinks是否存在 不存在会报找不到数据库错误 新建一个名为jetlinks的数据库即可
root@3d971ead02b8:/# su postgres
postgres@3d971ead02b8:/$ psql
psql (11.4 (Debian 11.4-1.pgdg90+1))
Type "help" for help.
postgres=# create database jetlinks;