最新源码成功安装入坑文档-超详细,markdown格式,建议收藏

因为不喜欢docker这种方式,喜欢大虚拟机这种暴力美学,有更好的隔离性,部署架构感觉也更简单清晰,出问题也相对容易排查,同时老哥也不熟悉node相关开发,踩了几个坑,还是安装好了,同时也做了相关记录,希望对一些喜欢这种方式的朋友有帮助(PS:官方社区活跃度呀,回复也太慢了,我感觉基本是自问自答。 :rofl:),发这个贴时,还出现了如下提示,哎,要保护热情哦:

废话少说,正文如下:

安装NacoBase

一、安装Rocky Linux X64

(一)存储规划

物理卷PV(物理硬盘) VG卷组/标准分区 LV逻辑卷/分区名 挂载点 容量(Gb) 格式 备注
nvme0n1 标准分区 nvme0n1p1 /boot 1 xfs
nvme0n1 rl swap 7.85 swap
nvme0n1 rl root / 191.14 xfs

(二)主机规划

nocabase:

**IP:**10.10.1.252

**hostname:**nacoserver

OS Version: Rocky-9.5-x86_64

mysql:

**IP:**10.10.1.253

**hostname:**nacodb

OS Version: Rocky-9.5-x86_64

(三)安装过程

Rocky Linux作为Cent OS很好的替代(略).

二、设置Rocky Linux并安要求安装Git、Node.js 20+、Yarn 1.22.x

(一)设置Rocky Linux

1、安装gnome-tweaks,使可以打开窗口最小化、最大化操作
[root@naco ~]# gnome-tweaks
bash: gnome-tweaks: 未找到命令...
安装软件包“gnome-tweaks”以提供命令“gnome-tweaks”? [N/y] y

[root@naco ~]# nautilus -q



(二)安要求安装Git、Node.js 20+、Yarn 1.22.x

# 默认安装的git版本为2.43.5
[root@naco ~]# yum install -y git

#安装node.js
[root@naco ~]# dnf module list nodejs
[root@naco ~]# dnf module enable nodejs:20 -y
[root@naco ~]# dnf install -y nodejs
[root@naco ~]# node -v
v20.18.2

# 安装Yarn 1.22.x
[root@naco ~]# curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
[root@naco ~]# dnf list yarn --showduplicates
[root@naco ~]# dnf install yarn-1.22.22-1
[root@naco ~]# yarn -v
1.22.22

三、安装配置MySQL 8.0.17+

[root@naco ~]# dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

# 确保 mysql80-community在仓库中已启用
[root@naco ~]# dnf repolist enabled | grep mysql

# 查看允许安装的版本
[root@naco ~]# dnf list mysql-community-server --showduplicates
# 安装MySQL 8.0.18
[root@naco ~]# dnf install mysql-community-server-8.0.18

# 启动服务
[root@naco ~]# systemctl start mysqld
# 配置自动启动
[root@naco ~]# systemctl enable mysqld
# 查看服务状态
[root@naco ~]# systemctl status mysqld



Out of Memory的处理(非必要,重启后正常):

The 'innodb_buffer_pool_size' variable can be set dynamically while the MySQL server is running. In addition, the InnoDB buffer size changes in chunks. It is defined by the 'innodb_buffer_pool_chunk_size' system variable. By default, that value is set to 128Mb.

注意:此时可以克隆一台虚拟机作为最开始所述的数据库服务器nacodb,和数据库有关的配置维护操作,在数据库服务器进行。

# 查询mysql临时密码
[root@nacodb ~]# grep 'temporary password' /var/log/mysqld.log
# 使用临时密码登录mysql
[root@nacodb ~]# mysql -u root -p
# 修改root密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
# 查询用户
mysql> SELECT Host, User FROM mysql.user;
# 创建任意来源可访问的远程用户并授权(生产环境不建议)
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 创建指定来源可远程访问用户(生产环境)
CREATE USER 'root'@'指定来源IP' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.1.253' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# 开放防火墙端口
[root@nacodb ~]# firewall-cmd --permanent --add-port=3306/tcp
[root@nacodb ~]# firewall-cmd --reload
# 重启mysql服务
[root@nacodb ~]# systemctl restart mysqld

