Linux轻量化部署MyNodeQuery服务器探针程序
前言
早前已经写过部署MyNodeQuery服务器探针的文章,但是一般都希望探针放在配置较弱的服务器上,很多时候都不希望探针消耗过多的资源,所以本篇文章着重精简mysql这个大户。
一、限制docker容器日志文件大小
cat >/etc/docker/daemon.json <<EOF
{
"log-driver":"json-file",
"log-opts": {"max-size":"50m", "max-file":"2"}
}
EOF
这里设置每个容器的日志文件单个最大50M,最多两个日志文件。
二、创建mysql目录,建立配置文件
mkdir -pv /home/mysql57/data /home/mysql57/conf.d /home/mysql57/logs
建立目录后,创建mysql配置文件以自定义配置启动mysql。
cat > /home/mysql57/conf.d/mysqld.cnf <<EOF
[mysqld]
innodb_buffer_pool_size=5M
innodb_log_buffer_size=256K
query_cache_size=0
max_connections=10
key_buffer_size=8
thread_cache_size=0
host_cache_size=0
innodb_ft_cache_size=1600000
innodb_ft_total_cache_size=32000000
# per thread or per operation settings
thread_stack=131072
sort_buffer_size=32K
read_buffer_size=8200
read_rnd_buffer_size=8200
max_heap_table_size=16K
tmp_table_size=1K
bulk_insert_buffer_size=0
join_buffer_size=128
net_buffer_length=1K
innodb_sort_buffer_size=64K
#settings that relate to the binary log (if enabled)
binlog_cache_size=4K
binlog_stmt_cache_size=4K
performance_schema=OFF
EOF
三、创建MyNodeQuery配置文件
mkdir -pv /home/mynodequery/
cat >/home/mynodequery/appsettings.json <<EOF
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"MySql": {
"ConnectionString": ""
},
"AllowedHosts": "*",
"Installed": "false",
"ReadNodeIpHeaderKey": "X-Real-IP"
}
EOF
四、启动mysql容器
docker run -d --name=mysql57 \
-v /home/mysql57/data:/var/lib/mysql \
-v /home/mysql57/conf.d:/etc/mysql/conf.d \
-v /home/mysql57/logs:/var/logs/mysql \
-e MYSQL_DATABASE=mynodequery \
-e MYSQL_USER=LEZpk1a \
-e MYSQL_PASSWORD=GNaCjxUEgBn3cLH6ZciQ \
-e MYSQL_RANDOM_ROOT_PASSWORD='1' \
-p 3306:3306 \
--restart=always \
mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
五、启动MyNodeQuery容器
docker run -d --name=mynodequery \
--link=mysql57:mysql57 \
-p 5000:5000 \
-v /home/mynodequery/appsettings.json:/app/appsettings.json \
--restart=always \
jaydenlee2019/mynodequery:latest
总结
上述操作配置下来内存占用很低,256M的VPS也可以正常运行,有兴趣可以试试。