diff --git a/docs/apps/assets/magento-backend-websoft9.png b/docs/apps/assets/magento-backend-websoft9.png new file mode 100644 index 00000000..d0614df0 Binary files /dev/null and b/docs/apps/assets/magento-backend-websoft9.png differ diff --git a/docs/apps/assets/matomo-backend-websoft9.png b/docs/apps/assets/matomo-backend-websoft9.png new file mode 100644 index 00000000..93584869 Binary files /dev/null and b/docs/apps/assets/matomo-backend-websoft9.png differ diff --git a/docs/apps/assets/mattermost-backend-websoft9.png b/docs/apps/assets/mattermost-backend-websoft9.png new file mode 100644 index 00000000..2e159712 Binary files /dev/null and b/docs/apps/assets/mattermost-backend-websoft9.png differ diff --git a/docs/apps/assets/memcached-gui-websoft9.png b/docs/apps/assets/memcached-gui-websoft9.png new file mode 100644 index 00000000..0eacf642 Binary files /dev/null and b/docs/apps/assets/memcached-gui-websoft9.png differ diff --git a/docs/apps/assets/metabase-backend-websoft9.png b/docs/apps/assets/metabase-backend-websoft9.png new file mode 100644 index 00000000..58967c3b Binary files /dev/null and b/docs/apps/assets/metabase-backend-websoft9.png differ diff --git a/docs/apps/assets/metabase-backendadmin-websoft9.png b/docs/apps/assets/metabase-backendadmin-websoft9.png new file mode 100644 index 00000000..b6e763eb Binary files /dev/null and b/docs/apps/assets/metabase-backendadmin-websoft9.png differ diff --git a/docs/apps/assets/mingdao-login-websoft9.png b/docs/apps/assets/mingdao-login-websoft9.png new file mode 100644 index 00000000..6e3afada Binary files /dev/null and b/docs/apps/assets/mingdao-login-websoft9.png differ diff --git a/docs/apps/assets/mingdao-main-app-websoft9.png b/docs/apps/assets/mingdao-main-app-websoft9.png new file mode 100644 index 00000000..802c7e4d Binary files /dev/null and b/docs/apps/assets/mingdao-main-app-websoft9.png differ diff --git a/docs/apps/assets/minio-bucket-websoft9.png b/docs/apps/assets/minio-bucket-websoft9.png new file mode 100644 index 00000000..21347cb9 Binary files /dev/null and b/docs/apps/assets/minio-bucket-websoft9.png differ diff --git a/docs/apps/assets/minio-login-websoft9.png b/docs/apps/assets/minio-login-websoft9.png new file mode 100644 index 00000000..dce17cff Binary files /dev/null and b/docs/apps/assets/minio-login-websoft9.png differ diff --git a/docs/apps/assets/minio-main-websoft9.png b/docs/apps/assets/minio-main-websoft9.png new file mode 100644 index 00000000..6fea1899 Binary files /dev/null and b/docs/apps/assets/minio-main-websoft9.png differ diff --git a/docs/apps/assets/minio-preview-websoft9.png b/docs/apps/assets/minio-preview-websoft9.png new file mode 100644 index 00000000..4191bd20 Binary files /dev/null and b/docs/apps/assets/minio-preview-websoft9.png differ diff --git a/docs/apps/assets/minio-upload-websoft9.png b/docs/apps/assets/minio-upload-websoft9.png new file mode 100644 index 00000000..ca681dfe Binary files /dev/null and b/docs/apps/assets/minio-upload-websoft9.png differ diff --git a/docs/apps/assets/mongodbcompass-click-websoft9.png b/docs/apps/assets/mongodbcompass-click-websoft9.png new file mode 100644 index 00000000..59678016 Binary files /dev/null and b/docs/apps/assets/mongodbcompass-click-websoft9.png differ diff --git a/docs/apps/assets/mongodbcompass001-websoft9.png b/docs/apps/assets/mongodbcompass001-websoft9.png new file mode 100644 index 00000000..2ed17039 Binary files /dev/null and b/docs/apps/assets/mongodbcompass001-websoft9.png differ diff --git a/docs/apps/assets/mongodbcompass002-websoft9.png b/docs/apps/assets/mongodbcompass002-websoft9.png new file mode 100644 index 00000000..92cc3ba1 Binary files /dev/null and b/docs/apps/assets/mongodbcompass002-websoft9.png differ diff --git a/docs/apps/assets/moodle-backend-websoft9.png b/docs/apps/assets/moodle-backend-websoft9.png new file mode 100644 index 00000000..c6725cc9 Binary files /dev/null and b/docs/apps/assets/moodle-backend-websoft9.png differ diff --git a/docs/apps/assets/mqttx-connection-websoft9.png b/docs/apps/assets/mqttx-connection-websoft9.png new file mode 100644 index 00000000..f700b1ce Binary files /dev/null and b/docs/apps/assets/mqttx-connection-websoft9.png differ diff --git a/docs/apps/assets/neo4j-ssui-websoft9.png b/docs/apps/assets/neo4j-ssui-websoft9.png new file mode 100644 index 00000000..e04d3e03 Binary files /dev/null and b/docs/apps/assets/neo4j-ssui-websoft9.png differ diff --git a/docs/apps/assets/nopcommerce-backend-websoft9.png b/docs/apps/assets/nopcommerce-backend-websoft9.png new file mode 100644 index 00000000..d4ff03e1 Binary files /dev/null and b/docs/apps/assets/nopcommerce-backend-websoft9.png differ diff --git a/docs/apps/assets/nopcommerce-getdbconns-websoft9.png b/docs/apps/assets/nopcommerce-getdbconns-websoft9.png new file mode 100644 index 00000000..44ace218 Binary files /dev/null and b/docs/apps/assets/nopcommerce-getdbconns-websoft9.png differ diff --git a/docs/apps/assets/nopcommerce-setdbconns-websoft9.png b/docs/apps/assets/nopcommerce-setdbconns-websoft9.png new file mode 100644 index 00000000..b1a5b8ad Binary files /dev/null and b/docs/apps/assets/nopcommerce-setdbconns-websoft9.png differ diff --git a/docs/apps/magento.md b/docs/apps/magento.md index 3e1d94cc..c9fe0343 100644 --- a/docs/apps/magento.md +++ b/docs/apps/magento.md @@ -13,117 +13,67 @@ import Meta from './_include/magento.md'; ## 入门指南{#guide} -### 初始化{#wizard} +### 登录后台{#wizard} Websoft9 控制台安装 Magento 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 -### 安装插件{#installplugin} +![](./assets/magento-backend-websoft9.png) -建议通过 Magento 后台在线安装扩展: +### 切换为中文{#setlanguage} -1. 确保你的 Magento 已经[连接到官方的 Marketplace](#marketplace) +Websoft9 已经预制 Magento 的中文包文件 zh_Hans_CN,只需启用它: -2. 在 Marketplace 找到您需要的扩展或主题,购买完成,点击【Install】 +#### 后台 -3. 登录 Magento 后台,打开:【SYSTEM】>【Web Setup Wizard】>【System Configration】 +以管理员身份登录 Magento,右上角 Account Setting > Interface Local, 选择 Interface Local 为中文 -4. 在左侧菜单栏选择【EXTENSION MANAGER】,单击【Refresh】 将购买信息同步到网站,然后通过【Review and Install】查看 +#### 前台 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-theme-1-websoft9.png) - - > Refresh 可能会出现同步失败,请多次刷新 - -5. 在列表内选择插件或主题,即可进行安装 - -6. 安装时会进行系统环境检查,条件全面满足才可以开始安装 - -7. 安装过程时间较长且报错,请查看[故障原因](./magento/admin##updateerror) - - -### 连接 Magento Marketplace{#marketplace} - -安装 Magento 后,建议把你安装的 Magento 系统与 Magento 官方的 Marketplace 资源进行在线连接,这样便可以使用 Marketplace 上的大量资源 - -![](http://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-setuptools-websoft9.png) - -1. 到官方 [注册 Magento 账号](https://account.magento.com/applications/customer/login) - -2. 登录 Marketplace,打到My Profile 的 Access Keys 页面新建一个自己的 Access Key; - ![](http://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-smtp-1-websoft9.png) - -3. 保存 Access Key - ![](http://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-savemykey-websoft9.png) - -4. 进入 Magento 容器的网站根目录,将 key 复制到 auth.json.example,并重命名为 auth.json - -``` -{ - "http-basic": { - "repo.magento.com": { - "username": "", - "password": "" - } - } -} - -``` - -5. 连接后,就可以很方便的使用 Marketplace 上的资源 - -### 安装中文包{#setlanguage} +1. 进入 Magento 容器的命令模式,运行下面的命令 + ``` + cd /bitnami/magento/ + php bin/magento config:set --scope=stores --scope-code=default general/locale/code zh_Hans_CN + php bin/magento cache:clean + php bin/magento cache:flush + ``` -Websoft9 已经默认将 Magento 的中文包 zh_Hans_CN 设置好,只需启用即可: +2. 以管理员身份登录 Magento,打开:Stores > Configuration > General > Locale Options,设置 Locale 为中文 -1. 网页后台设置中文:在管理员页面右上角点击你的账户 Account Setting > Interface Local 中设置 Interface Local 为Chinese(China) -2. 网页前台设置中文: - - 安装前台语言包: - ``` - docker exec -it magento bash #进入Magento容器 - cd /bitnami/magento/ - php bin/magento config:set --scope=stores --scope-code=default general/locale/code zh_Hans_CN - php bin/magento cache:clean - php bin/magento cache:flush - ``` - - 进入到Magento管理员界面,后台 Stores > Configuration > General > Local 中设置Local为Chinese(China) +### 安装扩展{#installplugin} -### 刷新缓存 +Magento 核心功能之外的补充均称之为扩展,包括:模块、主体和语言包等。 -Cache(缓存)是 Magento 的一项重要设置: +扩展是通过 php composer 连接到 Magento 的 composer 仓库进行操作,安装扩展时需要输入仓库的 [Access Key](#key) -1. 登录 Magento 后台,依次打开:【System】>【Tools】> 【Cache Management】 -2. 选择需要刷新的缓存 -3. 点击【Flush Magento Cache】和【Flush Cache Storage】开始刷新 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-flushcache-websoft9.png) -4. 也可以取消一些页面的缓存设置 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-dscache-websoft9.png) +参考:[Install an extension](https://experienceleague.adobe.com/en/docs/commerce-operations/installation-guide/tutorials/extensions) -### 重建索引 -索引发生了变化后,可能会报错 One or more indexers are invalid.... +### 设置 Access Key{#key} -此时,需要重建索引: +Access Key 是 Magento 使用 Marketplace 资源的凭据: -##### 方法1:控制台重置 +1. 注册 [ Magento 账号](https://account.magento.com/applications/customer/login),登录 Marketplace,从 My Profile 的 Access Keys 页面新建一个自己的 Access Key -1. 在管理员页面的左边控制栏点击“SYSTEM”,在弹出的选项中选择Index Management; - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-cron001.png) +3. 在 Magento 应用的根目录下基于 auth.json.example 创建一个新文件 auth.json -2. 点击图中所示的选项框,选择下拉菜单中的Update by Schedule,然后点击序号4所示的选项框选择Select All,最后单击5所示的Submit即可。 +4. 将 Access Key 填写到 auth.json 文件 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-cron002.png) -##### 方法2:命令行重置 +### 缓存与索引 -1. 使用命令行工具 (SSH or Terminal)进入magento安装根目录:cd /data/wwwroot/magento/bin +对 Magento 进行配置后,可能需要刷新缓存或重建索引: -2. 重新编制索引:php magento indexer:reindex +- 通过 Magento 后台设置:"System" > "Tools" +- 命令行设置:`php bin/magento cache:flush`, `php magento indexer:reindex` ## 配置选项{#configs} +- [扩展管理](https://experienceleague.adobe.com/en/docs/commerce-operations/installation-guide/tutorials/extensions) - 命令行: `magento list` - [API](https://devdocs.magento.com/guides/v2.2/get-started/bk-get-started-api.html) - 多语言(✅):需下载语言包后导入 +- 备份: ## 管理维护{#administrator} @@ -131,9 +81,9 @@ Cache(缓存)是 Magento 的一项重要设置: 请参照官方的 [SMTP 配置方案](https://experienceleague.adobe.com/zh-hans/docs/commerce-admin/systems/communications/email-communications) -### 更换 URL{#url} +### 更换 URL 额外设置{#url} -域名更换后,需通过 CLI 更新 Magento URL: +Websoft9 控制台更换 Magneto 域名后,还需通过 CLI 更新 Magento URL: ```shell php bin/magento config:set web/unsecure/base_url http://www.mydomain.com/ # 修改成您的实际域名,必须以 / 结束 @@ -142,61 +92,32 @@ Cache(缓存)是 Magento 的一项重要设置: ### HTTPS 额外设置{#https} -通过 Websoft9 网关为 Magento 配置 HTTPS 后,还需运行 CLI 命令进行配置: +Websoft9 控制台设置 Magento 的 HTTPS 后,还需通过 CLI 命令进行配置: ``` +#1 set your url php bin/magento setup:store-config:set --use-secure=1 --use-secure-admin=1 --base-url-secure="https://www.yourdomain.com/" -php bin/magento cache:flush #将基础URL更改为https并刷新缓存 -``` - -### 备份 - -Magento 支持在线备份方案: -1. 登录到 Magento 后台,依次打开:【System】>【System Backup】,设置备份 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-backup-websoft9.png) - -2. 将备份加入到计划任务中 +#2 flush cache +php bin/magento cache:flush +``` - - 登录 Magento 后台,依次打开:【Stores】>【Configuration】 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-bkscheduleset-websoft9.png) +### 在线备份 - - System】>【Backup Settings】,设置计划任务 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-bkschedulesets-websoft9.png) +Magento 支持在线备份方案:"Stores" > "Configuration" > "ADVANCED" > "Backup Settings" ### 升级 -Magento 可以通过两种方式升级:后台升级界面和 Composer 升级命令。 - -下面介绍后台升级界面升级步骤: +Magento 升级非常复杂,升级需参考的文档: -1. 以管理身份登录 Magento,依次打开:【System】>【Web Setup Wizard】>【System Upgrade】 - ![Magento upgrade](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-sysupgradestart-websoft9.png) - -2. 如果没有连接 Marketplace,系统会要求你输入 Access key - ![Magento connect Marketplace](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-sysupgradestartkey-websoft9.png) - -3. 点击升级按钮,开始在线升级 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-sysupgradestarting-websoft9.png) +- [Recommended reading for upgrade planning](https://experienceleague.adobe.com/en/docs/commerce-operations/upgrade-guide/resources/recommended-reading) +- [Perform an upgrade](https://experienceleague.adobe.com/en/docs/commerce-operations/upgrade-guide/implementation/perform-upgrade) ## 故障 -#### 线升级或在线安装插件报错?{#updateerror} - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-upgrade-dependency.png) - -如果升级过程若报错,最可能的原因是内存不足,一方面需要保证服务器内存不低于 4G,另一方面需要修改 Magento 根目录下的 `.htaccess` 文件。 - -其中的 `php_value memory_limit` 不低于 2048M - - ``` - php_value memory_limit 2048M - php_value max_execution_time 18000 - ``` - #### Cron job 告警? -错误:**One or more indexers are invalid. Make sure your Magento cron job is running** +错误:One or more indexers are invalid. Make sure your Magento cron job is running 方案:需重建索引后在后台刷新页面 ``` php bin/magento indexer:reindex @@ -212,20 +133,12 @@ Magento 是一个复杂的企业级电商系统,对计算资源要求较高 ```shell # Show Magento(URL) -php bin/magento info:adminuri +magento info:adminuri # Update Magento(URL) -php bin/magento setup:config:set --backend-frontname=[yourAdminUrl] -n +magento setup:config:set --backend-frontname=[yourAdminUrl] -n ``` -#### 跳过登陆时的邮件验证? - -关闭密码邮件**双重认证**,通过密码即可登陆: - -```shell -# Close Magento_TwoFactorAuth -php bin/magento module:disable Magento_TwoFactorAuth -``` #### 重定向导致无法访问? **现象描述**:错误信息为 ERR_TOO_MANY_REDIRECTS magento admin @@ -234,56 +147,35 @@ php bin/magento module:disable Magento_TwoFactorAuth ```shell php bin/magento setup:store-config:set --use-secure=1 --use-secure-admin=1 --base-url-secure="https://www.yourdomain.com/" -php bin/magento cache:flush #将基础URL更改为https并刷新缓存 +php bin/magento cache:flush ``` #### 设置 HTTPS 后,页面混乱? -问题:设置 HTTPS 之后,网站可以访问,但是出现页面混乱的情况。 -原因:在确定配置文件正常后,可以通过【重新发布】来处理(建议先备份) -解决方案: - -1. 开启维护模式 -2. 删除静态文件和缓存文件 -3. 更新数据库以及重新编译 -4. 重新 deploy 静态文件 -5. 更新索引,刷新缓存,关闭维护模式 - ```shell - php bin/magento maintenance:enable - php rm -rf var/di/* && rm -rf var/generation/* && rm -rf var/cache/* && rm -rf var/page_cache/* && rm -rf var/view_preprocessed/* && rm -rf pub/static/* && rm -rf generated/* - php bin/magento setup:upgrade - php bin/magento setup:di:compile - php bin/magento setup:static-content:deploy -f - php bin/magento indexer:reindex - php bin/magento cache:clean && bin/magento cache:flush - php bin/magento maintenance:disable - ``` +问题描述:设置 HTTPS 之后,网站可以访问,但是出现页面混乱的情况。 -#### 商品属性不能正常显示? +原因分析:未知 -Magento 允许用户通过后台“STORES”->"Attributes"->"Product"添加额外的商品属性。 - -添加的额外属性的属性值设置不正确就会影响前台的商品展示,出现如图错误。 - - ![magento](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-products-matching-the-selection-websoft9.png) - - -通过以下步骤可以排查此问题: - -1. 查看日志,是否是添加的属性引发的异常,本例中查看到“eanl3”属性有异常 - - ![magento](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-log-websoft9.png) - -2. 进入后:“STORES”->"Attributes"->"Product",查看相关属性设置. - - ![magento](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-product-attribute-websoft9.png) - -3. 在属性列表中点击“ean13”,进入设置界面 - - ![magento](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-product-attribute1-websoft9.png) +解决方案: -4. 属性设置 +```shell +php bin/magento maintenance:enable +# 删除静态文件和缓存文件 +php rm -rf var/di/* && rm -rf var/generation/* && rm -rf var/cache/* && rm -rf var/page_cache/* && rm -rf var/view_preprocessed/* && rm -rf pub/static/* && rm -rf generated/* + +# 重新 deploy 静态文件 +php bin/magento setup:upgrade +php bin/magento setup:di:compile +php bin/magento setup:static-content:deploy -f + +# 重建索引和缓存 +php bin/magento indexer:reindex +php bin/magento cache:clean && bin/magento cache:flush +php bin/magento maintenance:disable +``` - ![magento](https://libs.websoft9.com/Websoft9/DocsPicture/zh/magento/magento-product-attribute2-websoft9.png) +#### 商品详情页不能正常显示? -5. 清空浏览器缓存,重新打开网站 +问题描述:前台无法正常显示商品信息,错误 "We can't find products matching the selection" +问题原因:日志排查后发现是商品属性 "eanl3" 字段异常 +解决方案:“STORES” > "Attributes" > "Product" 重新设置此字段 \ No newline at end of file diff --git a/docs/apps/matomo.md b/docs/apps/matomo.md index cde958fe..a64fa072 100644 --- a/docs/apps/matomo.md +++ b/docs/apps/matomo.md @@ -17,25 +17,18 @@ import Meta from './_include/matomo.md'; Websoft9 控制台安装 Matomo 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 -1. 使用本地电脑浏览器访问后,进入初始化页面 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/matomo/matomo-init1-websoft9.png) +1. 使用本地电脑浏览器访问 URL,进入初始化安装向导 -2. 设置管理员账号:点击【Next】,直到 Superuser 页面设置用户名,密码和登陆邮件账号并牢记 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/matomo/matomo-init2-websoft9.png) +2. 根据向导依次完成后续步骤:设置数据库连接(建议采用默认值)、创建管理账号、增加首个被监控的网站 -3. 添加监控网站:点击【Next】,设置站点名称,时区,URL - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/matomo/matomo-init3-websoft9.png) - -4. 完成初始化向导,进入登录页面 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/matomo/matomo-login-websoft9.png) - -5. 登录后台,复制追踪代码到监控网站页面,并查看监控数据 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/matomo/matomo-main-websoft9.png) +3. 登录后台,获取被监控网站的 JS 脚本 + ![](./assets//matomo-backend-websoft9.png) ## 配置选项{#configs} - 多语言(✅) - [Matomo API](https://matomo.org/guide/apis/) +- 监控多站点(✅) ## 管理维护{#administrator} diff --git a/docs/apps/mattermost.md b/docs/apps/mattermost.md index e89e63d4..13cf0a21 100644 --- a/docs/apps/mattermost.md +++ b/docs/apps/mattermost.md @@ -16,33 +16,18 @@ import Meta from './_include/mattermost.md'; Websoft9 控制台安装 Mattermost 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 -1. 本地电脑浏览器访问, 进入引导页面 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/mattermost/mattermost-install-websoft9.png) +1. 本地电脑浏览器访问 URL,进入初始化向导 -2. 设置后台管理员账号和密码,开始创建账号 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/mattermost/mattermost-createdaccount-websoft9.png) +2. 根据向导依次完成后续步骤:创建管理账号、创建团队等 -3. 开始创建团队 或 登录到系统控制台 - -4. 打开:【Settings】>【Display】设置你所需的语言 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/mattermost/mattermost-display-websoft9.png) - -5. 退出并重新登录,所选语言生效 - -### 增加团队用户数 - -系统控制台 【SITE CONFIGURATION】>【Users and Teams】> 【Max Users Per Team】值来设置团队人数: -![](https://libs.websoft9.com/Websoft9/DocsPicture/en/mattermost/mattermost-maxusers-websoft9.png) - -### Mattermost + Slack - -阅读:[Mattermost vs Slack](https://mattermost.com/mattermost-vs-slack/) +3. 登录后台开始使用 + ![](./assets/mattermost-backend-websoft9.png) ## 配置选项{#configs} - 配置文件:/path/mattermost_config/config.json - 移动端(✅):[下载地址](https://mattermost.com/download/#mattermostApps) -- 多语言(✅) +- 多语言(✅):【Settings】>【Display】设置 - SMTP(✅):Mattermost控制台,打开【ENVIROMENT】>【SMTP】 - 服务端命令行:[mattermost](https://docs.mattermost.com/administration/command-line-tools.html) - 客户端命令行:[mmctl](https://docs.mattermost.com/administration/mmctl-cli-tool.html) @@ -51,12 +36,16 @@ Websoft9 控制台安装 Mattermost 后,通过【我的应用】管理应用 /opt/mattermost/bin/mmctl -h ``` - [Mattermost API Reference](https://api.mattermost.com/) +- 设置团队最大用户数:"SITE CONFIGURATION" > "Users and Teams" > "Max Users Per Team" ## 管理维护{#administrator} -### 更换 URL{#url} +### 更换 URL 额外操作{#url} + +通过 Websoft9 控制台更换域名后,还需要在 Mattermost 后台修改 "Site URL":"ENVIRONMENT" > "Web Server" + +## 问题与故障 -更换域名后,需重新设置 URL: 控制台【ENVIRONMENT】>【Web Server】,修改 【Site URL】值 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/mattermost/mattermost-urlset-websoft9.png) +#### Mattermost vs Slack? -## 故障 \ No newline at end of file +[Mattermost vs Slack](https://mattermost.com/mattermost-vs-slack/) \ No newline at end of file diff --git a/docs/apps/mediawiki.md b/docs/apps/mediawiki.md index e2b17d72..4238006f 100644 --- a/docs/apps/mediawiki.md +++ b/docs/apps/mediawiki.md @@ -16,49 +16,22 @@ import Meta from './_include/mediawiki.md'; Websoft9 控制台安装 Mediawiki 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 - -### 安装扩展{#plugin} - -参考官方文档:[Manual:Extensions](https://www.mediawiki.org/wiki/Manual:Extensions/zh) - -### 创建或编辑页面{#page} - -参考官方文档:[Help:Starting_a_new_page](https://www.mediawiki.org/wiki/Help:Starting_a_new_page/zh) - -### 可视化编辑器{#edit} - -参考官方文档:[Help:Starting_a_new_page](https://www.mediawiki.org/wiki/Help:VisualEditor/User_guide/zh) - -### 定制界面{#theme} - -定制界面包括:修改 Logo, 设置导航栏,修改 CSS 等 - -参考官方文档:[Help:FAQ:定制界面](https://www.mediawiki.org/wiki/Manual:FAQ/zh#定制界面) - -### 允许文件上传{#upload} - -Mediawiki 默认并不可以上传文件,需要启动文件上传功能 - -参考官方文档:[Help:FAQ:启用文件上传](https://www.mediawiki.org/wiki/Manual:FAQ/zh#如何启用文件上传?) - -### 语言设置{#setlang} - -参考官方文档:[Help:FAQ:语言设置](https://www.mediawiki.org/wiki/Manual:FAQ/zh#我如何更改界面语言?) - -### 设置主页{#sethomepage} - -参考官方文档:[Help:FAQ:设置主页](https://www.mediawiki.org/wiki/Manual:FAQ/zh#如何指定首页?) +- 安装扩展:[Manual:Extensions](https://www.mediawiki.org/wiki/Manual:Extensions/zh) +- 可视化编辑器:[Help:Starting_a_new_page](https://www.mediawiki.org/wiki/Help:VisualEditor/User_guide/zh) +- 文件上传:[Help:FAQ:启用文件上传](https://www.mediawiki.org/wiki/Manual:FAQ/zh#如何启用文件上传?) +- 语言设置:[Help:FAQ:语言设置](https://www.mediawiki.org/wiki/Manual:FAQ/zh#我如何更改界面语言?) +- 界面定制:[Help:FAQ:定制界面](https://www.mediawiki.org/wiki/Manual:FAQ/zh#定制界面),修改 Logo, 设置导航栏,修改 CSS 等 ## 配置选项{#configs} -## 管理维护{#administrator} - -- 配置文件:LocalSettings.php +- 配置文件(已挂载):/bitnami/mediawiki/LocalSettings.php - [API:Main_page](https://www.mediawiki.org/wiki/API:Main_page/zh) - 多语言(✅) - 多媒体文件(✅) -### 配置 SMTP{#smtp} +## 管理维护{#administrator} + +### 设置 SMTP{#smtp} 1. 编辑根目录下的 `LocalSettings.php` 配置文件 @@ -89,11 +62,7 @@ Mediawiki 默认并不可以上传文件,需要启动文件上传功能 $wgPasswordSender = "websoft9@163.com"; ``` -5. 设置完成后,重启容器生效 - - -### 升级 +5. 设置完成后,重启应用后生效 -升级请参考官方文档 [MediaWiki Upgrading](https://www.mediawiki.org/wiki/Manual:Upgrading/zh) ## 故障 \ No newline at end of file diff --git a/docs/apps/memcached.md b/docs/apps/memcached.md index 1bc9de9f..e60980f4 100644 --- a/docs/apps/memcached.md +++ b/docs/apps/memcached.md @@ -13,7 +13,21 @@ import Meta from './_include/memcached.md'; ## 入门指南{#guide} -Websoft9 控制台安装 Memcached 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 +Websoft9 控制台安装 Memcached 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 + +### 登录管理端 + +本应用编排中预制 **Memcached-admin** ,但默认没有启用。如果需要启用,请参考下面的步骤: + +1. Websoft9 控制台 Memcached 应用管理的编排页面 + +2. 修改 Memcached 的 docker-compose.yml 文件 + + - ports 中的宿主机端口 + - 删除 profiles 指令 + +3. 重建应用后,本地浏览器访问 http://URL:port,进入控制面板 + ![Memcached-admin](./assets/memcached-gui-websoft9.png) ### Telnet 连接 @@ -38,26 +52,12 @@ Websoft9 控制台安装 Memcached 后,通过【我的应用】管理应用, ... ``` -### 图形化 Web 端 - -Memcached 数据库管理工具 **Memcached-admin** ,使用请参考如下步骤: - -1. 本地浏览器访问后,进入登录页面 - -2. 输入数据库用户名和密码,进入控制面板 - ![Memcached-admin](https://libs.websoft9.com/Websoft9/DocsPicture/zh/memcached/memcached-gui-websoft9.png) - - ## 配置选项{#configs} - 客户端命令:[Memcached Commands](https://github.com/memcached/memcached/wiki/Commands) 是通过 Telnet 来运行的 - 服务端命令:`memcached -h` +- Memcached-admin:需要修改编排文件启用它 ## 管理维护{#administrator} -### 集群 - -参考:[ClusterMaint](https://github.com/memcached/memcached/wiki/ClusterMaint) - - ## 故障 \ No newline at end of file diff --git a/docs/apps/metabase.md b/docs/apps/metabase.md index fe29580b..337acfa6 100644 --- a/docs/apps/metabase.md +++ b/docs/apps/metabase.md @@ -13,47 +13,22 @@ import Meta from './_include/metabase.md'; ## 入门指南{#guide} -### 初始化{#wizard} +### 登录验证{#wizard} Websoft9 控制台安装 Metabase 后,通过【我的应用】进入它的编辑窗口,在**访问**标签页中获取登陆信息。 -1. 使用本地浏览器访问后,进入登陆页面 - ![Metabase登陆界面](https://libs.websoft9.com/Websoft9/DocsPicture/en/metabase/metabase-login-websoft9.png) +1. 使用本地浏览器访问 URL,进入登录界面 -2. 输入邮件地址和密码,登录到 Metabase 后台管理界面 - ![Metabase后台](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-dashborad-websoft9.png) +2. 登录成功后,根据向导完成信息填写。**添加你的数据 ** 步骤时,建议选择 "我稍后将添加我的数据" -3. 进入了软件的引导加载 - ![Metabase初始化页面](https://libs.websoft9.com/Websoft9/DocsPicture/en/metabase/metabase-start-websoft9.png) - -4. 耐心等待 1-3 分钟,直至出现如下的界面。 - ![开始安装Metabase](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-starty-websoft9.png) - -5. 点击“让我们开始吧”,接下来首先设置登录账号,完成后进入下一步 - -6. 添加数据:可以选择使用的数据类型来连接一个需要分析的外部数据库。 - 如果没有也可以点击“我之后再添加”,这样系统会默认给 Metabase 增加一个 H2 演示数据 - ![配置Metabase](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-installdb-websoft9.png) - -7. 安装成功后的界面,点击“带我去 Metabase”登录后台 - ![Metabase安装成功](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-installss-websoft9.png) - -8. 以 H2 演示数据为例,开始数据分析工作 - ![Metabase H2演示](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-dashborad-websoft9.png) - -9. Metabase 有强大的系统管理能力:后台->设置,进入系统管理界面 - ![Metabase Admin](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-admin-websoft9.png) +3. 完成所有步骤后,登录到后台 + ![](./assets/metabase-backend-websoft9.png) ### 增加数据源 -通过“添加一个数据库”来增加一个数据分析源 - ![Metabase 增加数据库](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-adddb-websoft9.png) - -### 管理用户 - -点击“人员管理”标签,管理使用 Metabase 用户,包括增加用户、修改密码等 +登录到 Metabase 后台后,点击右上角图标选择 "管理后台配置" 增加数据源 - ![Metabase 人员管理](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-users-websoft9.png) +![](./assets/metabase-backendadmin-websoft9.png) ## 配置选项{#configs} @@ -64,21 +39,4 @@ Websoft9 控制台安装 Metabase 后,通过【我的应用】进入它的编 ## 管理维护{#administrator} -### 升级 - -Metabase 有升级包的时候,后台会及时给出提示。参考下面的步骤完成升级: - -1. Metabase 后台->设置->升级,如果有新的升级包,系统会给与提示 - ![Metabase升级提示](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-updatereminder-websoft9.png) - -2. 点击“更新”按钮后,系统会跳转到 Metabase 官方的安装页面。 - -3. 我们提供的部署包采用的是 jar 包安装模式,因此在安装页面我们选择“Custom install”模式, - ![Metabase升级提示](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-updatedl-websoft9.png) - -4. 下载 Metabase.jar 包后,上传到服务器 `/data/wwwroot/metabase`, 覆盖已有的同名文件 - ![Metabase升级提示](https://libs.websoft9.com/Websoft9/DocsPicture/zh/metabase/metabase-updatereplace-websoft9.png) - -5. 重新加载 Metabase,升级成功 - ## 故障 \ No newline at end of file diff --git a/docs/apps/mingdao.md b/docs/apps/mingdao.md index dfcb1efc..63cfbb52 100644 --- a/docs/apps/mingdao.md +++ b/docs/apps/mingdao.md @@ -15,44 +15,53 @@ import Meta from './_include/mingdao.md'; ### 初始化{#wizard} -Websoft9 控制台安装 MingDao(明道云) 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 +Websoft9 控制台安装 MingDao(明道云) 后,通过【我的应用】管理应用,在**访问**标签页中获取**初始化地址** -明道云安装向导包含三个过程:初始化、安装数据、设置管理员: +1. 浏览器打开**初始化地址**,进入设置**访问地址**界面(与初始化地址不同) + + - 可更改默认端口为其他值 + - 建议设置域名访问 -1. 使用本地电脑的浏览器访问后,进入初始化页面 +2. 开始正式的 3-5 分钟初始化过程:导入数据库、明道云官网申请秘钥、注册系统管理员账号等 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mingdao/mingdao-initial1-websoft9.png) +2. 本地浏览器打开第1步设置的**访问地址**,登录明道云后台 - > 上图中访问地址的默认端口 8880 可自行设置为其他端口号 +5. 访问第1步设置的访问地址(例如:`http://服务器公网IP:8880`),登陆明道云后台 + ![](./assets/mingdao-login-websoft9.png) + ![](./assets/mingdao-main-app-websoft9.png) + -2. 设置访问地址后,进入【下一步】,开始初始化(过程持续约 3~5 分钟) +## 企业版与定制 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mingdao/mingdao-initial2-websoft9.png) +### 托管与交付 -3. 初始化完成后,开始**安装数据** (此过程中会引导至明道云官网申请密钥) +Websoft9 是明道云的技术托管合作伙伴,我们可以为明道云的客户和合作伙伴提供: - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mingdao/mingdao-install1-websoft9.png) +- 公有云或私有云的部署、托管服务 +- 明道云升级支持 +- 明道云高可用性支持 -4. 完成**注册系统管理员**信息(务必牢记账号密码) +### 定制服务 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mingdao/mingdao-set-admin-websoft9.png) +Websoft9 具备基于明道云的软件快速构建能力。我们可以为客户提供如下的服务: -5. 访问第1步设置的访问地址(例如:**`http://服务器公网IP:8880`**),登陆明道云后台 +- 基于实际业务,快速建立基础数据模型 +- 提炼管理流程,将业务融合到软件操作中 +- 将明道云与其他系统的连接集成,打破企业数据孤岛 + +### 发行版 + +* [SaaS 版本](https://www.mingdao.com/price),其中又分为:免费版、标准版、专业版、旗舰版四种 +* [私有部署版](https://www.mingdao.com/pd),其中又分为:社区版(免费)、标准版、专业版三种 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mingdao/mingdao-login-websoft9.png) - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mingdao/mingdao-main-app-websoft9.png) - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mingdao/mingdao-main-lib-websoft9.png) ## 配置选项{#configs} - 免费版限制:用户数不超过 30 个,单个工作表最大行数 10 万行 - SMTP 设置:右上角用户图标下的【系统配置】>【邮件服务设置】 - [API](https://help.mingdao.com/API1.html) -- [维护命令](https://docs.pd.mingdao.com/deployment/command) +- [系统维护命令](https://docs.pd.mingdao.com/deployment/command) - 多语言:中文和英文 -- 多版本 - * [SaaS 版本](https://www.mingdao.com/price),其中又分为:免费版、标准版、专业版、旗舰版四种 - * [私有部署版](https://www.mingdao.com/pd),其中又分为:社区版(免费)、标准版、专业版三种 ## 管理维护{#administrator} @@ -65,14 +74,4 @@ Websoft9 控制台安装 MingDao(明道云) 后,通过【我的应用】 #### 服务器重启后,程序打不开? -重启明道服务 - -## 定制服务 - -Websoft9 作为明道的合作伙伴,具备基于明道云的软件快速构建能力。我们可以为客户提供如下的服务: - -- 基于实际业务,快速建立基础数据模型 -- 提炼管理流程,将业务融合到软件操作中 -- 将明道云与其他系统的连接集成,打破企业数据孤岛 - -![](https://alifile.mingdaocloud.com/wwwhome/dist/pack/static/src-common-partnerIntroduction-img-jj2.png) \ No newline at end of file +重启明道服务 \ No newline at end of file diff --git a/docs/apps/minio.md b/docs/apps/minio.md index 97c9c52e..4fc47e78 100644 --- a/docs/apps/minio.md +++ b/docs/apps/minio.md @@ -13,41 +13,48 @@ import Meta from './_include/minio.md'; ## 入门指南{#guide} -### 初始化{#wizard} +### 登录后台{#wizard} Websoft9 控制台安装 MinIO 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 -1. 使用本地电脑浏览器访问,进入初始化页面 +1. 使用本地电脑浏览器访问,进入登录页面 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/minio/minio-login-websoft9.png) + ![](./assets/minio-login-websoft9.png) -2. 输入账号密码,进入后台 +2. 输入账号密码,直接进入后台 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/minio/minio-main-websoft9.png) + ![](./assets/minio-main-websoft9.png) -3. 点击【Create Bucket】,创建新的存储桶 +### 创建存储桶 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/minio/minio-bucket-websoft9.png) +1. 登录后台,点击【Create Bucket】,创建新的存储桶 -4. 上传文件后可以下载和预览 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/minio/minio-upload-websoft9.png) - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/minio/minio-preview-websoft9.png) - ![](https://libs.websoft9.com/Websoft9/DocsPicture/en/minio/minio-show-websoft9.png) + ![](./assets/minio-bucket-websoft9.png) + +2. 上传文件后可以下载和预览 + ![](./assets/minio-upload-websoft9.png) + ![](./assets/minio-preview-websoft9.png) ## 配置选项{#configs} + +- 多语言(×) +- cli:需额外安装 +- 端口:本应用有后台端口和 API 端口 + ## 管理维护{#administrator} -### 安装 CLI +### 安装 CLI{#install-cli} + +Websoft9 控制台进入 MinIO 容器的命令模式,安装并启用 CLI -Websoft9 控制台进入 MinIO 容器,安装并启用 CLI ``` -$ curl https://dl.min.io/client/mc/release/linux-amd64/mc \ +curl https://dl.min.io/client/mc/release/linux-amd64/mc \ --create-dirs \ -o $HOME/minio-binaries/mc -$ chmod +x $HOME/minio-binaries/mc -$ export PATH=$PATH:$HOME/minio-binaries/ +chmod +x $HOME/minio-binaries/mc +export PATH=$PATH:$HOME/minio-binaries/ -$ mc --help +mc --help ``` ## 故障 \ No newline at end of file diff --git a/docs/apps/mongocompass.md b/docs/apps/mongocompass.md index b6fe4c68..a21c2158 100644 --- a/docs/apps/mongocompass.md +++ b/docs/apps/mongocompass.md @@ -20,21 +20,22 @@ Websoft9 控制台安装 MongoDB Compass 后,通过【我的应用】管理应 1. 浏览器访问后,登陆到 Mongo Compass 所在的桌面 2. 点击桌面的 MongoDB Compass 图标,进入MongoDB Compass - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mongodb/mongodbcompass-click-websoft9.png) + ![](./assets/mongodbcompass-click-websoft9.png) 3. 点击【New Connection】,展开 **Advanced Connection Options**,输入连接信息和账号 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mongodb/mongodbcompass001-websoft9.png) + ![](./assets/mongodbcompass001-websoft9.png) > 不建议使用 URI 的方式,它受限于字符串格式 4. 连接成功,进入控制台 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mongodb/mongodbcompass002-websoft9.png) + ![](./assets/mongodbcompass002-websoft9.png) ## 配置选项{#configs} + ## 管理维护{#administrator} ## 故障 #### Mongo Compass 内存消耗大? -是的,Mongo Compass 不是一个真正意义上的 Web 应用,它是有 Websoft9 提供的可以 Web 访问的容器版桌面 \ No newline at end of file +是的,Mongo Compass 不是一个真正意义上的 Web 应用,它是 Websoft9 基于包含桌面的特殊容器而构建 \ No newline at end of file diff --git a/docs/apps/mongodb.md b/docs/apps/mongodb.md index ce68686a..e478e8f2 100644 --- a/docs/apps/mongodb.md +++ b/docs/apps/mongodb.md @@ -42,22 +42,6 @@ Websoft9 控制台安装 MongoDB 后,通过【我的应用】管理应用, Websoft9 提供了一个基于 Web 访问的 [MongoDB Compass](./mongocompass#wizard) 应用。 -### 规划数据模型 - -MongoDB 作为一种数据库,与传统的 RDBMS 的使用方式也有相似之处,即规划数据模型,建立数据库范式。只有这种,才能更好的发挥数据库的性能。 - -![](http://libs.websoft9.com/Websoft9/DocsPicture/en/mongodb/mongodb-datamodel-websoft9.png) - -数据规划的主要设计要点包括: - -* 使用数据范式 -* 使用嵌入式文档反范式 -* 使用固定集合 -* 考虑文档增大 -* 规划索引、分片和复制 -* 规划数据生命周期 - - ### 命令速查 下面列出最常用的 MongoDB 命令供用户参考: @@ -138,56 +122,42 @@ Successfully added user: { "user" : "webs_admin", "roles" : [ "userAdminAnyDatab } ``` +#### 修改管理员密码 + + ``` + > db = db.getSiblingDB('admin') + admin + > db.changeUserPassword("root", "NEWPASSWORD") + > exit + ``` + ## 配置选项{#configs} -- [配置文件](https://docs.mongodb.com/v4.0/reference/configuration-options/#conf-file):*/path/src/mongod.conf* - ``` - processManagement: - fork: true - net: - bindIp: localhost - port: 27017 - storage: - dbPath: /var/lib/mongo - systemLog: - destination: file - path: "/var/log/mongodb/mongod.log" - logAppend: true - storage: - journal: - enabled: true - ``` +- [配置文件](https://docs.mongodb.com/v4.0/reference/configuration-options/#conf-file)(已挂载):*/etc/mongod.conf* + +- 开启公网访问:修改配置文件中的字段 `bindIp: 0.0.0.0` + - 服务端命令:`mongod` -- 开启公网访问:配置文件 `bindIp: 0.0.0.0` 配置段 -- MongoDB Shell 是 MongoDB 自带 JavaScript shell,有两种方式与数据库进行交互: - * 命令行交互式操作 - * 运行存放在文件中的命令脚本(例如:shell_script.js) +- 客户端命令:`mongo` -## 管理维护{#administrator} +- 命令:mongod 是 MongoDB 的服务端管理命令,mongo 是用于访问 MongoDB 服务的客户端 -### 关闭 MongoDB 访问认证 +- 无身份验证访问(√):参考 [访问控制](https://docs.mongodb.com/manual/tutorial/enable-authentication/) 设置 -默认情况下 MongoDB 容器认证已开启,如需关闭认证,删除容器中的账号类环境变量 +- 默认数据库 admin:全局管理权限的数据库用户必须存储在这个 admin 数据库中 -### 修改密码 -参考下面的命令,修改已经创建的管理员账号root的密码 +## 管理维护{#administrator} - ``` - $ docker exec -it mongodb mongo admin -u root -p YOURPASSWORD - MongoDB shell version v4.0.18 - connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb - > db = db.getSiblingDB('admin') - admin - > db.changeUserPassword("root", "NEWPASSWORD") - > exit - ``` +### 关闭 MongoDB 访问认证 + +Websoft9 控制台修改**编排文件**,注释 **MONGO_INITDB_** 开头的环境变量,重建应用 ### 忘记管理员密码 -1. Websoft9 控制台修改**编排文件**,注释 **MONGO_INITDB_** 开头的环境变量,重建应用 +1. 关闭 MongoDB 访问认证 2. 进入 mongodb 容器中运行重置密码命令 ``` @@ -218,148 +188,4 @@ Successfully added user: { "user" : "webs_admin", "roles" : [ "userAdminAnyDatab #### MongoDB compass 无法连接? -端口,bindIP 和账户认证等连接字段是否满足条件 - -## 问答 - -#### MongoDB 的 Client 和 Server? - -MongoDB Server 是指 MongoDB 程序本体,而 MongoDB Client 指采用TCP协议用于连接程序本地的客户端。它们是两个完全不同的程序,也就是说它们并需要同时安装到同一台服务上。 - -#### mongod vs mongo 命令? - -- mongod 是 MongoDB 的服务端管理命令,用于启动数据库服务。 -- mongo 是用于访问 MongoDB 服务的客户端。 - -#### 可否无身份验证? - -可以,默认安装时 MongoDB 开启了[访问控制](https://docs.mongodb.com/manual/tutorial/enable-authentication/),当关闭认证后无需 MongoDB 用户名密码就可以访问。 - -#### admin 数据库是什么? - -安装 MongoDB 时会默认包含一个 admin 数据库,如果你创建管理员账户就必须存储到这个 admin 中 - -#### 官方有哪些工具? - -MongoDB 官方主要工具如下: - -**MongoDB Atlas Open Service Broker** -学习如何使用Atlas Open Service Broker在Kubernetes内部署Atlas集群和管理数据库用户。 - -**MongoDB BI Connector** -MongoDB BI连接器参考指南。学习如何使用商业智能工具和SQL查询存储在MongoDB中的数据。 - -**MongoDB Charts** -MongoDB图表参考指南。学习如何快速轻松地创建MongoDB数据的可视化。 - -**MongoDB Command Line Interface** -学习如何使用MongoDB命令行界面与MongoDB部署快速交互,以简化测试和脚本编写。 - -**MongoDB Compass** -MongoDB Compass参考指南。学习使用MongoDB Compass的图形用户界面查看和分析存储在MongoDB中的数据。 - -**MongoDB Database Tools** -用于与MongoDB集群接口的工具,如导入/导出数据。 - -**MongoDB Kafka Connector** -学习如何将Kafka主题中的数据持久化为MongoDB中的数据接收器,以及如何将MongoDB的更改发布为Kafka topics中的数据源。 - -**MongoDB Kubernetes Operator** -学习如何使用Kubernetes操作符在Kubernete上运行MongoDB Enterprise,并配置Cloud或Ops Manager进行备份和监控。 - -**MongoDB Spark Connector** -MongoDB火花连接器参考指南。了解如何将MongoDB与Apache Spark结合使用。 - - -#### 什么是 NoSQL? - -NoSQL 即 Not only SQL的简称,并非 Not SQL,也即意味着 NoSQL 数据库也有着类似 SQL 的查询概念。 NoSQL 是一个包罗万象的术语,涵盖了除传统的关系型数据库(RDBMS)之外的所有数据库。NoSQL 试图放弃关系型数据库的传统结构,让开发人员能够以更接近系统数据流需求的方式实现模型。当前有多种不同的 NoSQL 技术,包括: - -* 文档存储数据库 -* 健/值数据库 -* 列存储数据库 -* 图存储数据库 - -MongoDB 就属于文档存储数据库的杰出代表。文档数据库采用面向文档的方法存储数据,其背后的理念是,可以将单个实体的所有数据存放在一个文档中,而文档以**集合**的形式组合起来。 - -MongoDB 采用 BSON(一种轻量级的二进制JSON)格式存储数据,每个文档最大不能超过16MB,避免查询占用太多内存或频繁访问文件系统,因此性能非常高。 - -![](http://libs.websoft9.com/Websoft9/DocsPicture/zh/mongodb/mongodb-gui-websoft9.png) - -#### SQL vs MongoDB ? - -MongoDB中的基本概念是文档、集合和数据库。让我们以SQL为例,帮助您更好地理解MongoDB。 - -| SQL Term/concept | MongoDB Term/concept | explain | -| :--- | :--- | :--- | -| database | database | Database Instance | -| table | collection | databae table/collection | -| row | document | table row/document | -| column | field | Data field/domain | -| index | index | index | -| table joins |   | MongoDB no this | -| primary key | primary key | keyPrimary key, MongoDB automatically sets the _id field as the primary key | - -通过下面的例子,我们还可以更直观地理解Mongo中的一些概念: - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mongodb/nosqlvssql-websoft9.png) - -#### MongoDB 有哪些数据类型? - -MongoDB 的数据类型非常类似 JavaScript 对象。 - -**字符串** - 这是用于存储数据的最常用的数据类型。MongoDB中的字符串必须为`UTF-8`。 - -**整型** - 此类型用于存储数值。 整数可以是`32`位或`64`位,具体取决于服务器。 - -**布尔类型** - 此类型用于存储布尔值(`true` / `false`)值。 - -**双精度浮点数** - 此类型用于存储浮点值。 - -**最小/最大键** - 此类型用于将值与最小和最大`BSON`元素进行比较。 - -**数组** - 此类型用于将数组或列表或多个值存储到一个键中。 - -**时间戳** - `ctimestamp`,当文档被修改或添加时,可以方便地进行录制。 - -**对象** - 此数据类型用于嵌入式文档。 - -**对象** - 此数据类型用于嵌入式文档。 - -**Null** - 此类型用于存储`Null`值。 - -**符号** - 该数据类型与字符串相同; 但是,通常保留用于使用特定符号类型的语言。 - -**日期** - 此数据类型用于以UNIX时间格式存储当前日期或时间。您可以通过创建日期对象并将日,月,年的日期进行指定自己需要的日期时间。 - -**对象ID** - 此数据类型用于存储文档的ID。 - -**二进制数据** - 此数据类型用于存储二进制数据。 - -**代码** - 此数据类型用于将JavaScript代码存储到文档中。 - -**正则表达式** - 此数据类型用于存储正则表达式。 - -### 数据库、用户和角色关系? - -通过阅读下面的代码理解用户、数据库和角色的关系 - -``` -use reporting -db.createUser( - { - user: "reportsUser", - pwd: "12345678", - roles: [ - { role: "read", db: "reporting" }, - { role: "read", db: "products" }, - { role: "read", db: "sales" }, - { role: "readWrite", db: "accounts" } - ] - } -) -``` -对 MongoDB 来说,每个用户都存在一个数据库中(区别于 MySQL 中所有的用户存储在一个系统数据库中) - -系统默认,会自动创建 admin 数据库,这是一个特殊数据库,提供了普通数据库没有的功能,对于具备全局管理权限的数据库用户,必须存储在这个 admin 数据中。 - +端口,bindIP 和账户认证等连接字段是否满足条件 \ No newline at end of file diff --git a/docs/apps/moodle.md b/docs/apps/moodle.md index 8aea6d68..b965617a 100644 --- a/docs/apps/moodle.md +++ b/docs/apps/moodle.md @@ -14,93 +14,45 @@ import Meta from './_include/moodle.md'; ## 入门指南{#guide} -### 初始化{#wizard} +### 登录后台{#wizard} -Websoft9 控制台安装 Moodle 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 +1. Websoft9 控制台安装 Moodle 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 -1. 使用本地电脑的浏览器访问,进入引导首页 +2. 点击右上角 "Login" 按钮,登陆进入 Moodle 后台 + ![](./assets/moodle-backend-websoft9.png) -2. 点击【login】 ,进入登陆页面 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-install2-websoft9.png) +### 注册官方会员{#register} -3. 登陆成功后,进入 Moodle 后台 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-install3-websoft9.png) +Moodle 初始化之后,建议向 Moodle 官方注册会员,便于在线安装插件 -Moodle 旗下其他产品说明: +1. 以管理员身份登录 Moodle 后台,依次打开:【网站管理】>【注册】 -* Moodle LMS:开源的在线学习系统 -* Moodle Workplace:Moodle LMS + 高级功能,不开源 -* MoodleCloud:Moodle LMS 托管服务,即 SaaS 版 -* Moodle App:移动端 -* MoodleNet:共享和管理开放教育资源 - -### 向 Moodle 注册你的网站{#register} - -Moodle 初始化之后,建议注册为 Moodle 官方会员以便获取升级通知,课程共享,在线安装插件等 - -1. 以管理员身份登录 Moodle 后台 -2. 依次打开:【网站管理】>【注册】 - ![Moodle 注册](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-registermd-websoft9.png) 3. 注册完成后登陆,这样你的 Moodle 与官方便建立了一个连接关系 -### 移动端{#client} - -1. 以管理身份登录 Moodle 后台 - -2. 依次打开:【网站管理】>【移动应用程序】>【移动设备设置】 - ![moodle-apps](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-app-1-websoft9.jpg) - -3. 将【为移动设备启用网络服务】设为 **启用** 状态; - ![moodle-apps](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-app-2-websoft9.jpg) - -4. 安装 [Moodle 手机客户端](https://download.moodle.org/mobile/) - -5. 打开后在地址栏输入 Moodle 的访问地址,就可以开始使用移动端 - ![moodle-apps](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-mobile-websoft9.png) - -### 插件{#plugin} - -Moodle 是一个非常灵活的平台,大部分核心功能以插件的形式存在,系统默认安装了400多个插件。同时,官方提供了[插件市场](https://moodle.org/plugins/)供用户作用更多功能扩展。 - -1. [注册 Moodle 官方账号](#register),打通你的 Moodle 与官方的连接,便于在线安装插件。 - -2. 以管理员身份登录 Moodle 后台 - -3. 依次打开:【网站管理】>【插件】,会看到**安装插件**和**插件概况**两个链接 - ![moodle 插件](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-plugins-websoft9.png) - - * 安装插件:安装新插件入口 - * 插件概况:查看已经安装的插件列表 -4. 点击【安装插件】,提供**从Moodle插件目录安装插件**和**从ZIP文件中安装插件**两种安装插件的方式 - ![moodle 安装插件](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-pluginsmk-websoft9.png) +### 安装插件{#plugin} - * 从Moodle插件目录安装插件:自动跳转并登录到 Moodle 的[官方插件市场](https://moodle.org/plugins/),便可以在线安装 - * 从ZIP文件中安装插件:需提前下载插件压缩文件,再从此处**上传**安装 - -5. 点击【插件概况】,列出默认安装的插件,可以进行停用、卸载等操作 - ![moodle 插件概况](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-plugininfo-websoft9.png) - -### 主题{#theme} +1. 以管理员身份登录 Moodle 后台 -Moodle 主题实际上是一个插件,因此需要安装新主题,必须通过【安装插件】的方式先进行安装。 +2. 依次打开:【网站管理】>【插件】,查看或安装插件 -1. 以管理员身份登录 Moodle +3. 支持两种插件的安装方式: + + - 在线安装:从 Moodle 插件目录安装插件 + - 离线安装:上传 zip 文件安装 -2. 依次打开:【网站管理】>【插件】,进入[插件市场](https://moodle.org/plugins/)后,选择【Theme】类型的插件,并下载 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-mktheme-websoft9.png) +### 安装主题{#theme} -3. 在线安装所需的主题 +1. Moodle 主题实际上是一个插件,通过【安装插件】的方式先进行安装 -4. 打开【网站管理】>【外观】>【主题选择器】 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-addtheme001-websoft9.png) +2. 打开【网站管理】>【外观】>【主题选择器】,更换主题 -5. 点击【更改主题】即可完成主题更换 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-addtheme002-websoft9.png) ## 配置选项{#configs} -- 配置文件:/path/config.php +- [插件](https://moodle.org/plugins/)(✅) +- [主题](https://moodle.org/plugins/)(✅):主题也是插件的一种类型 +- 配置文件(已挂载):*/bitnami/moodle/config.php* - 媒体文件(✅) - 多语言(✅):【Site administration】>【language】>【Language Packs】 - SMTP(✅):【网站管理】>【服务器】>【电子邮件】>【发送邮件设置】 @@ -112,38 +64,16 @@ Moodle 主题实际上是一个插件,因此需要安装新主题,必须通 $ sudo -u apache /usr/bin/php admin/cli/install.php --help ``` - [Core APIs](https://docs.moodle.org/dev/Core_APIs) +- 在线备份:【网站管理】>【课程】>【备份】 ## 管理维护{#administrator} - -### 修改 URL{#url} - -配置文件的配置项:$CFG->wwwroot 设置 URL - -### HTTPS 额外设置{#https} - -配置文件的配置项:$CFG->wwwroot 设置 URL - ### 找回密码 Moodle 支持邮件找回密码。如果没有配置邮件,需通过修改数据库的方式找回密码: -1. 使用 phpMyAdmin 等可视化工具,修改数据库的 *mdl_user* 表 +1. 使用 phpMyAdmin 等可视化工具,修改 Moodle 数据库的 *mdl_user* 表 2. 编辑【admin】用户,将其中的 `password` 字段的值用 `21232f297a57a5a743894a0e4a801fc3` 替换 3. 点击【执行】,新的密码就被重置为`admin` -### 在线备份 - -课程是 Moodle 最重要的资源,Moodle 后台提供了自动备份课程的功能 - -1. 以管理员身份登录 Moodle 后台 - -2. 依次打开:【网站管理】>【课程】>【备份】,开始进行备份设置 - ![Moodle 课程备份](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-coursebk-websoft9.png) - -3. 详细设置请自行研究 - -4. 依次打开:【网站管理】>【报表】>【备份】,查看备份执行情况 - ![Moodle 查看备份](https://libs.websoft9.com/Websoft9/DocsPicture/zh/moodle/moodle-coursebkrp-websoft9.png) - ## 故障 \ No newline at end of file diff --git a/docs/apps/mosquitto.md b/docs/apps/mosquitto.md index fcd9c84a..5ba0899e 100644 --- a/docs/apps/mosquitto.md +++ b/docs/apps/mosquitto.md @@ -35,7 +35,7 @@ Mosquitto 开启认证有[多种方式](https://mosquitto.org/documentation/auth ## 配置选项{#configs} -- 配置文件:mosquitto.config +- 配置文件(已挂载):*/mosquitto/config/mosquitto.conf* - 用户认证(√) ## 管理维护{#administrator} diff --git a/docs/apps/mqttx.md b/docs/apps/mqttx.md index fbf98718..00d5bc1d 100644 --- a/docs/apps/mqttx.md +++ b/docs/apps/mqttx.md @@ -13,39 +13,43 @@ import Meta from './_include/mqttx.md'; ## 入门指南{#guide} -### 初始化{#wizard} +### 测试访问{#wizard} -Websoft9 控制台安装 MQTTX 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 +1. Websoft9 控制台安装 MQTTX 后,通过【我的应用】管理应用,在**访问**标签页中获取访问信息。 -### 集成 RabbitMQ +2. 创建一个连接 + + - Client ID 是自动生成的 + - 服务器地址:协议和地址、端口是被连接的服务的值 -1. 准备好 RabbitMQ + ![](./assets/mqttx-connection-websoft9.png) - - Websoft9 应用商店安装 RabbitMQ - - RabbitMQ 容器命令行启用插件 - ``` - rabbitmq-plugins enable rabbitmq_mqtt - rabbitmq-plugins enable rabbitmq_web_mqtt - ``` +### 集成 RabbitMQ -2. MQTTX 连接 RabbiMQ,并测试 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mqttx/mqttx-connect-rabbitmq-websoft9.png) +1. 准保 RabbitMQ + 1. Websoft9 应用商店安装 RabbitMQ + 2. RabbitMQ 容器命令行启用插件 + ``` + rabbitmq-plugins enable rabbitmq_mqtt + rabbitmq-plugins enable rabbitmq_web_mqtt + ``` -### 集成 EMQX +2. MQTTX 中新建 RabbiMQ 连接,确保主机、端口、账号和连接协议准确 -1. 准备好 EMQX +### 集成 EMQX - - Websoft9 应用商店安装 EMQX - - EMQX 配置 WebSocket 客户端连接,需开放 WebSocket 端口 +1. 准备 EMQX - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mqttx/mqttx-config-emqx-websoft9.png) + 1. Websoft9 应用商店安装 EMQX + 2. EMQX Dashboard 打开:"问题分析" > "WebSocket 客户端" 页面,为默认的 WebSocket 连接设置**用户名、密码和协议版本** -2. MQTTX 连接 EMQX,并测试 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mqttx/mqttx-connect-emqx-websoft9.png) +2. MQTTX 中新建 EMQX 连接,确保主机、端口、账号和连接协议准确 ## 配置选项{#configs} -## 管理维护{#administrator} +- 多语言(√) + +## 管理维护{#administrator} ## 故障 \ No newline at end of file diff --git a/docs/apps/mysql.md b/docs/apps/mysql.md index 0ba10dbc..a14e34ab 100644 --- a/docs/apps/mysql.md +++ b/docs/apps/mysql.md @@ -14,29 +14,29 @@ import Meta from './_include/mysql.md'; ## 入门指南{#guide} -### 初始化{#wizard} +### 测试可用性{#wizard} Websoft9 控制台安装 MySQL/MariaDB 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 -1. 在容器中运行数据库登陆命令,连接数据库 +1. 进入 MySQL 容器的命名模式,登录测试可用性 ``` mysql -uroot -p ``` -2. 登录成功会显示如下信息 - ![](http://libs.websoft9.com/Websoft9/DocsPicture/en/mysql/mysql_command.png) +2. 登录成功会进入 MySQL 客户端模式 -### Web 可视化管理 +### 图形化工具 + +Websoft9 应用商店安装 [phpMyAdmin](./phpmyadmin) 或 [CloudBeaver](./cloudbeaver#mysql) 后,可以在**不需要开启外网**的情况下管理 MySQL -- [phpMyAdmin](./phpmyadmin) -- [CloudBeaver](./cloudbeaver#mysql) ## 配置选项{#configs} -- 配置文件目录:/etc/mysql/conf.d -- 初始化脚步目录:/docker-entrypoint-initdb.d +- 配置文件目录(已挂载):/etc/mysql/conf.d +- 初始化脚步目录(已挂载):/docker-entrypoint-initdb.d - 端口:3306 +- 主从复制(√):DDL 和 DML 操作通过二进制日志复传到从库,支持一主多从 - 数据库主机名:容器名 -- 外网端口:docker-compose 端口绑定 +- 外网端口:安装时用户自定义选 - [Connectors and APIs](https://dev.mysql.com/doc/index-connectors.html) - 命令行 * mysql @@ -53,7 +53,7 @@ Websoft9 控制台安装 MySQL/MariaDB 后,通过【我的应用】管理应 ### 设置 Binary Log -MySQL默认没有开启 Binary Log,修改 [MySQL 配置文件](#path)相关项 +MySQL默认没有开启 Binary Log,修改 [MySQL 配置文件] (#configs)相关项 ``` log_bin = mysql-bin # enable Binary log @@ -80,28 +80,25 @@ mysqladmin -u 用户名 -p 旧密码 password '新密码' ### 重置密码 -MySQL 容器重置密码的主要步骤描述: +通过临时容器重置密码: -1. 停止 MySQL 容器,运行一个新的临时 MySQL 容器,使用原 MySQL 的数据 -2. 在临时容器中修改密码 -3. 恢复原 MySQL 容器 +1. 停止 MySQL 容器,运行一个新的临时 MySQL 容器与旧容器共享存储目录 +2. 在临时容器中修改密码,再删除临时容器 +3. 恢复运行原 MySQL 容器 ### 备份(导出) -1. 使用 phpMyAdmin等可视化工具,[导出](./phpmyadmin#exportimport)数据库(建议SQL格式) +- 推荐使用 phpMyAdmin等可视化工具,[导出](./phpmyadmin#exportimport)数据库(建议SQL格式) -2. 或使用 **mysqldump** 工具导出(效率更高,通用性更强) +- 开发者可以使用 **mysqldump** 工具导出(效率更高,通用性更强) ``` mysqldump -uroot -p databasename>databasename.sql ``` -3. 将备份文件下载到本地,备份工作完成 - ### 恢复(导入) 1. 登录 phpMyAdmin,打开顶部的【导入】标签页,根据向导开始导入 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mysql/phpmyadmin-import-websoft9.png) 2. 导入过程中可能会出现数据库字符集不兼容的情况,需要人工干预处理 @@ -112,22 +109,25 @@ MySQL 到 MySQL 的迁移,通常可以通过数据的**导入导出**快速实 但是,其他 DBMS 到 MySQL 的迁移最好是使用迁移工具,例如:[MySQL Workbench: Database Migration](https://www.mysql.com/products/workbench/migrate/) -### 主从复制 -MariaDB 主从复制是将主数据库的 DDL 和 DML操作通过二进制日志传到复制服务器(也叫从库),然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 +### 审计 -MariaDB 支持一台主库向多台从库进行复制,从库同时也可以作为其他服务器的主库,实现链状架构。 +1. 安装 **[Maria Audit Plugin](https://mariadb.com/kb/en/mariadb-audit-plugin/)** 插件 +2. 设置审计日志路径 -主从复制应用场景: -* 主库出现问题,可以快速切换到从库提供服务 -* 从库上执行查询操作,降低主库的访问压力 -* 从库上执行备份,避免备份期间影响主库的服务 +## 问题与故障 -> 由于复制是异步的或半同步的,所以主从之间的数据总是存在一定的差距。 +#### 如何分析数据库日志? +Mariadb 日志是记录 MariaDB 数据库日常操作和错误信息的文件,可以分为: -## 故障 +* 二进制日志(Binlog):记录所有操作数据库的动作,适用于恢复数据库 +* 错误日志:适用于诊断问题 +* 慢查询日志:记录执行效率较低的查询语句 +* 通用查询日志:记录所有的查询操作 + +从排查故障的角度看,**错误日志和慢查询日志**是需要重点考虑的日志对象。 #### 导入数据库报错? @@ -154,31 +154,21 @@ free -lh docker logs container_name ``` -#### 日志太大,磁盘空间不足?{#binlogexceed} - -默认安装,MySQL 没有开启 binlog。 - -binlog 是一个二进制格式的文件,用于记录用户对数据库**更新的****SQL语句****信息**,例如更改数据库表和更改内容的SQL语句都会记录到binlog里。 - -binlog 可用于出现没有备份的情况下,恢复数据库。 - -binlog会占用较大空间,如果用户开启binlog后长期不清理会让剩余磁盘空间为0,从而影响数据库或服务器无法启动 - -关闭 binlog,只需在配置文件中注释它 `#log_bin=mysql-bin ` +#### 日志导致磁盘空间不足?{#binlogexceed} +- 手工清理日志 +- 考虑注释配置文件项 `#log_bin=mysql-bin` 关闭 binlog #### 数据文件超过上限? -当单个数据文件超过上线时,会导致数据库无法启动。 - -此时,需增加磁盘或增加一个新的数据文件地址 +当单个数据文件超过上线时,会导致数据库无法启动。此时,需增加磁盘或增加一个新的数据文件地址 ``` innodb_data_file_path= /data/mysql/data1:2000M;/data2/mysql/data2:2000M:autoextend ``` #### MySQL 容器无法远程访问? -导致这个问题的可能原因有三点: +可能原因有三点: 1. 端口映射设置错误,导致容器没有网络 2. 容器没有开启远程访问权限 @@ -189,7 +179,7 @@ innodb_data_file_path= /data/mysql/data1:2000M;/data2/mysql/data2:2000M:autoexte 错误:"Access denied; you need the SUPER privilege for this operation" 原因:mysqlamdin 命令需 SUPER 权限,而普通用户默认没有这个权限。 -#### 删除数据库中的所有表失败? +#### 无法删除所有表? 数据表之间的**外键约束**导致有些数据表无法删除 @@ -201,348 +191,4 @@ innodb_data_file_path= /data/mysql/data1:2000M;/data2/mysql/data2:2000M:autoexte ``` MariaDB [(none)]> show innodb status \G; -``` - -## 原理学习 - - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-structure-websoft9.png) - -对于 MySQL/MariaDB 管理员来说,需要掌握的知识要点包括: - -* MySQL/MariaDB 安装 -* SQL 语句 -* 基础概念:存储引擎、字符集 -* 可视化管理:使用 phpMyAdmin 等可视化工具管理数据库 -* 高级管理技术:升级、客户端工具使用、日志管理、备份恢复、监控 -* 优化技术:锁、连接池、并发参数、负载均衡、集群、主从、读写分离 -* 安全技术:注入 - -下面,我们把以上要点做一个简单的阐述,希望对你的学习有一定的帮助。 - - -### 基础概念 - -数据库系统与应用软件系统有着较大的差异,它是存储、检索和计算海量规范化数据的系统,因此它有些独特的基本概念需要用户了解: - -#### SQL - -SQL 是数据库的一种操作语言(命令),只要登录到数据库后,就可以使用它来操作数据库 - -* 在命令行下,直接可以运行 SQL 语句 -* 在可视化下,打开【运行SQL】的窗口,就可以运行 SQL 语句 - - -SQL 主要分为三种类型: - -1. 数据库定义语言(DDL):主要用于创建或修改数据库、数据段、表、列、索引等对象,主要包括 create、drop、alter 等 -2. 数据库操纵语言(DML):主要用于添加或更新数据库记录等,主要包括 insert、delete、update 等 -3. 数据库控制语句(DCL):主要用于控制权限和访问,主要包括 grant、revoke 等 - -下面是一些常用的 SQL 命令: - -``` -# 登录数据库 -mysql -u root –p -Enter password: - - -MariaDB> create database dbname;     #特别注意有分号 -MariaDB> show  databases;            #查看数据库 -MariaDB> exit;                       #退出数据库控制台,特别注意有分号 -MariaDB> drop database 数据库名称;    #删除数据库 -MariaDB> show databases;            #查看数据库 -MariaDB> alter table tablename raname mytable            #更改表名称 -``` - -在学习中,我们无需熟记每一条语句,而是要有能力根据官方参考手册去定位"做什么事情可能会采用什么语句"。 - -#### SQL 模式 - -SQL 模式是 SQL 的标准。由于不同厂商、不同的发展阶段,导致有不同的 SQL 标准出现。 - -比较流行的 SQL Mode 包括:ANSI、TRADITIONAL 和 STRICT_TRANS_TABLES 等 - -#### 存储引擎 - -MariaDB 存储引擎就是指数据库表的类型,存储引擎决定了表在计算机中的存储方式。 - -运行 `show engines;` 命令,就会列出所有支持的存储引擎类型: - -``` -MariaDB [(none)]> show engines; -+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+ -| Engine | Support | Comment | Transactions | XA | Savepoints | -+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+ -| CSV | YES | Stores tables as CSV files | NO | NO | NO | -| MRG_MyISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | -| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | -| Aria | YES | Crash-safe tables with MyISAM heritage. Used for internal temporary tables and privilege tables | NO | NO | NO | -| MyISAM | YES | Non-transactional engine with good performance and small data footprint | NO | NO | NO | -| SEQUENCE | YES | Generated tables filled with sequential values | YES | NO | YES | -| InnoDB | DEFAULT | Supports transactions, row-level locking, foreign keys and encryption for tables | YES | YES | YES | -| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | -+--------------------+---------+-------------------------------------------------------------------------------------------------+--------------+------+------------+ -8 rows in set (0.000 sec) -``` - -值得注意的是,只有 **InnoDB** 引擎才支持 **事务处理**。 - -#### 字符集 - -MySQL的字符集问题主要是两个概念,一个是 **Character Sets**,一个是 **Collations**,前者是字符内容及编码,后者是对前者进行校对的规则。这两个参数集可以在数据库实例、单个数据库、表、列,连接等四个级别指定。 - -运行 `SHOW CHARACTER SET;` 命令,就会列出所有支持的存储引擎类型: - -``` -MariaDB [(none)]> SHOW CHARACTER SET; -+----------+-----------------------------+---------------------+--------+ -| Charset | Description | Default collation | Maxlen | -+----------+-----------------------------+---------------------+--------+ -| big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 | -| dec8 | DEC West European | dec8_swedish_ci | 1 | -| cp850 | DOS West European | cp850_general_ci | 1 | -| hp8 | HP West European | hp8_english_ci | 1 | -| koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 | -| latin1 | cp1252 West European | latin1_swedish_ci | 1 | -| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | -| swe7 | 7bit Swedish | swe7_swedish_ci | 1 | -| ascii | US ASCII | ascii_general_ci | 1 | -| ujis | EUC-JP Japanese | ujis_japanese_ci | 3 | -| sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 | -| hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 | -| tis620 | TIS620 Thai | tis620_thai_ci | 1 | -| euckr | EUC-KR Korean | euckr_korean_ci | 2 | -| koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 | -| gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 | -| greek | ISO 8859-7 Greek | greek_general_ci | 1 | -| cp1250 | Windows Central European | cp1250_general_ci | 1 | -| gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | -| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 | -| armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 | -| utf8 | UTF-8 Unicode | utf8_general_ci | 3 | -| ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 | -| cp866 | DOS Russian | cp866_general_ci | 1 | -| keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 | -| macce | Mac Central European | macce_general_ci | 1 | -| macroman | Mac West European | macroman_general_ci | 1 | -| cp852 | DOS Central European | cp852_general_ci | 1 | -| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 | -| utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 | -| cp1251 | Windows Cyrillic | cp1251_general_ci | 1 | -| utf16 | UTF-16 Unicode | utf16_general_ci | 4 | -| utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 | -| cp1256 | Windows Arabic | cp1256_general_ci | 1 | -| cp1257 | Windows Baltic | cp1257_general_ci | 1 | -| utf32 | UTF-32 Unicode | utf32_general_ci | 4 | -| binary | Binary pseudo charset | binary | 1 | -| geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 | -| cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 | -| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 | -+----------+-----------------------------+---------------------+--------+ -40 rows in set (0.000 sec) -``` - -字符集其实就是一套文字符号及编码,对应的文字及编码,可以将人类可以识别的内容与计算机可以识别的信息进行互相转换。 - -#### 视图 - -视图(View)是从一个或多个表中导出来的新表,且这个表是虚拟表。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-whatisview-websoft9.png) - -视图的基本上起着类似筛选的作用,并避免重复建表。 - - -#### 索引 - -索引(Index)顾名思义是为了便于快速检索数据而建立的指向表(专业术语称之为:指针),类似新华字典中的音序表。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-whatisindex-websoft9.png) - -#### 触发器 - -触发器(Triggers)是由 Insert、Update、Delete 等事件触发的某种特定操作,满足这些触发器的触发条件时,数据库系统就会执行触发器自定义的程序语句。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-whatistrigger-websoft9.png) - -#### 事务 - -事务(Transaction)主要用于处理操作量大,复杂度高的数据。比如说,在人事系统中,你删除一个员工,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如工资条,考勤数据等等,这样,这些数据库操作语句就构成一个事务。 - -事务以 begin 语句开始,以 commit 语句结束: - -``` -mysql> begin; # 开始事务 -Query OK, 0 rows affected (0.00 sec) - -mysql> insert into runoob_transaction_test value(5); -Query OK, 1 rows affected (0.01 sec) - -mysql> insert into runoob_transaction_test value(6); -Query OK, 1 rows affected (0.00 sec) - -mysql> commit; # 提交事务 -Query OK, 0 rows affected (0.01 sec) -``` - -一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。 - -通俗的解释如下:**“要么成功,要么不成功后复原。”** - -#### 存储过程 - -存储过程(Procedure)就是在数据库中预先编写基于 SQL 的程序段,以便应用程序调用。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-whatisprocedure-websoft9.png) - -既然是程序段,它当然会支持常见的程序语法:函数、条件判断、循环等。 - -通俗的解释:“数据库 SQL 编程” - -#### 分区 - -分区(Partition)是一种物理数据库设计技术,主要把逻辑上的单个表从物理上划分为数十个物理分区。 - -其主要目的是为了在特定的 SQL 操作中减少数据读写的总量以缩减响应时间。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-whatispartition-websoft9.png) - -### 高级管理 - -#### 用户权限 - -MariaDB 用户主要包括 root 用户和普通用户,其中 root 用户即管理员,它具有最高级的数据库权限。 - -> 一般来说,用户不会去更改 root 用户的设置,下面我们重点介绍普通用户。 - -用户管理包含两方面的知识要点: - -* 用户账号信息 -* 用户账号权限 - -在 MariaDB 中,一个用户的账号是有:**username:host:password** 三个部分组成的。 - -MariaDB 默认有一个名为 **mysql** 的数据库,它的下面存储的都是用户账号、用户权限相关的表,用户登录数据库,就根据这些表来判断用户具备哪些权限,从而实现权限控制。 - -与用户权限有关的表包括(按优先级排序): - -【user】>【db】>【host】>【table-priv】>【columns-priv】>【proc-priv】 - -权限大小维度看,又依次为:系统、数据库、表、视图、索引、存储过程等 - -下面是 user 表的表结构信息: - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-usertable-websoft9.png) - -有一个特殊命令 **grant**,它是用于给其他用户(包括自身)授权的命令操作。 - -#### 备份还原 - -先明确与备份有关的名词: - -从备份的对象数据格式来说,备份分为: - -* 逻辑备份:将数据库【导出】而实现的备份 -* 物理备份:拷贝数据库的物理文件而实现的备份 - -从备份时数据库状态来说,备份又可以分为: - -* 冷备份:数据库停机后备份 -* 热备份:数据库不停机备份(必须保持数据的完整性) - -MariaDB 支持三种备份和还原方式: - -* 备份恢复工具:mysqldump 或 mysqlhotcopy 等 -* 复制数据目录 -* 导出导入表 - -mysqldump 是官方提供的命令,简单实用: - -``` -# 分别备份一个、多个和所有数据库 -mysqldump -u usename -p dbname > dbname.sql -mysqldump -u usename -p dbname1 dbname12 > dbname.sql -mysqldump -u usename -p --all-database > all-database.sql -``` - -#### 日志 - -Mariadb 日志是记录 MariaDB 数据库日常操作和错误信息的文件,可以分为: - -* 二进制日志(Binlog) -* 错误日志 -* 慢查询日志 -* 通用查询日志 - -二进制日志记录所有操作数据库的动作,适用于恢复数据库; -错误日志适用于诊断问题; -慢查询日志用于记录执行效率较低的查询语句; -通用查询日志记录所有的查询操作; - -从排查故障的角度看,错误日志和慢查询日志是需要重点考虑的日志对象。 - -#### 监控 - -数据库监控主要是通过监控工具,主动发现异常,并推动后续的故障运维流程。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-monitorgui-websoft9.png) - -数据库监控相关的开源软件包括: - -* Nagios -* Cacti -* Zabbix -* Ganglia - -#### 优化 - -优化是通过分析数据库的某个时间周期的状况,通过参数调整和计算资源改善实现数据库性能的提升。 - -下面我们重点介绍优化入门方法: - -1. 登录 MariaDB 数据库 -2. 运行 `show status like 'vaule' ` 语句查看性能相关的参数,诊断整体性能 - ``` - MariaDB [(none)]> show status like 'connections'; - +---------------+-------+ - | Variable_name | Value | - +---------------+-------+ - | Connections | 12 | - +---------------+-------+ - 1 row in set (0.000 sec) - ``` - * connection: 连接次数 - * uptime: 服务器上线时间 - * slow_queries: 慢查询次数 - * com_select:查询操作次数 - * com_insert: 插入操作次数 - * com_update:更新操作次数 - * com_delete:删除操作次数 - -3. 采用索引和视图减少数据库检索 -4. 将大表(字段很多)拆分成多个小表 -5. 分析和优化表 `analyze table name;` -6. 优化服务器配置 -7. 优化 my.cnf 中的缓存和内存配置项(**高手才能驾驭**) - -#### 安全 - -数据库独特的安全风险来源于 **SQL 注入** 问题。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-whatissqlinject-websoft9.png) - -#### 审计 - -全球数字经济发展蓬勃,伴随的数据安全成为重大的隐患。各国目前都出台了与网络安全相关的法律,对于数据保护、隐私管理作出了明确的规定。 - -数据库的安全是重中之重。数据库审计是对数据库资源利用率和权限的跟踪,特别是监视和记录用户数据库操作,审计满足日益严格的合规性要求。 - -审计可以基于多种因素,包括单个操作(例如,执行的SQL语句的类型),也可以基于多种因素的组合(例如,用户名,应用程序,时间等)。执行常规的数据库日志分析可以增强内部安全措施通过回答诸如谁更改了关键数据,何时更改关键数据等问题。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/mariadb/mariadb-audit-websoft9.png) - -如何开始启动 MariaDB 的审计呢? - -1. 安装 **[Maria Audit Plugin](https://mariadb.com/kb/en/mariadb-audit-plugin/)** 插件 -2. 设置审计日志路径 +``` \ No newline at end of file diff --git a/docs/apps/n8n.md b/docs/apps/n8n.md index 77741ab2..5b507385 100644 --- a/docs/apps/n8n.md +++ b/docs/apps/n8n.md @@ -19,7 +19,7 @@ Websoft9 控制台安装 n8n 后,通过【我的应用】管理应用,在** ## 配置选项{#configs} -- 配置文件: 应用**编排**目录中的 ./src/my-config.json +- 配置文件(已挂载): */home/node/.n8n/my-config.json* ## 管理维护{#administrator} diff --git a/docs/apps/neo4j.md b/docs/apps/neo4j.md index 8757c830..ea8583d5 100644 --- a/docs/apps/neo4j.md +++ b/docs/apps/neo4j.md @@ -12,37 +12,18 @@ import Meta from './_include/neo4j.md'; ## 入门指南{#guide} -### 初始化{#wizard} +### 访问 Neo4j Browser{#wizard} -Websoft9 控制台安装 Neo4j 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 +1. Websoft9 控制台安装 Neo4j 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 -#### 图形化管理 +2. 本地浏览器访问 Neo4j Browser,填写准确的 Connection URL、账号和密码,即可登录成功 + ![Neo4j 控制台](./assets/neo4j-ssui-websoft9.png) -Neo4j 提供了多种图形化工具,有基于 Web 的版本,也有支持 Windows, Linux, macOS 等 [Desktop](https://neo4j.com/download-center/) 版本。 +3. 左侧 Neo4j Browser Sync 菜单,点击 "Clear local data" 退出登录 -Neo4j Browser 是开发人员与图形进行交互的工具。它是Neo4j数据库的企业版和社区版的默认界面。 +### 命令行 Cypher Shell -1. 本地浏览器访问 Neo4j Browser -![Neo4j Browser](https://libs.websoft9.com/Websoft9/DocsPicture/zh/neo4j/neo4j-connectfirst-websoft9.png) - -2. 选择【bolt://】的URL模式,输入用户名和密码 -![修改Neo4j密码](https://libs.websoft9.com/Websoft9/DocsPicture/zh/neo4j/neo4j-snewpw-websoft9.png) - -> Pick neo4j:// for a routed connection, bolt:// for a direct connection to a DBMS. 选择 bolt:// 速度更快 - -3. 系统登录到控制台,初始化安装完成 -![Neo4j 控制台](https://libs.websoft9.com/Websoft9/DocsPicture/zh/neo4j/neo4j-ssui-websoft9.png) - -4. 通过:【Database Information】>【server user add】 增加新用户 -![Neo4j 增加用户](https://libs.websoft9.com/Websoft9/DocsPicture/zh/neo4j/neo4j-adduser-websoft9.png) - -5. 通过:【Cloud Services】>【Clear local data】 退出 Neo4j Browser -![Neo4j 增加用户](https://libs.websoft9.com/Websoft9/DocsPicture/zh/neo4j/neo4j-loginout-websoft9.png) - - -#### 命令行连接 - -1. 进入 Neo4j 容器所在的服务器,输入 `cypher-shell` 命令,并登录 +1. 进入 Neo4j 容器的命令模式,输入 `cypher-shell` 命令 ``` $cypher-shell @@ -66,107 +47,30 @@ Neo4j Browser 是开发人员与图形进行交互的工具。它是Neo4j数据 1 row available after 22 ms, consumed after another 1 ms ``` -### 用户管理 - -Neo4j 提供了详细的 [User and role management](https://neo4j.com/docs/cypher-manual/current/administration/security/users-and-roles/#administration-security-users) 功能(仅企业版支持) - -``` -# 显示所有用户 -SHOW USERS; -CALL dbms.security.listUsers(); +3. 用户管理命令(仅企业版) + ``` + # 显示所有用户 + SHOW USERS; + CALL dbms.security.listUsers(); -# 创建新用户,第三个参数表示 requridchangepassword -CALL dbms.security.createUser('username','password',false); - -# 删除用户 -CALL dbms.security.deleteUser('username'); -``` - -### Cypher Shell - -Neo4j 提供了默认的命令行工具[Cypher Shell](https://neo4j.com/docs/operations-manual/current/tools/cypher-shell/),Cypher Shell用于运行查询和执行管理任务。它通过加密的二进制协议Bolt进行通信。 - -``` -root@neo4j-test:~# cypher-shell -username: neo4j -password: ***** -Connected to Neo4j 3.5.14 at bolt://localhost:7687 as user neo4j. -Type :help for a list of available commands or :exit to exit the shell. -Note that Cypher queries must end with a semicolon. -neo4j> -``` - - -### neo4j-admin - -[Neo4j Admin](https://neo4j.com/docs/operations-manual/current/tools/neo4j-admin/) is the primary tool for managing your Neo4j instance. It is a command-line tool that is installed as part of the product and can be executed with a number of commands. Some of the commands are described in more detail in separate sections. - -## 配置选项{#configs} + # 创建新用户,第三个参数表示 requridchangepassword + CALL dbms.security.createUser('username','password',false); -- 开启远程访问:配置文件中增加配置段 `dbms.default_listen_address=0.0.0.0` -- [配置文件](https://neo4j.com/docs/operations-manual/current/configuration):*/path/neo4j.conf* -- 端口说明:[Port on Configuration file](https://neo4j.com/docs/operations-manual/current/configuration/ports/) -- 命令行:[Neo4j Tools](https://neo4j.com/docs/operations-manual/current/tools/) -- [The Neo4j REST API Documentation](https://neo4j.com/docs/rest-docs/current/) - -## 管理维护{#administrator} - -### 修改密码 - -修改密码只需登录服务器后运行一条命令即可: - -下面的示例是将旧密码`neo4j`更改为新密码`neo4j123`: - - ``` - echo " - ALTER CURRENT USER SET PASSWORD FROM 'neo4j' TO 'neo4j123'; - " | cypher-shell -u neo4j -p neo4j -d system - ``` - -### 找回密码 - -Neo4j 官方提供 [Password and user recovery](https://neo4j.com/docs/operations-manual/current/configuration/password-and-user-recovery/) 方案: - -1. 配置文件临时去掉验证(增加配置段 `dbms.security.auth_enabled=false` ) -2. 设置密码,再复原配置文件 - - -## 故障 - -#### 连接数据库报错? + # 删除用户 + CALL dbms.security.deleteUser('username'); + ``` -问题描述:Neo4j Browser 连接数据库报错。 -原因分析:您的服务器对应的**安全组端口**没有开启(入规则),导致无法连接数据库 - -#### Roles 显示为空? - -Neo4j 社区版不支持 Roles,故显示为空 - -## 原理学习 - -Neo4j 是目前主流的图数据库(graph database)产品,图数据库用于存在数据关系,更有利于关系的优化管理,存储和遍历节点和关系。 - -对于 Neo4j 管理员来说,需要掌握的知识点包括: - -* 图数据库核心思想 -* Neo4j 架构 -* 可视化管理:Neo4j Browser, Neo4j Desktop等 -* 高级管理技术:升级、客户端工具使用、日志管理、备份恢复、监控 -* 优化技术:负载均衡、集群 -* 安全技术:授权与认证,用户管理 - -### 什么是图数据库? - -使用过传统关系型数据库(例如:MySQL)的同学非常明确,一个数据库 **大约等于** 多个数据表+表之间的关系。而图数据库(Graph database)理解起来却没那么直观,首先要明确的是图数据库与图片没有关系,即它不是用来存储图片的,也不是以图片的形式存储数据的。 - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/neo4j/graphdatabasearchitecture-vs-sql-websoft9.png) -图. 关系型数据库 vs 图数据库 +4. 修改密码 + ``` + cypher-shell -u neo4j -p neo4j -d system + ALTER CURRENT USER SET PASSWORD FROM 'neo4j' TO 'neo4j123'; + ``` -关系型数据库重点在于管理多个表,以及表中海量的数据,虽然名称为**关系型**,但实际上关系不是重点,重点是一行一行的数据。 +## 企业版 -图数据库恰恰相反,图数据库的重点是**管理一对一对的关系**。 +### 托管服务 -可能有些同学有疑问,难道关系也需要用到数据库来管理?当然,看看下面的场景: +Websoft9 可以为 Neo4j 企业版提供全面的采购与托管支持服务。 ### 应用场景 @@ -180,89 +84,47 @@ Neo4j 是目前主流的图数据库(graph database)产品,图数据库用 可见,图数据库就用来存储:**人-人, 物-物, 人-物** 之间的关系,用于推荐、知识图谱、效率等目的。 -在内卷化及其严重的今天,通过对各行各业关系的研究和分析,获取知识,从其中挖潜“数据金矿”,不失为一种差异化竞争的途径。 - -### 如何存储数据? - -图数据库的数据存储相关概念有:节点(标签,属性),关系(关系,关系类型)。 - -以下图为例: - -![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/neo4j/neo4j-graphdata-websoft9.png) - -* 一共有三个节点(两个 Person 节点,一个 Movie 节点),两个关系(两条边) -* 一共两个关系类型:ACTED_IN 和 DIRECTED -* 一共两个标签(节点类型或节点分组):Person 和 Movie -* Person 类型节点有两个属性:name 和 born -* Movie 类型节点有两个属性:title 和 released -* 关系类型 ACTED_IN 有一个属性 roles -* 两个关系中有方向,也称之路径(Path) - -学术上属性图的基本概念:一个属性图是由顶点(Vertex),边(Edge),标签(Lable),关系类型和属性(Property)组成的**有向图**。 - -### 数据库特征 - -Neo4j 作为一个数据库管理系统,与其他数据库管理系统有非常类似的基本[数据库定义](https://neo4j.com/docs/operations-manual/current/manage-databases/introduction/) - -* 数据库管理系统:Neo4j是一个数据库管理系统(DBMS),能够管理多个数据库。DBMS可以管理因果群集中的独立服务器或一组服务器。 - -* 数据库:目录或文件夹内组织的文件的物理结构,具有与数据库相同的名称。从逻辑上讲,数据库是一个或多个图形的容器。 - ![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/neo4j/manage-dbs-community.png) - - Neo4j 4.2的默认安装包含两个数据库: +## 配置选项{#configs} - * system-系统数据库,包含DBMS上的元数据和安全性配置。 - * neo4j-默认数据库,用于存储用户数据的数据库。 +- 多用户: [User and role management](https://neo4j.com/docs/cypher-manual/current/administration/security/users-and-roles/#administration-security-users) 仅企业版支持 -* Graph:数据库中的数据模型,每个数据中只有一个Graph(图) +- 开启远程访问:配置文件中增加配置段 `dbms.default_listen_address=0.0.0.0` -下面是数据库管理的命令: +- [配置文件](https://neo4j.com/docs/operations-manual/current/configuration)(已挂载):*/var/lib/neo4j/neo4j.conf* -| 命令 | 描述 | -| :------------------------- | :--------------------------- | -| `CREATE DATABASE name [企业版]` | 创建并启动一个新的数据库。 | -| `DROP DATABASE name [企业版]` | 删除(删除)现有数据库。 | -| `START DATABASE name` | 启动已停止的数据库。 | -| `STOP DATABASE name` | 关闭数据库。 | -| `SHOW DATABASE name` | 显示特定数据库的状态。 | -| `SHOW DATABASES` | 显示所有数据库的名称和状态。 | -| `SHOW DEFAULT DATABASE` | 显示默认数据库的名称和状态。 | -| `:use neo4j;` | 切换到 neo4j 库 | +- 端口说明:[Port on Configuration file](https://neo4j.com/docs/operations-manual/current/configuration/ports/) -### 部署 +- 工具:[Neo4j Tools](https://neo4j.com/docs/operations-manual/current/tools/) -Neo4j 是基于 Java 开发,因此运行它需要预先安装 JDK。 +- 命令行:[Cypher Shell](https://neo4j.com/docs/operations-manual/current/tools/cypher-shell/) -* Linux:官方提供 rpm/deb 包的安装方式 -* Windows/macOS:官方提供了一键安装包 -* Docker:DockerHub上有一个官方的 [Neo4j 映像](https://hub.docker.com/_/neo4j/) +- [Neo4j REST API](https://neo4j.com/docs/rest-docs/current/) -另外,官方提供无需安装的 [Neo4j Aura](https://neo4j.com/cloud/aura/?ref=menu) 托管平台,让用户专注于在线使用。 +- [Neo4j Admin](https://neo4j.com/docs/operations-manual/current/tools/neo4j-admin/) -### 集群 +- [Clustering](https://neo4j.com/docs/operations-manual/current/clustering/):企业版功能 -参考官方文档:[Clustering](https://neo4j.com/docs/operations-manual/current/clustering/) +- [Authentication and authorization](https://neo4j.com/docs/operations-manual/current/authentication-authorization/) -> 仅企业版支持集群 +## 管理维护{#administrator} -### Fabric -Neo4j Fabric 类型视图的概念,使用单个Cypher查询在多个数据库中存储和检索数据的方法。 +### 找回密码 -参考官方文档:[Neo4j Fabric](https://neo4j.com/docs/operations-manual/current/fabric/introduction/#fabric-introduction) +Neo4j 官方提供 [Password and user recovery](https://neo4j.com/docs/operations-manual/current/configuration/password-and-user-recovery/) 方案: -### 认证与授权 +1. 配置文件增加配置 `dbms.security.auth_enabled=false`,禁用密码验证 -参考官方文档:[Authentication and authorization](https://neo4j.com/docs/operations-manual/current/authentication-authorization/) +2. 重新设置密码后,复原配置文件 -### 安全 -参考官方文档:[Neo4j Security](https://neo4j.com/docs/operations-manual/current/security/) +## 故障 -### 监控与维护 +#### 连接数据库报错? -参考官方文档:[Monitoring](https://neo4j.com/docs/operations-manual/current/monitoring/) +问题描述:Neo4j Browser 连接数据库报错。 +原因分析:您的服务器对应的**安全组端口**没有开启(入规则),导致无法连接数据库 -### 性能 +#### Roles 显示为空? -参考官方文档:[Performance](https://neo4j.com/docs/operations-manual/current/performance/) \ No newline at end of file +Neo4j 社区版不支持 Roles,故显示为空 \ No newline at end of file diff --git a/docs/apps/nginx.md b/docs/apps/nginx.md index b735766b..d31c1fc8 100644 --- a/docs/apps/nginx.md +++ b/docs/apps/nginx.md @@ -65,8 +65,8 @@ Websoft9 控制台安装 NGINX 后,通过【我的应用】管理应用,在* ## 配置选项{#configs} -- NGINX 应用根目录:*/usr/share/nginx/html* -- NGINX 配置文件:*/etc/nginx/conf.d/default.conf* +- NGINX 应用根目录(已挂载):*/usr/share/nginx/html* +- NGINX 配置文件(已挂载):*/etc/nginx/conf.d/default.conf* - NGINX 最大打开文件数:通过 */etc/security/limits.conf* 设置 - NGINX 容器端口:80 - CLI:`nginx -h` diff --git a/docs/apps/nopcommerce.md b/docs/apps/nopcommerce.md index bdd3407d..edaac437 100644 --- a/docs/apps/nopcommerce.md +++ b/docs/apps/nopcommerce.md @@ -14,24 +14,33 @@ import Meta from './_include/nopcommerce.md'; ### 初始化{#wizard} -Websoft9 控制台安装 nopCommerce 后,通过【我的应用】管理应用,在**访问**标签页中获取登录信息。 +1. Websoft9 控制台安装 nopCommerce 后,通过【我的应用】管理应用 -1. 本地浏览器成功后,进入安装向导 - -2. 选择语言,设置管理员账号信息,填写数据库信息 - ![](http://libs.websoft9.com/Websoft9/DocsPicture/en/nopcommerce/nopcommerce-install-websoft9.png) + - 在**数据库**标签页中获取数据库信息 + ![](./assets/nopcommerce-getdbconns-websoft9.png) + + - 在**访问**标签页中获取访问 URL + +2. 打开访问 URL,开始初始化,其中首先设置管理员账号 -3. 点击安装,进入安装进程 - ![](http://libs.websoft9.com/Websoft9/DocsPicture/en/nopcommerce/nopcommerce-intalling-websoft9.png) +3. 接下来,填写数据库信息(此处需仔细填写) -4. 安装成功后,您会看到如下界面 - ![](http://libs.websoft9.com/Websoft9/DocsPicture/en/nopcommerce/nopcommerce-front-websoft9.png) + - 数据库类型:MySQL,并勾选 "如果不存在,创建数据库" + - 服务器名:第 1 步查看的内网主机 + - 数据库名称:`nopcommerce` + - 数据库用户名:`root` -5. 访问后台地址(Websoft9 控制台我的应用中查看),开始管理 NopCommerce - ![](http://libs.websoft9.com/Websoft9/DocsPicture/en/nopcommerce/nopcommerce-backend-websoft9.png) + ![](./assets/nopcommerce-setdbconns-websoft9.png) + +2. 耐心等待安装和 nopCommerce 自动重启过程(1-2分钟) + +3. 待前台页面可访问后,通过其右上角的 "Log in" 按钮登录,登录到后台 + ![](./assets/nopcommerce-backend-websoft9.png) ## 配置选项{#configs} +- 多语言(√) + ## 管理维护{#administrator} ## 故障 \ No newline at end of file diff --git a/docs/guide/service/purpose/smtp.md b/docs/guide/service/purpose/smtp.md index 7fb77a8b..bf0a4518 100644 --- a/docs/guide/service/purpose/smtp.md +++ b/docs/guide/service/purpose/smtp.md @@ -118,45 +118,34 @@ To configure your application to send email through SendGrid’s SMTP service, u Directmail 是阿里云的邮件推送服务,相对于免费邮箱来说,自主性更强,同时更稳定可靠。 -下面是Directmail的配置简要流程: +下面是 Directmail 的配置简要流程: -1. 登录阿里云邮件推送控制台,新增一个发信域名 - ![新增发信域名](https://libs.websoft9.com/Websoft9/DocsPicture/zh/aliyun/aliyun-dmailadd-websoft9.png) +1. 登录阿里云 Directmail 控制台,新增一个发信域名 -2. 根据域名配置要求,在域名控制台完成对应的域名解析,并点击“验证” - ![验证](https://libs.websoft9.com/Websoft9/DocsPicture/zh/aliyun/aliyun-dmailverify-websoft9.png) +2. 根据 Directmail 要求,在域名控制台完成域名解析,并“验证” -3. 验证通过后,设置发信地址 - ![设置发信地址](https://libs.websoft9.com/Websoft9/DocsPicture/zh/aliyun/aliyun-dmailsetsendm-websoft9.png) +3. 验证通过后,Directmail 控制台设置发信地址(一个发信域名支持多个发信地址) -4. 如果需要接受用户的邮件回复,可以针对此发件地址配套一个回信地址。 - -5. 完成所有配置后,您会得到一个如下的SMTP参数 +4. 完成所有配置后,您会得到一个如下的 SMTP 服务信息 ``` - SMTP地址:smtpdm.aliyun.com - SMTP用户名:norelpy@smtp.websoft9.cn - SMTP密码:******* - SMTP端口:465 需要启用ssl加密 - SMTP端口:80 无需加密 + Host:smtpdm.aliyun.com + User:norelpy@smtp.websoft9.cn + Password:******* + SSL Port:465 ``` ## SMTP 诊断 -SMTP 配置准确无误下,仍然无法发送邮件,请检查如下几个方面: +如果已经确认 SMTP 服务本身可用([SMTP Test Tool](https://www.gmass.co/smtp-test)),但应用仍然无法发送邮件,从几个方面开始诊断: -- 通过 Telnet 工具,连接 SMTP 服务。出现 **220 smtp.*.com Esmtp Mail Server** 或 **Escape character is '^]'** ,说明连接成功 +- 应用所在的服务器运行 `telnet` 命令 ,检查 SMTP 服务的连通性。下面是一个范例: ~~~ - //安装telnet - yum install telnet -y - - //示例1:测试qq邮箱 端口有465和587 telnet smtp.qq.com 465 - - //示例2:测试网易邮箱 端口有465和994 - telnet smtp.163.com 465 ~~~ -- 服务器安全组(出设置)是否禁止外部访问 -- 服务器系统 iptables,firewall 是否关闭 SMTP 所需的 465 等端口 -- OpenSSL 版本是否过低或者没有安装 CA 证书 + 出现 **220 smtp.*.com Esmtp Mail Server** 或 **Escape character is '^]'** ,说明连接成功 + +- 检查服务器安全组(出设置)是否禁止外部访问 +- 检查服务器 iptables,firewall 是否允许发起向外部 465 端口的连接 +- 检查应用程序的 OpenSSL 版本是否过低或 CA 证书与 SMTP 服务兼容性