# 测试远程连接 10.10.1.253 为数据库临时地址
[root@nacoserver ~]# mysql -h 10.10.1.253 -u root -p

四、安装NacoBase技术平台

参考官方安装文档:

https://docs-cn.nocobase.com/welcome/getting-started/installation/git-clone

  • 安装前须将.env配置文件中最开头涉及docker的配置注释掉

nodejs可能因默认内存不足,启动后一会儿就报错,在执行yarn dev 或 yarn build、yarn start前在终端中导入以下环境变量,8096为8G,可根据实际情况进行调整:

export NODE_OPTIONS=--max_old_space_size=8096
  • 数据库服务器IP地址有变动时,可以通过设置.env相关的连接参数,再重启nocobase即可(目前不太清楚怎么重启服务,在终端中ctrl+C,会一直killing中,就暴力重启服务器,简单直接)
  • 按本文档安装好后,也可正常按官方源码升级文档进行正常升级,我就从1.6.0升到了1.6.6
  • .env配置文件内容完整如下:
TZ=Asia/Shanghai
################# DOCKER #################

#ADMINER_PORT=10101
#DB_MYSQL_PORT=10102
#DB_POSTGRES_PORT=10103
#VERDACCIO_PORT=10104
# VERDACCIO_URL=http://host.docker.internal:10104/

################# NOCOBASE APPLICATION #################

# !!! When `APP_ENV=production`, opening http://localhost:13000/ will show "Not Found".
# !!! It is recommended to use nginx to proxy static files. For example https://github.com/nocobase/nocobase/blob/ee728bd9bfac2eea21c090c9fd7a1b33f636aea4/docker/nocobase/nocobase.conf
APP_ENV=development
APP_PORT=13000
APP_KEY=testting1188976ttr

API_BASE_PATH=/api/
API_BASE_URL=

# console | file | dailyRotateFile
LOGGER_TRANSPORT=console,dailyRotateFile
LOGGER_BASE_PATH=storage/logs
# error | warn | info | debug | trace
LOGGER_LEVEL=debug
# If LOGGER_TRANSPORT is dailyRotateFile and using days, add 'd' as the suffix.
LOGGER_MAX_FILES=14d
# add 'k', 'm', 'g' as the suffix.
LOGGER_MAX_SIZE=
# console | json | logfmt | delimiter
LOGGER_FORMAT=console

# Start application in cluster mode when the value is set (same as pm2 -i <cluster_mode>).
# Cluster mode will only work properly when plugins related to distributed architecture are enabled.
# Otherwise, the application's functionality may encounter unexpected issues.
# The cluster mode will not work in development mode either.
CLUSTER_MODE=

################# DATABASE #################

# postgres | mysql | mariadb | sqlite
DB_DIALECT=mysql
DB_TABLE_PREFIX=noco_
DB_HOST=192.168.66.30
DB_PORT=3306
DB_DATABASE=nacodb
DB_USER=root
DB_PASSWORD='Dbdb@#1254'
DB_LOGGING=on
# DB_UNDERSCORED=false

# sqlite only
# DB_STORAGE=storage/db/nocobase.sqlite

#== SSL CONFIG ==#
# DB_DIALECT_OPTIONS_SSL_CA=
# DB_DIALECT_OPTIONS_SSL_KEY=
# DB_DIALECT_OPTIONS_SSL_CERT=
# DB_DIALECT_OPTIONS_SSL_REJECT_UNAUTHORIZED=true

################# CACHE #################
CACHE_DEFAULT_STORE=memory
# max number of items in memory cache
CACHE_MEMORY_MAX=2000
# CACHE_REDIS_URL=

################# STORAGE (Initialization only) #################

INIT_LANG=en-US
INIT_ROOT_EMAIL=admin@nocobase.com
INIT_ROOT_PASSWORD=admin123
INIT_ROOT_NICKNAME=Super Admin
INIT_ROOT_USERNAME=nocobase

################# ENCRYPTION FIELD #################

ENCRYPTION_FIELD_KEY=

################# NOCOBASE PACKAGE AUTH #################

# service platform username
NOCOBASE_PKG_USERNAME=
# service platform password
NOCOBASE_PKG_PASSWORD=
6 Likes

点个赞

赞!

那我出一个在 Raspberry Pi5上搭建nocobase的教程好了~

1 Like