一、思路

首先搭建zabbixserver,本机需要安装agent以便对本机进行监控,然后部署邮件报警相关配置

二、部署、配置

环境

主机名 IP地址 角色
zserver 192.168.111.3 监控端同时也作为被监控端,Tomcat
zagent 192.168.111.4 被监控端,mysql
  • 可以正常连接互联网
  • 配置epel源
  • 本案例将防火墙以及selinux关闭
[root@localhost ~]# ntpdate ntp1.aliyun.com
#同步阿里云的时间 wget https://mirrors.tuna.tsinghua.edu.cn/epel//epel-release-latest-7.noarch.rpm
yum clean all
  • 配置主机名和hosts
[root@localhost ~]# vim /etc/hosts

192.168.111.3 zserver
192.168.111.4 zagent [root@zserver ~]# uname -n
zserver [root@zagent ~]# uname -n
zagent

安装zabbix

  • 安装依赖包和LAMP
[root@zserver ~]# yum -y install httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel

[root@zserver ~]# yum -y install httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel

[root@zserver ~]# systemctl enable mariadb
[root@zserver ~]# systemctl start mariadb
[root@zserver ~]# systemctl start httpd
[root@zserver ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@zserver ~]# mysqladmin -uroot password 123456
  • 部署二进制包jdk
rm -rf /usr/bin/java

tar zxf jdk-8u191-linux-x64.tar.gz
mv jdk1.8.0_191 /usr/local/java8
echo "JAVA_HOME=/usr/local/java8" >> /etc/profile
source /etc/profile
echo "PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
source /etc/profile [root@zserver ~]# javac -version
javac 1.8.0_191
#系统自带的jdk中并无javac程序
  • 部署zabbix
tar zxf zabbix-3.4.15.tar.gz
cd zabbix-3.4.15/ ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --enable-java && make -j2 && make install #--enable-server打开Zabbix服务器的构建
#--enable-agent打开Zabbix代理和客户端实用程序的构建
#--enable-java打开Zabbix Java网关的构建
#--enable-ipv6启用IPv6支持
#--with-mysql可选;使用MySQL客户端库[default = no]
#--with-net-snmp可选;使用Net-SNMP包[default = no]
  • mariadb对其进行授权
mysql -uroot -p123456

MariaDB [(none)]> create database zabbix character set utf8;
#创建zabbix专用库 MariaDB [(none)]> grant all on zabbix.* to zabbix@'192.168.111.3' identified by 'zabbix'; MariaDB [(none)]> flush privileges;
  • 导入初始架构和数据到zabbix库中
cd zabbix-3.4.15/

mysql -uzabbix -pzabbix -h192.168.111.3 zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix -h192.168.111.3 zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix -h192.168.111.3 zabbix < database/mysql/data.sql
  • 创建专门的程序用户
[root@zserver zabbix-3.4.15]# useradd -M -s /sbin/nologin zabbix
[root@zserver zabbix-3.4.15]# mkdir /usr/local/zabbix/logs
[root@zserver zabbix-3.4.15]# chown -R zabbix:zabbix /usr/local/zabbix/
  • 配置文件
