美国Linux服务器系统程序通常需要考虑很多细节方面的问题,这些细节问题涉及面广且零碎,而且基本上是模板式的,所以通常被称之为美国Linux服务器系统的程序规范。比如美国Linux服务器系统程序一般以后台进程形式运行,后台进程又称守护进程,它没有控制终端,因而也不会意外接收到用户输入。守护进程的附进程通常是init进程,PID为1的进程。本文小编就来讲讲美国Linux服务器系统的程序规范。
美国Linux服务器系统程序通常有一套日志系统,它能输出日志到文件,有的高级功能还能输出日志到专门的UDP服务器,美国Linux服务器系统大部分后台进程都在/rar/log目录下拥有自己的日志目录。
美国Linux服务器系统程序一般以某个专门的非root身份运行。比如mysqld、hpd、rsyslogd等后台进程,分别拥有自己的运行账户ysql、 apache和 rsyslogd。
美国Linux服务器系统程序通常是可配置的。美国Linux服务器程序通常能处理很多命令行选项,如果一次运行的选项太多,则可以用配置文件来管理,所以绝大多数美国Linux服务器程序都有配置文件,并存放在/ete目录下。
美国Linux服务器系统进程通常会在启动的时候生成一个PID文件并存入/arrun目录中,以记录该后台进程的PID。比如 rsyslogd的PID文件是varrun/rsyslogd pid。
美国Linux服务器系统程序通常需要考虑系统资源和限制,以预测自身能承受多大负荷,比如进程可用文件描述符总数和内存总量等。同时美国Linux服务器的调试和维护都需要一个专业的日志系统。 美国Linux服务器系统提供一个守护进程来处理系统日志 rsyslogd,不过现在的美国Linux系统上使用的都是它的升级版 -rsyslogd。
rsyslogd守护进程既能接收用户进程输出的日志,又能接收内核日志。用户进程是通过调用 rsyslogd函数生成系统日志的。该函数将日志输出到一个美国Linux服务器本地域 socket类型的文件 dev/log中,rsyslogd则监听该文件以获取用户进程的输出。
内核日志在老的美国Linux服务器系统上是通过另外一个守护进程 klog来管理的, rsyslogd利用额外的模块实现了相同的功能。内核日志由 printk等函数打印至内核的环状缓存ringbuffer中。环状缓存的内容直接映射到/ proc/kms文件中,rsyslogd则通过读取该文件获得内核日志。
rsyslogd守护进程在接收到用户进程或内核输入的日志后,会把它们输出至某些特定的日志文件。默认情况下,调试信息会保存至/ar/log/debug文件,普通信息保存至/ar/log/messages文件,内核消息则保存至var/log/kern. log文件。不过日志信息具体如何分发,可以在 rsyslogd的配置文件中设置。
rsyslogd的主配置文件是/etc/rsyslogd,dconf,其中主要可以设置的项包括内核日志输入路径,是否接收UDP日志及其监听端口,默认是514,见/etc/ services文件,是否接收TCP日志及其监听端口,日志文件的权限,包含哪些子配置文件,比如/etc/rsyslogd,dconf。 rsyslogd的子配置文件则指定各类日志的目标存储文件。