mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-10-28 06:22:12 +08:00
feat: add scripts environment details design
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
This commit is contained in:
parent
ca543df323
commit
714d5036df
@ -1,5 +1,6 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=OPENIM OPENIM API
|
Description=OPENIM OPENIM API
|
||||||
|
Documentation=Control interface for the OpenIM API service.
|
||||||
Documentation=https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
|
Documentation=https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=OPENIM OPENIM CMDUTILS
|
Description=OPENIM OPENIM CMDUTILS
|
||||||
|
Documentation=Utility toolkit for common OpenIM command-line operations.
|
||||||
Documentation=https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
|
Documentation=https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=OPENIM OPENIM CRONTASK
|
Description=OPENIM OPENIM CRONTASK
|
||||||
|
Documentation=Manages the OpenIM CronTask service, with both direct and systemctl installation methods.
|
||||||
Documentation=https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
|
Documentation=https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
|||||||
@ -1,12 +1,13 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=OPENIM OPENIM PUSH
|
Description=OPENIM OPENIM PUSH
|
||||||
|
Documentation=Interface for controlling the OpenIM Push Notification service.
|
||||||
Documentation=https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
|
Documentation=https://github.com/OpenIMSDK/Open-IM-Server/blob/main/deployment/init/README.md
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
WorkingDirectory=${OPENIM_DATA_DIR}/openim-push
|
WorkingDirectory=${OPENIM_DATA_DIR}/openim-push
|
||||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-push
|
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_DATA_DIR}/openim-push
|
||||||
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
ExecStartPre=/usr/bin/mkdir -p ${OPENIM_LOG_DIR}
|
||||||
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-push --config=${OPENIM_CONFIG_DIR}/openim-push.yaml
|
ExecStart=${OPENIM_INSTALL_DIR}/bin/openim-push --port ${OPENIM_PUSH_PORT} --prometheus_port ${PUSH_PROM_PORT}
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
StartLimitInterval=0
|
StartLimitInterval=0
|
||||||
|
|||||||
@ -73,7 +73,7 @@ scripts/
|
|||||||
│ ├── swagger.mk # Make rules for swagger documentation
|
│ ├── swagger.mk # Make rules for swagger documentation
|
||||||
│ └── tools.mk # Make rules for tools and utilities
|
│ └── tools.mk # Make rules for tools and utilities
|
||||||
├── mongo-init.sh # Script to initialize MongoDB
|
├── mongo-init.sh # Script to initialize MongoDB
|
||||||
├── msg_gateway_start.sh # Script to start message gateway service
|
├── openim-msggateway.sh # Script to start message gateway service
|
||||||
├── msg_transfer_start.sh # Script to start message transfer service
|
├── msg_transfer_start.sh # Script to start message transfer service
|
||||||
├── path_info.sh # Script containing path information
|
├── path_info.sh # Script containing path information
|
||||||
├── openim-push.sh # Script to start push service
|
├── openim-push.sh # Script to start push service
|
||||||
|
|||||||
@ -27,7 +27,7 @@ trap 'openim::util::onCtrlC' INT
|
|||||||
|
|
||||||
need_to_start_server_shell=(
|
need_to_start_server_shell=(
|
||||||
"start_rpc_service.sh"
|
"start_rpc_service.sh"
|
||||||
"msg_gateway_start.sh"
|
"openim-msggateway.sh"
|
||||||
"openim-push.sh"
|
"openim-push.sh"
|
||||||
"msg_transfer_start.sh"
|
"msg_transfer_start.sh"
|
||||||
)
|
)
|
||||||
|
|||||||
@ -26,7 +26,7 @@ trap 'openim::util::onCtrlC' INT
|
|||||||
#fixme Put the shell scripts name here
|
#fixme Put the shell scripts name here
|
||||||
need_to_start_server_shell=(
|
need_to_start_server_shell=(
|
||||||
${SCRIPTS_ROOT}/start_rpc_service.sh
|
${SCRIPTS_ROOT}/start_rpc_service.sh
|
||||||
${SCRIPTS_ROOT}/msg_gateway_start.sh
|
${SCRIPTS_ROOT}/openim-msggateway.sh
|
||||||
${SCRIPTS_ROOT}/openim-push.sh
|
${SCRIPTS_ROOT}/openim-push.sh
|
||||||
${SCRIPTS_ROOT}/msg_transfer_start.sh
|
${SCRIPTS_ROOT}/msg_transfer_start.sh
|
||||||
${SCRIPTS_ROOT}/openim-crontask.sh
|
${SCRIPTS_ROOT}/openim-crontask.sh
|
||||||
|
|||||||
@ -38,7 +38,7 @@ The scripts within the OpenIM Suite generally adhere to two primary execution me
|
|||||||
2. **Function-based Execution:** Invoking specific functions within the script for more specialized operations (e.g., install, uninstall).
|
2. **Function-based Execution:** Invoking specific functions within the script for more specialized operations (e.g., install, uninstall).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./[script-name].sh [function-name]
|
./scripts/install/install.sh [function-name]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 1. Direct Script Execution
|
### 1. Direct Script Execution
|
||||||
|
|||||||
@ -172,7 +172,7 @@ def "OPENIM_CONVERSATION_NAME" "Conversation" # OpenIM对话服务名称
|
|||||||
def "OPENIM_THIRD_NAME" "Third" # OpenIM第三方服务名称
|
def "OPENIM_THIRD_NAME" "Third" # OpenIM第三方服务名称
|
||||||
|
|
||||||
###################### Log Configuration Variables ######################
|
###################### Log Configuration Variables ######################
|
||||||
def "LOG_STORAGE_LOCATION" "${OPENIM_ROOT}/log/" # 日志存储位置
|
def "LOG_STORAGE_LOCATION" "${OPENIM_ROOT}/logs/" # 日志存储位置
|
||||||
def "LOG_ROTATION_TIME" "24" # 日志轮替时间
|
def "LOG_ROTATION_TIME" "24" # 日志轮替时间
|
||||||
def "LOG_REMAIN_ROTATION_COUNT" "2" # 保留的日志轮替数量
|
def "LOG_REMAIN_ROTATION_COUNT" "2" # 保留的日志轮替数量
|
||||||
def "LOG_REMAIN_LOG_LEVEL" "6" # 保留的日志级别
|
def "LOG_REMAIN_LOG_LEVEL" "6" # 保留的日志级别
|
||||||
@ -228,7 +228,6 @@ def "PUSH_PROM_PORT" "20170" # Push 服务的 Prometheus 端口
|
|||||||
def "CONVERSATION_PROM_PORT" "20230" # Conversation 服务的 Prometheus 端口
|
def "CONVERSATION_PROM_PORT" "20230" # Conversation 服务的 Prometheus 端口
|
||||||
def "RTC_PROM_PORT" "21300" # RTC 服务的 Prometheus 端口
|
def "RTC_PROM_PORT" "21300" # RTC 服务的 Prometheus 端口
|
||||||
def "THIRD_PROM_PORT" "21301" # Third 服务的 Prometheus 端口
|
def "THIRD_PROM_PORT" "21301" # Third 服务的 Prometheus 端口
|
||||||
|
|
||||||
# Message Transfer 服务的 Prometheus 端口列表
|
# Message Transfer 服务的 Prometheus 端口列表
|
||||||
readonly MSG_TRANSFER_PROM_PORTS=${MSG_TRANSFER_PROM_PORTS:-'21400, 21401, 21402, 21403'}
|
readonly MSG_TRANSFER_PROM_PORTS=${MSG_TRANSFER_PROM_PORTS:-'21400, 21401, 21402, 21403'}
|
||||||
|
|
||||||
@ -269,44 +268,125 @@ def "OPENIM_CRONTASK_LOG_COMPRESS" "false"
|
|||||||
def "OPENIM_CRONTASK_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-crontask 日志是否带有堆栈信息
|
def "OPENIM_CRONTASK_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-crontask 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-msggateway ######################
|
###################### OpenIM openim-msggateway ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-msggateway
|
|
||||||
def "OPENIM_MSGGATEWAY_HOST" "127.0.0.1"
|
def "OPENIM_MSGGATEWAY_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_MSGGATEWAY_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-msggateway"
|
||||||
|
def "OPENIM_MSGGATEWAY_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml"
|
||||||
|
def "OPENIM_MSGGATEWAY_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-msggateway"
|
||||||
|
def "OPENIM_MSGGATEWAY_LOG_LEVEL" "info"
|
||||||
|
def "OPENIM_MSGGATEWAY_LOG_MAX_SIZE" "100"
|
||||||
|
def "OPENIM_MSGGATEWAY_LOG_MAX_BACKUPS" "7"
|
||||||
|
def "OPENIM_MSGGATEWAY_LOG_MAX_AGE" "7"
|
||||||
|
def "OPENIM_MSGGATEWAY_LOG_COMPRESS" "false"
|
||||||
|
def "OPENIM_MSGGATEWAY_LOG_WITH_STACK" "${LOG_WITH_STACK}"
|
||||||
|
|
||||||
###################### OpenIM openim-msgtransfer ######################
|
###################### OpenIM openim-msgtransfer ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-msgtransfer
|
|
||||||
def "OPENIM_MSGTRANSFER_HOST" "127.0.0.1"
|
def "OPENIM_MSGTRANSFER_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_MSGTRANSFER_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-msgtransfer" # OpenIM openim-msgtransfer 二进制文件路径
|
||||||
|
def "OPENIM_MSGTRANSFER_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-msgtransfer 配置文件路径
|
||||||
|
def "OPENIM_MSGTRANSFER_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-msgtransfer" # OpenIM openim-msgtransfer 日志存储路径
|
||||||
|
def "OPENIM_MSGTRANSFER_LOG_LEVEL" "info" # OpenIM openim-msgtransfer 日志级别
|
||||||
|
def "OPENIM_MSGTRANSFER_LOG_MAX_SIZE" "100" # OpenIM openim-msgtransfer 日志最大大小(MB)
|
||||||
|
def "OPENIM_MSGTRANSFER_LOG_MAX_BACKUPS" "7" # OpenIM openim-msgtransfer 日志最大备份数
|
||||||
|
def "OPENIM_MSGTRANSFER_LOG_MAX_AGE" "7" # OpenIM openim-msgtransfer 日志最大保存时间(天)
|
||||||
|
def "OPENIM_MSGTRANSFER_LOG_COMPRESS" "false" # OpenIM openim-msgtransfer 日志是否压缩
|
||||||
|
def "OPENIM_MSGTRANSFER_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-msgtransfer 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-push ######################
|
###################### OpenIM openim-push ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-push
|
|
||||||
def "OPENIM_PUSH_HOST" "127.0.0.1"
|
def "OPENIM_PUSH_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_PUSH_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-push" # OpenIM openim-push 二进制文件路径
|
||||||
|
def "OPENIM_PUSH_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-push 配置文件路径
|
||||||
|
def "OPENIM_PUSH_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-push" # OpenIM openim-push 日志存储路径
|
||||||
|
def "OPENIM_PUSH_LOG_LEVEL" "info" # OpenIM openim-push 日志级别
|
||||||
|
def "OPENIM_PUSH_LOG_MAX_SIZE" "100" # OpenIM openim-push 日志最大大小(MB)
|
||||||
|
def "OPENIM_PUSH_LOG_MAX_BACKUPS" "7" # OpenIM openim-push 日志最大备份数
|
||||||
|
def "OPENIM_PUSH_LOG_MAX_AGE" "7" # OpenIM openim-push 日志最大保存时间(天)
|
||||||
|
def "OPENIM_PUSH_LOG_COMPRESS" "false" # OpenIM openim-push 日志是否压缩
|
||||||
|
def "OPENIM_PUSH_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-push 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-rpc-auth ######################
|
###################### OpenIM openim-rpc-auth ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-rpc-auth
|
|
||||||
def "OPENIM_RPC_AUTH_HOST" "127.0.0.1"
|
def "OPENIM_RPC_AUTH_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_RPC_AUTH_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-rpc-auth" # OpenIM openim-rpc-auth 二进制文件路径
|
||||||
|
def "OPENIM_RPC_AUTH_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-rpc-auth 配置文件路径
|
||||||
|
def "OPENIM_RPC_AUTH_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-rpc-auth" # OpenIM openim-rpc-auth 日志存储路径
|
||||||
|
def "OPENIM_RPC_AUTH_LOG_LEVEL" "info" # OpenIM openim-rpc-auth 日志级别
|
||||||
|
def "OPENIM_RPC_AUTH_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-auth 日志最大大小(MB)
|
||||||
|
def "OPENIM_RPC_AUTH_LOG_MAX_BACKUPS" "7" # OpenIM openim-rpc-auth 日志最大备份数
|
||||||
|
def "OPENIM_RPC_AUTH_LOG_MAX_AGE" "7" # OpenIM openim-rpc-auth 日志最大保存时间(天)
|
||||||
|
def "OPENIM_RPC_AUTH_LOG_COMPRESS" "false" # OpenIM openim-rpc-auth 日志是否压缩
|
||||||
|
def "OPENIM_RPC_AUTH_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-rpc-auth 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-rpc-conversation ######################
|
###################### OpenIM openim-rpc-conversation ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-rpc-conversation
|
|
||||||
def "OPENIM_RPC_CONVERSATION_HOST" "127.0.0.1"
|
def "OPENIM_RPC_CONVERSATION_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_RPC_CONVERSATION_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-rpc-conversation" # OpenIM openim-rpc-conversation 二进制文件路径
|
||||||
|
def "OPENIM_RPC_CONVERSATION_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-rpc-conversation 配置文件路径
|
||||||
|
def "OPENIM_RPC_CONVERSATION_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-rpc-conversation" # OpenIM openim-rpc-conversation 日志存储路径
|
||||||
|
def "OPENIM_RPC_CONVERSATION_LOG_LEVEL" "info" # OpenIM openim-rpc-conversation 日志级别
|
||||||
|
def "OPENIM_RPC_CONVERSATION_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-conversation 日志最大大小(MB)
|
||||||
|
def "OPENIM_RPC_CONVERSATION_LOG_MAX_BACKUPS" "7" # OpenIM openim-rpc-conversation 日志最大备份数
|
||||||
|
def "OPENIM_RPC_CONVERSATION_LOG_MAX_AGE" "7" # OpenIM openim-rpc-conversation 日志最大保存时间(天)
|
||||||
|
def "OPENIM_RPC_CONVERSATION_LOG_COMPRESS" "false" # OpenIM openim-rpc-conversation 日志是否压缩
|
||||||
|
def "OPENIM_RPC_CONVERSATION_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-rpc-conversation 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-rpc-friend ######################
|
###################### OpenIM openim-rpc-friend ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-rpc-friend
|
|
||||||
def "OPENIM_RPC_FRIEND_HOST" "127.0.0.1"
|
def "OPENIM_RPC_FRIEND_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_RPC_FRIEND_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-rpc-friend" # OpenIM openim-rpc-friend 二进制文件路径
|
||||||
|
def "OPENIM_RPC_FRIEND_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-rpc-friend 配置文件路径
|
||||||
|
def "OPENIM_RPC_FRIEND_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-rpc-friend" # OpenIM openim-rpc-friend 日志存储路径
|
||||||
|
def "OPENIM_RPC_FRIEND_LOG_LEVEL" "info" # OpenIM openim-rpc-friend 日志级别
|
||||||
|
def "OPENIM_RPC_FRIEND_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-friend 日志最大大小(MB)
|
||||||
|
def "OPENIM_RPC_FRIEND_LOG_MAX_BACKUPS" "7" # OpenIM openim-rpc-friend 日志最大备份数
|
||||||
|
def "OPENIM_RPC_FRIEND_LOG_MAX_AGE" "7" # OpenIM openim-rpc-friend 日志最大保存时间(天)
|
||||||
|
def "OPENIM_RPC_FRIEND_LOG_COMPRESS" "false" # OpenIM openim-rpc-friend 日志是否压缩
|
||||||
|
def "OPENIM_RPC_FRIEND_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-rpc-friend 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-rpc-group ######################
|
###################### OpenIM openim-rpc-group ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-rpc-group
|
|
||||||
def "OPENIM_RPC_GROUP_HOST" "127.0.0.1"
|
def "OPENIM_RPC_GROUP_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_RPC_GROUP_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-rpc-group" # OpenIM openim-rpc-group 二进制文件路径
|
||||||
|
def "OPENIM_RPC_GROUP_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-rpc-group 配置文件路径
|
||||||
|
def "OPENIM_RPC_GROUP_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-rpc-group" # OpenIM openim-rpc-group 日志存储路径
|
||||||
|
def "OPENIM_RPC_GROUP_LOG_LEVEL" "info" # OpenIM openim-rpc-group 日志级别
|
||||||
|
def "OPENIM_RPC_GROUP_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-group 日志最大大小(MB)
|
||||||
|
def "OPENIM_RPC_GROUP_LOG_MAX_BACKUPS" "7" # OpenIM openim-rpc-group 日志最大备份数
|
||||||
|
def "OPENIM_RPC_GROUP_LOG_MAX_AGE" "7" # OpenIM openim-rpc-group 日志最大保存时间(天)
|
||||||
|
def "OPENIM_RPC_GROUP_LOG_COMPRESS" "false" # OpenIM openim-rpc-group 日志是否压缩
|
||||||
|
def "OPENIM_RPC_GROUP_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-rpc-group 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-rpc-msg ######################
|
###################### OpenIM openim-rpc-msg ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-rpc-msg
|
|
||||||
def "OPENIM_RPC_MSG_HOST" "127.0.0.1"
|
def "OPENIM_RPC_MSG_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_RPC_MSG_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-rpc-msg" # OpenIM openim-rpc-msg 二进制文件路径
|
||||||
|
def "OPENIM_RPC_MSG_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-rpc-msg 配置文件路径
|
||||||
|
def "OPENIM_RPC_MSG_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-rpc-msg" # OpenIM openim-rpc-msg 日志存储路径
|
||||||
|
def "OPENIM_RPC_MSG_LOG_LEVEL" "info" # OpenIM openim-rpc-msg 日志级别
|
||||||
|
def "OPENIM_RPC_MSG_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-msg 日志最大大小(MB)
|
||||||
|
def "OPENIM_RPC_MSG_LOG_MAX_BACKUPS" "7" # OpenIM openim-rpc-msg 日志最大备份数
|
||||||
|
def "OPENIM_RPC_MSG_LOG_MAX_AGE" "7" # OpenIM openim-rpc-msg 日志最大保存时间(天)
|
||||||
|
def "OPENIM_RPC_MSG_LOG_COMPRESS" "false" # OpenIM openim-rpc-msg 日志是否压缩
|
||||||
|
def "OPENIM_RPC_MSG_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-rpc-msg 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-rpc-third ######################
|
###################### OpenIM openim-rpc-third ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-rpc-third
|
|
||||||
def "OPENIM_RPC_THIRD_HOST" "127.0.0.1"
|
def "OPENIM_RPC_THIRD_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_RPC_THIRD_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-rpc-third" # OpenIM openim-rpc-third 二进制文件路径
|
||||||
|
def "OPENIM_RPC_THIRD_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-rpc-third 配置文件路径
|
||||||
|
def "OPENIM_RPC_THIRD_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-rpc-third" # OpenIM openim-rpc-third 日志存储路径
|
||||||
|
def "OPENIM_RPC_THIRD_LOG_LEVEL" "info" # OpenIM openim-rpc-third 日志级别
|
||||||
|
def "OPENIM_RPC_THIRD_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-third 日志最大大小(MB)
|
||||||
|
def "OPENIM_RPC_THIRD_LOG_MAX_BACKUPS" "7" # OpenIM openim-rpc-third 日志最大备份数
|
||||||
|
def "OPENIM_RPC_THIRD_LOG_MAX_AGE" "7" # OpenIM openim-rpc-third 日志最大保存时间(天)
|
||||||
|
def "OPENIM_RPC_THIRD_LOG_COMPRESS" "false" # OpenIM openim-rpc-third 日志是否压缩
|
||||||
|
def "OPENIM_RPC_THIRD_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-rpc-third 日志是否带有堆栈信息
|
||||||
|
|
||||||
###################### OpenIM openim-rpc-user ######################
|
###################### OpenIM openim-rpc-user ######################
|
||||||
# 和上述相似,仅替换 openim-crontask 为 openim-rpc-user
|
|
||||||
def "OPENIM_RPC_USER_HOST" "127.0.0.1"
|
def "OPENIM_RPC_USER_HOST" "127.0.0.1"
|
||||||
|
def "OPENIM_RPC_USER_BINARY" "${OPENIM_OUTPUT_HOSTBIN}/openim-rpc-user" # OpenIM openim-rpc-user 二进制文件路径
|
||||||
|
def "OPENIM_RPC_USER_CONFIG" "${LOCAL_OUTPUT_ROOT}/bin/openim_config.yaml" # OpenIM openim-rpc-user 配置文件路径
|
||||||
|
def "OPENIM_RPC_USER_LOG_DIR" "${LOG_STORAGE_LOCATION}/openim-rpc-user" # OpenIM openim-rpc-user 日志存储路径
|
||||||
|
def "OPENIM_RPC_USER_LOG_LEVEL" "info" # OpenIM openim-rpc-user 日志级别
|
||||||
|
def "OPENIM_RPC_USER_LOG_MAX_SIZE" "100" # OpenIM openim-rpc-user 日志最大大小(MB)
|
||||||
|
def "OPENIM_RPC_USER_LOG_MAX_BACKUPS" "7" # OpenIM openim-rpc-user 日志最大备份数
|
||||||
|
def "OPENIM_RPC_USER_LOG_MAX_AGE" "7" # OpenIM openim-rpc-user 日志最大保存时间(天)
|
||||||
|
def "OPENIM_RPC_USER_LOG_COMPRESS" "false" # OpenIM openim-rpc-user 日志是否压缩
|
||||||
|
def "OPENIM_RPC_USER_LOG_WITH_STACK" "${LOG_WITH_STACK}" # OpenIM openim-rpc-user 日志是否带有堆栈信息
|
||||||
|
|
||||||
|
|
||||||
###################### 设计中...暂时不需要######################################
|
###################### 设计中...暂时不需要######################################
|
||||||
|
|
||||||
|
|||||||
@ -18,4 +18,4 @@ OPENIM_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. && pwd -P)
|
|||||||
[[ -z ${COMMON_SOURCED} ]] && source ${OPENIM_ROOT}/scripts/install/common.sh
|
[[ -z ${COMMON_SOURCED} ]] && source ${OPENIM_ROOT}/scripts/install/common.sh
|
||||||
|
|
||||||
# common.sh environment.sh mariadb_for_ubuntu.sh msg_transfer_start.sh openim-push.sh start_rpc_service.sh
|
# common.sh environment.sh mariadb_for_ubuntu.sh msg_transfer_start.sh openim-push.sh start_rpc_service.sh
|
||||||
# dependency.sh install.sh msg_gateway_start.sh openim-crontask.sh redis_for_ubuntu.sh test.sh man.sh
|
# dependency.sh install.sh openim-msggateway.sh openim-crontask.sh redis_for_ubuntu.sh test.sh man.sh
|
||||||
@ -38,22 +38,19 @@
|
|||||||
# Note: Ensure that the appropriate permissions and environmental variables are set prior to script execution.
|
# Note: Ensure that the appropriate permissions and environmental variables are set prior to script execution.
|
||||||
#
|
#
|
||||||
|
|
||||||
set -o errexit
|
|
||||||
set +o nounset
|
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
OPENIM_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. && pwd -P)
|
OPENIM_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. && pwd -P)
|
||||||
[[ -z ${COMMON_SOURCED} ]] && source ${OPENIM_ROOT}/scripts/install/common.sh
|
[[ -z ${COMMON_SOURCED} ]] && source ${OPENIM_ROOT}/scripts/install/common.sh
|
||||||
|
|
||||||
SERVER_NAME="openim-crontask"
|
SERVER_NAME="openim-crontask"
|
||||||
|
|
||||||
openim::log::status "Start OpenIM Cron, binary root: ${SERVER_NAME}"
|
openim::log::info "Start OpenIM Cron, binary root: ${SERVER_NAME}"
|
||||||
openim::log::info "Start OpenIM Cron, path: ${OPENIM_CRONTASK_BINARY}"
|
openim::log::status "Start OpenIM Cron, path: ${OPENIM_CRONTASK_BINARY}"
|
||||||
|
|
||||||
openim::util::stop_services_with_name ${SERVER_NAME}
|
openim::util::stop_services_with_name ${SERVER_NAME}
|
||||||
|
|
||||||
openim::log::status "start cron_task process, path: ${OPENIM_CRONTASK_BINARY}"
|
openim::log::status "start cron_task process, path: ${OPENIM_CRONTASK_BINARY}"
|
||||||
nohup ${OPENIM_CRONTASK_BINARY} >>${LOG_FILE} 2>&1 &
|
nohup ${OPENIM_CRONTASK_BINARY} >> ${LOG_FILE} 2>&1 &
|
||||||
openim::util::check_process_names ${SERVER_NAME}
|
openim::util::check_process_names ${SERVER_NAME}
|
||||||
|
|
||||||
###################################### Linux Systemd ######################################
|
###################################### Linux Systemd ######################################
|
||||||
|
|||||||
@ -18,16 +18,16 @@ set -o errexit
|
|||||||
set +o nounset
|
set +o nounset
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
OPENIM_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. && pwd -P)
|
|
||||||
[[ -z ${COMMON_SOURCED} ]] && source ${OPENIM_ROOT}/scripts/install/common.sh
|
|
||||||
|
|
||||||
|
|
||||||
#Include shell font styles and some basic information
|
|
||||||
source $SCRIPTS_ROOT/lib/init.sh
|
|
||||||
source $SCRIPTS_ROOT/path_info.sh
|
|
||||||
|
|
||||||
ulimit -n 200000
|
ulimit -n 200000
|
||||||
|
|
||||||
|
SERVER_NAME="openim-msggateway"
|
||||||
|
|
||||||
|
openim::log::info "Start OpenIM Msggateway, binary root: ${SERVER_NAME}"
|
||||||
|
openim::log::status "Start OpenIM Msggateway, path: ${OPENIM_MSGGATEWAY_BINARY}"
|
||||||
|
|
||||||
|
openim::util::stop_services_with_name ${SERVER_NAME}
|
||||||
|
|
||||||
|
|
||||||
list1=$(cat $config_path | grep openImMessageGatewayPort | awk -F '[:]' '{print $NF}')
|
list1=$(cat $config_path | grep openImMessageGatewayPort | awk -F '[:]' '{print $NF}')
|
||||||
list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}')
|
list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}')
|
||||||
list3=$(cat $config_path | grep messageGatewayPrometheusPort | awk -F '[:]' '{print $NF}')
|
list3=$(cat $config_path | grep messageGatewayPrometheusPort | awk -F '[:]' '{print $NF}')
|
||||||
@ -33,7 +33,11 @@
|
|||||||
# 2. Controlling through Functions for systemctl operations:
|
# 2. Controlling through Functions for systemctl operations:
|
||||||
# Specific operations like installation, uninstallation, and status check can be executed by passing the respective function name as an argument to the script.
|
# Specific operations like installation, uninstallation, and status check can be executed by passing the respective function name as an argument to the script.
|
||||||
# Example: ./openim-push.sh openim::push::install
|
# Example: ./openim-push.sh openim::push::install
|
||||||
#
|
#
|
||||||
|
# ENVIRONMENT VARIABLES:
|
||||||
|
# export OPENIM_PUSH_BINARY="8080 8081 8082"
|
||||||
|
# export OPENIM_PUSH_PORT="9090 9091 9092"
|
||||||
|
#
|
||||||
# Note: Ensure that the appropriate permissions and environmental variables are set prior to script execution.
|
# Note: Ensure that the appropriate permissions and environmental variables are set prior to script execution.
|
||||||
#
|
#
|
||||||
set -o errexit
|
set -o errexit
|
||||||
@ -50,8 +54,23 @@ openim::log::info "Start OpenIM Push, path: ${OPENIM_PUSH_BINARY}"
|
|||||||
|
|
||||||
openim::util::stop_services_with_name ${SERVER_NAME}
|
openim::util::stop_services_with_name ${SERVER_NAME}
|
||||||
|
|
||||||
openim::log::status "start push process, path: ${OPENIM_PUSH_BINARY}"
|
openim::log::status "prepare start push process, path: ${OPENIM_PUSH_BINARY}"
|
||||||
nohup ${OPENIM_PUSH_BINARY} >>${LOG_FILE} 2>&1 &
|
openim::log::status "prepare start push process, port: ${OPENIM_PUSH_PORT}, prometheus port: ${PUSH_PROM_PORT}"
|
||||||
|
|
||||||
|
OPENIM_PUSH_PORTS_ARRAY=( ${OPENIM_PUSH_PORT} )
|
||||||
|
PUSH_PROM_PORTS_ARRAY=( ${PUSH_PROM_PORT} )
|
||||||
|
|
||||||
|
openim::log::info "push port list: ${OPENIM_PUSH_PORTS_ARRAY[@]}, prometheus port list: ${PUSH_PROM_PORTS_ARRAY[@]}"
|
||||||
|
|
||||||
|
if [ ${#OPENIM_PUSH_PORTS_ARRAY[@]} -ne ${#PUSH_PROM_PORTS_ARRAY[@]} ]; then
|
||||||
|
openim::log::error_exit "The length of the two port lists is different!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for (( i=0; i<${#OPENIM_PUSH_PORTS_ARRAY[@]}; i++ )); do
|
||||||
|
openim::log::info "start push process, port: ${OPENIM_PUSH_PORTS_ARRAY[$i]}, prometheus port: ${PUSH_PROM_PORTS_ARRAY[$i]}"
|
||||||
|
nohup ${OPENIM_PUSH_BINARY} --port ${OPENIM_PUSH_PORTS_ARRAY[$i]} --prometheus_port ${PUSH_PROM_PORTS_ARRAY[$i]} >> ${LOG_FILE} 2>&1 &
|
||||||
|
done
|
||||||
|
|
||||||
openim::util::check_process_names ${SERVER_NAME}
|
openim::util::check_process_names ${SERVER_NAME}
|
||||||
|
|
||||||
###################################### Linux Systemd ######################################
|
###################################### Linux Systemd ######################################
|
||||||
@ -96,7 +115,6 @@ function openim::push::install()
|
|||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Unload
|
# Unload
|
||||||
function openim::push::uninstall()
|
function openim::push::uninstall()
|
||||||
{
|
{
|
||||||
@ -128,48 +146,4 @@ function openim::push::status()
|
|||||||
|
|
||||||
if [[ "$*" =~ ${SERVER_NAME}:: ]];then
|
if [[ "$*" =~ ${SERVER_NAME}:: ]];then
|
||||||
eval $*
|
eval $*
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
list1=$(cat $config_path | grep openImPushPort | awk -F '[:]' '{print $NF}')
|
|
||||||
list2=$(cat $config_path | grep pushPrometheusPort | awk -F '[:]' '{print $NF}')
|
|
||||||
openim::util::list-to-string $list1
|
|
||||||
rpc_ports=($ports_array)
|
|
||||||
openim::util::list-to-string $list2
|
|
||||||
prome_ports=($ports_array)
|
|
||||||
|
|
||||||
#Check if the service exists
|
|
||||||
#If it is exists,kill this process
|
|
||||||
check=$(ps -aux | grep -w ./${push_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
oldPid=$(ps -aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}')
|
|
||||||
kill -9 $oldPid
|
|
||||||
fi
|
|
||||||
#Waiting port recycling
|
|
||||||
sleep 1
|
|
||||||
cd ${push_binary_root}
|
|
||||||
|
|
||||||
for ((i = 0; i < ${#rpc_ports[@]}; i++)); do
|
|
||||||
echo "==========================start push server===========================">>$OPENIM_ROOT/logs/openIM.log
|
|
||||||
nohup ./${push_name} --port ${rpc_ports[$i]} --prometheus_port ${prome_ports[$i]} >>$OPENIM_ROOT/logs/openIM.log 2>&1 &
|
|
||||||
done
|
|
||||||
|
|
||||||
sleep 3
|
|
||||||
#Check launched service process
|
|
||||||
check=$(ps -aux | grep -w ./${push_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
newPid=$(ps -aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}')
|
|
||||||
ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}')
|
|
||||||
allPorts=""
|
|
||||||
|
|
||||||
for i in $ports; do
|
|
||||||
allPorts=${allPorts}"$i "
|
|
||||||
done
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${BACKGROUND_GREEN}${push_name}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${BACKGROUND_GREEN}${newPid}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${BACKGROUND_GREEN}${allPorts}${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${BACKGROUND_GREEN}${push_name}${COLOR_SUFFIX}${RED_PREFIX}"\n SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
||||||
@ -98,7 +98,7 @@ openim::golang::start_script_list() {
|
|||||||
start-rpc_service.sh
|
start-rpc_service.sh
|
||||||
openim-push.sh
|
openim-push.sh
|
||||||
msg_transfer_start.sh
|
msg_transfer_start.sh
|
||||||
msg_gateway_start.sh
|
openim-msggateway.sh
|
||||||
openim-crontask.sh
|
openim-crontask.sh
|
||||||
)
|
)
|
||||||
local result=()
|
local result=()
|
||||||
|
|||||||
@ -877,6 +877,27 @@ function openim::util::join {
|
|||||||
echo "$*"
|
echo "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Function: openim::util::list-to-string <list...>
|
||||||
|
# Description: Converts a list to a string, removing spaces, brackets, and commas.
|
||||||
|
# Example input: [1002 3 , 2 32 3 , 3 434 ,]
|
||||||
|
# Example output: 10023 2323 3434
|
||||||
|
# Example usage:
|
||||||
|
# result=$(openim::util::list-to-string "[10023, 2323, 3434]")
|
||||||
|
# echo $result
|
||||||
|
function openim::util::list-to-string() {
|
||||||
|
# Capture all arguments into a single string
|
||||||
|
ports_list="$*"
|
||||||
|
|
||||||
|
# Use sed for transformations:
|
||||||
|
# 1. Remove spaces
|
||||||
|
# 2. Replace commas with spaces
|
||||||
|
# 3. Remove opening and closing brackets
|
||||||
|
ports_array=$(echo "$ports_list" | sed 's/ //g; s/,/ /g; s/^\[\(.*\)\]$/\1/')
|
||||||
|
|
||||||
|
# For external use, we might want to echo the result so that it can be captured by callers
|
||||||
|
echo "$ports_array"
|
||||||
|
}
|
||||||
|
|
||||||
# Downloads cfssl/cfssljson/cfssl-certinfo into $1 directory if they do not already exist in PATH
|
# Downloads cfssl/cfssljson/cfssl-certinfo into $1 directory if they do not already exist in PATH
|
||||||
#
|
#
|
||||||
# Assumed vars:
|
# Assumed vars:
|
||||||
@ -1196,18 +1217,6 @@ function openim::util::onCtrlC () {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# input: [10023, 2323, 3434]
|
|
||||||
# output: 10023 2323 3434
|
|
||||||
# Function function: Converts a list to a string, removing Spaces and parentheses
|
|
||||||
function openim::util::list-to-string() {
|
|
||||||
ports_list=$* # 获取传入的参数列表
|
|
||||||
sub_s1=$(echo $ports_list | sed 's/ //g') # 去除空格
|
|
||||||
sub_s2=${sub_s1//,/ } # 将逗号替换为空格
|
|
||||||
sub_s3=${sub_s2#*[} # 去除左括号及其之前的内容
|
|
||||||
sub_s4=${sub_s3%]*} # 去除右括号及其之后的内容
|
|
||||||
ports_array=$sub_s4 # 将处理后的字符串赋值给变量 ports_array
|
|
||||||
}
|
|
||||||
|
|
||||||
# Function Function: Remove Spaces in the string
|
# Function Function: Remove Spaces in the string
|
||||||
function openim::util::remove_space() {
|
function openim::util::remove_space() {
|
||||||
value=$* # 获取传入的参数
|
value=$* # 获取传入的参数
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user