[root@zserver zabbix-3.4.15]# vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
#指定zabbix日志位置
PidFile=/tmp/zabbix_server.pid
#指定zabbix pid文件位置
DBHost=192.168.111.3
#指定数据库主机
DBName=zabbix
#指定数据库名为zabbix
DBUser=zabbix
DBPassword=zabbix
#指定用户为zabbix ,密码zabbix
DBSocket=/var/lib/mysql/mysql.sock
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf [root@zserver zabbix-3.4.15]# vim /usr/local/zabbix/etc/zabbix_agentd.conf PidFile=/tmp/zabbix_agentd.pid
Server=192.168.111.3
#zabbix server的ip地址,多个ip使用逗号分隔
ServerActive=192.168.111.3
#zabbix 主动监控server的ip地址,使用逗号分隔多IP,如果注释这个选项,那么当前服务器的主动监控就被禁用了(被动模式)
Hostname=zserver
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf ln -s /usr/local/zabbix/sbin/* /usr/local/bin/
ln -s /usr/local/zabbix/bin/* /usr/local/bin/
#链接执行命令 [root@zserver ~]# zabbix_server [root@zserver ~]# zabbix_agentd
#启动监控端,和agent端
  • zabbix前端配置PHP
mv zabbix-3.4.15/frontends/php/ /var/www/html/zabbix
chown -R apache:apache /var/www/html/zabbix
vim /etc/php.ini
878 date.timezone = Asia/Shanghai
#时区
384 max_execution_time = 300
#单位秒,通过POST、GET以及PUT方式接
收数据时间进行限制
394 max_input_time = 300
#php程序上传文件解析数据时的时间限制
672 post_max_size = 32M
#POST 方式请求数据所允许的最大大小
405 memory_limit = 128M
#设置php程序的内存限制
854 extension=bcmath.so
#加载zabbix程序需要加载的扩展模块bcmath.so,手动添加 systemctl restart httpd
#重启服务 [root@zserver ~]# netstat -anpt | egrep ':10050|:10051|:80'
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 72512/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 72450/zabbix_server
tcp6 0 0 :::10050 :::* LISTEN 72512/zabbix_agentd
tcp6 0 0 :::10051 :::* LISTEN 72450/zabbix_server
tcp6 0 0 :::80 :::* LISTEN 72666/httpd
  • 客户机访问web页面进行zabbix安装

    ......

对zabbix进行初步优化

  • 中文页面

-->administration

-->Users

-->Admin

-->Language选择Chinese(zh_CN)

-->UPdates

-->然后刷新页面

  • 更改admin密码

-->administration

-->Users

-->Admin

  • 解决中文乱码
rm -rf /var/www/html/zabbix/fonts/DejaVuSans.ttf
#然后将下载到的中文字体.ttf结尾的字体文件放到该目录即可 mv STXINWEI.TTF DejaVuSans.ttf chown -R apache:apache /var/www/html/zabbix/fonts/*

添加监控主机

  • 添加自身
-->配置

    -->主机

        -->创建主机

            -->主机名称(与agent配置文件中相同)
可见名称(自定义)
群组(将Linuxserver群组添加到左侧)
ip(agent所在机器的IP地址和端口) -->添加 -->选定agent1 -->模板(进行选择,选定Template OS Linux) --添加 -->更新(等待一会,相应的图标如ZBX会高亮)
  • 添加另一台
yum -y install libxml2-devel libcurl-devel pcre-devel mariadb*
#依赖安装 tar zxf zabbix-3.4.15.tar.gz
cd zabbix-3.4.15/ ./configure --prefix=/usr/local/zabbix --enable-agent --with-net-snmp --with-libcurl --with-libxml2 && make && make install
#不需要开启server监控端了 cp misc/init.d/tru64/zabbix_agentd /etc/init.d/ vim /etc/init.d/zabbix_agentd
DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
#前面的目录更改为实际安装路径 chmod +x /etc/init.d/zabbix_agentd
useradd -M -s /sbin/nologin zabbix
mkdir /usr/local/zabbix/logs
chown -R zabbix:zabbix /usr/local/zabbix/ PidFile=/tmp/zabbix_agentd.pid
Server=192.168.111.3
ServerActive=192.168.111.3
Hostname=zagent
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters=1
#允许所有字符的参数传递给用户定义的参数
UserParameter=mysql.version,mysql -V
# =前面表示定义一个键值对,=后面逗号前面是键的名称,后面是键的值.可以在server监控端使用zabbix_get -s 192.168.111.4 -k mysql.version来得到mysql -V命令的输出结果
UserParameter=mysql.status[*],/usr/local/zabbix/etc/chk_mysql.sh $1
#显而易见,这里表示的就是执行一个脚本了,[*]这个是用户跟的参数,跟后面的$1位置参数对应,脚本里已经定义好
UserParameter=mysql.ping,mysqladmin -uroot -p123456 -P3306 -h192.168.111.4 ping | grep -c alive
#这里是监控MySQL的配置项 [root@zagent ~]# vim /usr/local/zabbix/etc/chk_mysql.sh
[root@zagent ~]# chmod +x /usr/local/zabbix/etc/chk_mysql.sh
----chk_mysql.sh监控脚本----
cat /usr/local/zabbix/etc/chk_mysql.sh
#!/bin/bash
# 用户名
MYSQL_USER='root' # 密码
MYSQL_PWD='123456' # 主机地址/IP
MYSQL_HOST='192.168.111.4' # 端口
MYSQL_PORT='3306' # 数据连接
MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}" # 参数是否正确
if [ $# -ne "1" ];then
echo "arg error!"
fi
# 获取数据
case $1 in
Uptime)
result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`
echo $result
;;
Com_update)
result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3`
echo $result
;;
Slow_queries)
result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`
echo $result
;;
Com_select)
result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3`
echo $result
;;
Com_rollback)
result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3`
echo $result
;;
Questions)
result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`
echo $result
;;
Com_insert)
result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3`
echo $result
;;
Com_delete)
result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3`
echo $result
;;
Com_commit)
result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3`
echo $result
;;
Bytes_sent)
result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
echo $result
;;
Bytes_received)
result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3`
echo $result
;;
Com_begin)
result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`
echo $result
;; *)
echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
;;
esac
#关于脚本中MySQLadmin的详细用法,可以在网上找一些文档看一看,很多 [root@zagent ~]# systemctl start mariadb
[root@zagent ~]# systemctl enable mariadb mysqladmin -uroot password 123456 [root@zagent ~]# mysql -uroot -p123456 MariaDB [(none)]> grant all on *.* to root@'zagent' identified by '123456';
#这一步授权,虽然都是MySQL本机,但只是我们人类角度的一台机器,MySQL程序也许并不会这么认为,我们需要明确授权哪台主机名所在的主机.
MariaDB [(none)]> flush privileges; [root@zagent ~]# /etc/init.d/zabbix_agentd start
Zabbix agent started. [root@zserver ~]# zabbix_get -s 192.168.111.4 -k mysql.status[Uptime]
4130
#可以在server监控端简单测试一下
-->配置

    -->主机

        -->创建主机

            -->主机名称(与agent配置文件中相同)
可见名称(自定义)
群组(将Linuxserver群组添加到左侧)
ip(agent所在机器的IP地址和端口) -->添加 -->选定agent1 -->模板(进行选择,选定Template OS Linux) --添加 -->更新(等待一会,相应的图标如ZBX会高亮)
  • 配置监控zagent的MySQL
首先添加服务模板

-->配置

    -->主机

        -->选择相应的主机名称

            -->模板

                -->选择

                    -->模板(进行选择,选定Template DB MySQL)

                    --添加

                    -->更新(等待一会亮)

创建图形

-->配置

    -->主机

        -->选择相应的主机名称后的图形

            -->创建图形

            -->监控项下-->添加 选择MySQL status

            -->添加

部署监控Tomcat

注意:编译安装zabbixserver时,添加--enable-java编译项

本案例在zabbix-server上安装Tomcat进行监控测试

[root@zserver ~]# vim /usr/local/zabbix/sbin/zabbix_java/settings.sh
9 LISTEN_IP="0.0.0.0"
17 LISTEN_PORT=10052
27 PID_FILE="/tmp/zabbix_java.pid"
35 START_POLLERS=5 [root@zserver ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
#末行追加
JavaGateway=192.168.111.3
JavaGatewayPort=10052
StartJavaPollers=5 [root@zserver ~]# /usr/local/zabbix/sbin/zabbix_java/startup.sh
[root@zserver ~]# pkill -9 zabbix_server
[root@zserver ~]# zabbix_server
[root@zserver ~]# netstat -lnpt | grep 10052
tcp6 0 0 :::10052 :::* LISTEN 79396/java [root@zserver ~]# tar zxf apache-tomcat-8.5.16.tar.gz
[root@zserver ~]# mv apache-tomcat-8.5.16 /usr/local/tomcat8 [root@zserver ~]# vim /usr/local/tomcat8/bin/catalina.sh #!/bin/sh
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
#启用远程监控
-Dcom.sun.management.jmxremote.port=12345
#jmx远程监控端口,webzabbix添加时必须一致
-Dcom.sun.management.jmxremote.authenticate=false
#不开启用户密码认证
-Dcom.sun.management.jmxremote.ssl=false
#不开启ssl
-Djava.rmi.server.hostname=192.168.111.3"
#运行tomcat服务器所在IP地址 [root@zserver ~]# vim /usr/local/tomcat8/bin/catalina.sh
[root@zserver ~]# //usr/local/tomcat8/bin/startup.sh
Using CATALINA_BASE: //usr/local/tomcat8
Using CATALINA_HOME: //usr/local/tomcat8
Using CATALINA_TMPDIR: //usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java8
Using CLASSPATH: //usr/local/tomcat8/bin/bootstrap.jar://usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
LISTEN 79722/java
[root@zserver ~]# netstat -lnpt | grep java
tcp6 0 0 :::10052 :::* LISTEN 79396/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 79722/java
tcp6 0 0 :::8009 :::* LISTEN 79722/java
tcp6 0 0 :::8080 :::* LISTEN 79722/java
tcp6 0 0 :::46546 :::* LISTEN 79722/java
tcp6 0 0 :::35319 :::* LISTEN 79722/java
tcp6 0 0 :::12345 :::* LISTEN 79722/java
  • webzabbix添加Tomcat监控
-->配置

    -->主机

        -->选择相应的主机名称

        -->jmx接口-->添加刚才在配置文件定义的ip以及12345端口

        -->更新

    -->模板

        -->导入(从本机文件中导入,从网络上下载的有很多)
(不需要修改选项,直接导入就好) -->配置 -->主机 -->选择相应的主机名称 -->模板 -->选择响应模板进行添加并更新 刷新等待一两分钟,jmx字符会高亮

配置邮件报警

首先登陆网易邮箱,获取到授权码,这里已经成功,不在测试

继续进行

zabbixserver端配置邮件服务器

[root@zserver ~]# yum -y install mailx dos2unix
#dos2unix程序用来防止乱码的
[root@zserver ~]# vim /etc/mail.rc #末行追加 set from=该邮件来自于谁 smtp=smtp.163.com
#smtp是邮箱服务器地址
set smtp-auth-user=接收邮件的邮箱地址 smtp-auth-password=授权码
set smtp-auth=login [root@zserver yum.repos.d]# vim /usr/local/zabbix/etc/zabbix_server.conf
#末行追加
AlerScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
#设置邮件报警脚本路径 [root@zserver yum.repos.d]# vim /usr/local/zabbix/share/zabbix/alertscripts/mail.sh
#!/bin/bash
#export.UTF-8
bt=$2
sjr=$1
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
/usr/bin/dos2unix -k $FILE
/bin/mail -s "$bt" "$sjr" <$FILE
[root@zserver ~]# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/mail.sh [root@zserver ~]# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/mail.sh
[root@zserver ~]# touch /tmp/mailtmp.txt
[root@zserver ~]# chmod 777 /tmp/mailtmp.txt
[root@zserver ~]# chown zabbix:zabbix /tmp/mailtmp.txt #文件以及报警脚本的归属以及权限,注:脚本文件和存放邮件消息文件归属必须是zabbix;
  • 配置zabbixweb监控项邮件报警
-->管理

    -->报警媒介类型

        -->创建媒体类型

            -->自定义名称
-->类型选择脚本
-->脚本名称我这里输入mail.sh(要和真实脚本名称一致)
-->添加三个脚本参数分别为{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE} -->添加
  • 配置zabbix中的用户所使用的报警媒介类型以及接收邮件的邮箱;
-->管理

    -->用户

        -->Admin

            -->报警媒介

                -->添加

                    -->类型选择,刚才添加的自定义名称
-->收件人填写收件人的邮箱地址 -->添加 -->更新
  • 创建发送邮件的动作
-->配置

    -->动作

        -->创建动作

            -->自定义动作名称

            -->操作

                -->默认操作步骤持续时间 60s(设置报警邮件间隔时间)
-->默认标题 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! (报警邮件的标题)
-->消息内容
告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID} -->新的 -->用户选择admin -->仅送到刚才添加的自定义名称 -->添加 -->恢复操作和操作写的内容一样(确认操作写的内容也是一样的) -->添加 现在是没有任何条件,即发生任何动作都会触发邮件报警 使用zagent主机上ftp服务做测试,现在将其关掉 稍等几秒监控图形已经可以看到值为0了

三.总结

  • 测试过程总体还算是顺利,但是zabbix也不可能做到实时监控,肯定会有时间延迟,虽然是测试环境资源也足够,还是没有实时报警,差不多服务停掉3分钟后才收到邮件
  • 本案例没有将图片上传出来,会影响阅览者阅读的直观性
  • 监控布置的结果虽然有了,但是思路还是不清晰

zabbix监控MySQL,Tomcat及配置邮件报警的更多相关文章

  1. zabbix server3.4 使用mailx配置邮件报警

    软件具体配置如下: 操作系统:Centos7.5 zabbix server版本:zabbix server3.4 zabbix agent版本:zabbix agent3.0 现在开始配置zabbi ...

  2. Zabbix监控mysql主从状态并实现报警

    一.环境需求 主机A: zabbix-server 主机B: zabbix-agent/mysql从 二.主机B操作 1.添加监控脚本 vim /data/zabbix/mysql_slave_che ...

  3. zabbix利用mutt和msmtp配置邮件报警

    Mutt安装 yum –y install mutt msmtp安装 yum –y install openssl openssl-devel libntlm libntlm-devel cyrus- ...

  4. zabbix监控mysql主从同步和延迟

    https://blog.csdn.net/natmazz/article/details/90581490 https://www.cnblogs.com/01-single/p/10602610. ...

  5. Zabbix监控mysql配置及故障告警配置

    本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况.同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配 ...

  6. zabbix配置邮件报警(第四篇)

    zabbix配置邮件报警(第四篇) 邮件报警可采用本地邮件服务,也可以自定义脚本,这里我采用本地邮件服务报警 添加收件人

  7. zabbix监控mysql性能

    使用zabbix监控mysql的三种方式 1.只是安装agent 2.启用模板监控 3.启用自定义脚本的模板监控 zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中. ...

  8. zabbix 监控MySQL

    现在我来说一下我的监控环境 zabbix-3.0.3 MySQL-5.6.23 1.首先我们要登录MySQL,创建一个监控MySQL的用户 GRANT USAGE,PROCESS,SUPER,REPL ...

  9. Zabbix 监控MySQL、Apache、Nginx应用监控

    zabbix对第三方应用软件的监控,主要有两个工作难点,一个是编写自定义监控脚本,另一个是在编写模板并导入zabbix web中,编写脚本这个要根据 监控需求定制即可,而编写模板文件有些难度,不过网上 ...

随机推荐

  1. (十)Centos之文件搜索命令find

    1.1 find [搜索范围] [搜索条件](搜索文件) find是在系统当中搜索符合条件的文件名. 如果需要匹配,使用通配符匹配,通配符是完全匹配. * 匹配任意内容 ?匹配任意一个字符 []匹配任 ...

  2. 【Leetcode_easy】754. Reach a Number

    problem 754. Reach a Number solution1: class Solution { public: int reachNumber(int target) { target ...

  3. jenkins的slave/agent如何通过tcp端口和master建立连接

    Jenkins是master-slave/agent结构,可以通过代理把任务下发到各个agent/slave上去执行 如图,首先在master上开启代理配置,指定master上开启的tcp端口,以及和 ...

  4. sql server 查看索引碎片大小,并定期重建索引

      查看碎片情况使用  dbcc showcontig 函数来进行 代码: --改成当前库 use DB_Name --创建变量 指定要查看的表 declare @table_id int set @ ...

  5. from表单上提交的数据都去了哪里呢?

    from表单上提交的数据都去了哪里呢? 一个简单的from案例如下: <form> 姓名:<br> <input type="text" name=& ...

  6. (IStool)64位软件安装在32位操作系统时给出提示

    需求:64位的软件当在32位操作系统下安装时,需要提示用户不能在32位操作系统中进行安装 实现:打包时启用64位模式(打包工具用的是Inno Setup 5) 安装脚本段需要添加以下代码: [Setu ...

  7. Matlab给曲线添加加参考线

    声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 对于Matlab的使用情况常常是这样子的,很多零碎的函数名字很难记忆,经常用过后过一段时间就又忘记了,又得去网 ...

  8. NET CORE与Spring Boot

    NET CORE与Spring Boot 本文分别说明.NET CORE与Spring Boot 编写控制台程序应有的“正确”方法,以便.NET程序员.JAVA程序员可以相互学习与加深了解,注意本文只 ...

  9. csu 1901: 赏赐 OR 灾难

    1901: 赏赐 OR 灾难 Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 86  ...

  10. nginx 进程管理-信号

    进程结构:一个master进程和多个子进程. 子进程分两类:一种是 Worker 进程,另一种是 Cache 相关的进程. master进程:管理 Worker 进程,发送信号. 接收信号: TERM ...