Linuxサービス管理
この記事のディレクトリ:
11.1 サービスの概念
11.2 独立したデーモンの管理
11.3 管理 サービスは起動時に自動的に開始されます
11.4 xinetd および関連する一時デーモンの管理
11.5 CentOS 7 でのサービスの管理
CentOS 7 と CentOS 6 ではサービスを管理する方法がまったく異なります。この記事では、最初に CentOS 6 での管理方法を説明し、最後に CentOS 7 でのサービスの管理方法を一覧表示します。
11.1 サービスの概念
サービスは、外部の世界にサービスを提供するプロセスであり、常に外部の世界からのサービス要求を提供する必要があるため、バックグラウンドに配置されます。サービス プロセスはメモリ内に常駐する必要があり、ターミナルに関連付けるべきではありません。そうしないと、サービス プログラムを終了するときにターミナルも終了します。また、外部からのリクエストを受け付けて外部にサービスを提供するには、そのサービス専用の「サービス窓口」が必要で、このサービス窓口がポート番号であり、そのポートを通じてサービスプロバイダを見つけることができます。番号。
サービスを提供する側をサーバーといい、サーバーにサービスを要求する側をクライアントといいます。まず、サーバーがサービス プロセスを開始し、この時点で対応するポート番号が開きます。次に、クライアントはサーバーの IP アドレスとポート番号を指定して、サーバーが配置されているホストのカーネルにリクエストを送信します。カーネルは、要求パケットを受信してデータを分析します。パケット検出要求は特定のポート番号を対象としているため、アプリケーションがメッセージを受信した後、対応するアプリケーションに要求メッセージを送信します。 、クライアントとの接続を確立し、データ送信を実行します。
すべてのサービスが常にポート番号を提供するわけではないことにも注意してください。たとえば、xinetd サービスは、必要な場合にのみ対応するポートを引き継ぎます。たとえば、rsync リスニング ポートが 222 の場合、xinetd は、rsync が要求されたときに、対応するポートを引き継ぎます。リスニングプロセス中のポート番号は 222 です。要求されていない場合、xinetd にはポート番号がありません。
Linux では、サービスは独立したデーモンとスーパー デーモンに分かれています。独立したデーモン プロセスはバックグラウンドで自身を監視しており、基本的にすべてのサービスは独立したデーモン クラスのサービスです。スーパー デーモンは、具体的には xinetd サービスを指します。このサービスは、そのようなサービスが要求されると、このタイプのサービスを開始するように通知します。サービスは一時的にのみ存在するデーモン プロセスと呼ばれます。
ただし、スーパー デーモン xinetd 自体は、管理する一時デーモンに対する外部からのリクエストをリッスンするため、メモリ内に常駐する独立したデーモンであることを理解する必要があります。ただし、xinetd は、動作していないときはポート番号を占有せず、動作しているときは、要求された一時デーモンのポート番号を占有し、リスニング状態になります。
11.2 独立したデーモンの管理
CentOS 6 では、すべてのサービス スクリプトは /etc/rc.d/init.d/ ディレクトリにあり、/etc/init.d/ はそのソフト リンクです。このディレクトリ内のスクリプトはすべて LSB スタイルのスクリプトであり、基本的に start/stop/restart/reload/status などのパラメータを受け入れます。
[root@xuexi tmp]# ls /etc/init.d abrt-ccpp cpuspeed irqbalance messagebus psacct saslauthd abrtd crond kdump netconsole quota_nld single abrt-oops functions killall netfs rdisc smartd acpid haldaemon lvm2-lvmetad network restorecond sshd atd halt lvm2-monitor ntpd rngd svnserve auditd ip6tables mcelogd ntpdate rsyslog sysstat blk-availability iptables mdmonitor postfix sandbox udev-post
独立したデーモンのようなサービスを管理するには
/etc/init.d/service_name restart|start|stop|status # 方法一 service service_name restart|start|stop|status # 方法二
サービスをserviceコマンドで管理できるようにするには、そのサービススクリプトを/etc/init.dディレクトリに配置するだけです。
11.3 管理サービスはブート時に自動的に開始されます
chkconfig コマンドは、/etc/init.d/ ディレクトリに存在し、スクリプトの内容が特定の条件を満たしているサービスを管理できます。
chkconfig が起動時にサービスを自動的に開始するかどうかを制御できるようにするには、スクリプトを /etc/init.d ディレクトリに配置し、スクリプトの前に chkconfig 行と description 行を追加します。例:
#!/bin/bash # chkconfig: - 85 15# description: The Apache HTTP Server is an efficient and extensible
これらの 2 行はすべての非コメント行の前に置く必要があり、これらの 2 行は「コメント化」する必要があります。 chkconfig 行の「-」は実行レベル 123456 に適用できることを示し、85 はコンピュータの電源がオンになったときの起動シーケンスが 85 であることを示し、15 はシャットダウンしてサービスが停止したときの起動シーケンスが 85 であることを示します。停止シーケンスは15です。説明行には説明情報を入力するだけで済みますが、「description:」キーワードを指定する必要があります。
その後、chkconfig を使用してサービスの自動起動を管理できます。
当然,除了chkconfig可以管理开机自启动,将启动命令放在/etc/rc.d/rc.local文件中也是可以的。
11.4 管理xinetd及相关瞬时守护进程
11.4.1 管理瞬时守护进程
该类服务不能直接使用service命令来启动。只能去/etc/xinetd.d/目录下的对应文件中进行设置(当然,也可以在/etc/xinetd.conf中配置),然后由xinetd进行管理。
首先安装xinetd程序。
[root@xuexi tmp]# yum -y install xinetd [root@xuexi tmp]# chkconfig --list ......省略 xinetd 0:off 1:off 2:off 3:on 4:on 5:on 6:off xinetd based services: chargen-dgram: off chargen-stream: off daytime-dgram: off daytime-stream: off discard-dgram: off discard-stream: offecho-dgram: offecho-stream: off rsync: off tcpmux-server: offtime-dgram: offtime-stream: off
首先得保证xinetd是已经工作在后台的。
service xinetd start
然后管理瞬时守护进程,该类服务比较特别,其自启动状态和服务运行状态是同步的,也就是说chkconfig设置了其自启动则表示启动该服务,否则为停止该服务。另外,对其指定级别是无效的,它们的启动级别继承与xinetd的启动级别,并且xinetd会接管其触发的瞬时守护进程的端口号。
例如启动rsync这个瞬时守护进程。
chkconfig rsync on
11.4.2 瞬时守护进程的配置
瞬时守护进程受两个配置文件控制,一个是xinetd的配置文件/etc/xinetd.conf提供默认配置,一个是/etc/xinetd.d/下的配置文件针对对应的服务提供配置。
例如配置rsync,以下是/etc/xinetd.d/rsync的默认配置。
[root@xuexi tmp]# vi /etc/xinetd.d/rsync # default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync # 定义rsync服务,名称要和/etc/xinetd.d/下的文件同名 { disable = yes # yes表示不启动,no表示启动,等价于chkconfig rsync {on|off},所以这里设置后将直接在chkconfig中生效 flags = IPv6 # 不用管 socket_type = stream # 这代表的是tcp类型的套接字wait = no # 该服务是单线程还是多线程的,表现形式是超出的请求是否进行等待,no表示多线程 user = root # 以什么身份运行rsync server = /usr/bin/rsync # 服务程序 server_args = --daemon # 服务程序启动时传递的参数 log_on_failure += USERID # 连接失败的日志记录,+表示在全局对应的条目上新增此处指定的USERID }
除此之外,还有几个选项:
【访问控制选项】以下两个控制列表中最好不要出现冲突的地址。 only_from:定义允许连接的访问控制列表,支持单IP,CIDR格式和长mask格式的网段,主机名hostname,域DOMAIN(.abc.com) no_access:定义不允许访问的列表,语法格式同only_from 【监听地址】 bind = ip_addr interface = ip_addr # 等价于bind 【资源控制】 cps=args1 args2 instances=N per_source=N
这3个选项的意义如下图。
11.5 CentOS 7上管理服务
service name start ==> systemctl start name.service
service name stop ==> systemctl stop name.service
service name restart ==> systemctl restart name.service
service name status ==> systemctl status name.service
查看服务是否激活(在运行中):systemctl is-active name.service
查看所有已经激活 :systemctl list-units --type service
查看所有服务 :systemctl list-units --type service --all
设置开机自启动:chkconfig name on ==> systemctl enable name.service
禁止开机自启动:chkconfig name off ==> systemctl disable name.service
查看服务是否开机自启动:chkconfig --list name ==> is-enabled name.service
查看所有服务的开机自启动状态:chkconfig --list ==> systemctl list-unit-files --type service
回到系列文章大纲:
转载请注明出处:
以上がLinuxサービス管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Redis を使用して分散トランザクション管理を実装する方法 はじめに: インターネットの急速な発展に伴い、分散システムの使用がますます普及しています。分散システムでは、トランザクション管理が重要な課題です。従来のトランザクション管理方法は分散システムに実装するのが難しく、非効率的です。 Redisの特性を利用して、分散トランザクション管理を容易に実現し、システムのパフォーマンスと信頼性を向上させることができます。 1. Redis の概要 Redis は、効率的な読み取りおよび書き込みパフォーマンスと豊富なデータを備えたメモリベースのデータ ストレージ システムです。

リモート デスクトップ接続は多くのユーザーの日常生活に利便性をもたらしていますが、操作がより便利なコマンドを使用してリモート接続したいと考えている人もいます。リモート デスクトップ接続サービスは、コマンドを使用して開くことでこの問題を解決できます。リモート デスクトップ接続コマンドの設定方法: 方法 1. コマンドを実行してリモート接続します。 1. 「Win+R」を押して「ファイル名を指定して実行」を開き、「mstsc2」と入力し、「オプションの表示」をクリックします。 3. IP アドレスを入力して、「クリック」をクリックします。 "接続する"。 4. 接続中であることが表示されます。方法 2: コマンド プロンプトを介してリモート接続する 1. 「Win+R」を押して「ファイル名を指定して実行」を開き、「cmd2」と入力します。「コマンド プロンプト」に「mstsc/v:192.168.1.250/console」と入力します。

Linux でサービスを再起動する正しい方法は何ですか? Linux システムを使用していると、特定のサービスを再起動する必要がある状況がよく発生しますが、サービスの再起動時に実際にサービスが停止しない、または開始しないなどの問題が発生することがあります。したがって、サービスを再起動する正しい方法を習得することが非常に重要です。 Linux では、通常、systemctl コマンドを使用してシステム サービスを管理できます。 systemctl コマンドは systemd システム マネージャーの一部です

Javaで生徒の成績管理機能を実装するにはどうすればよいですか?現代の教育システムでは、生徒の成績管理は非常に重要な課題です。生徒の成績を管理することで、学校は生徒の学習進度をより適切に監視し、生徒の弱点と長所を理解し、この情報に基づいてより的を絞った指導計画を立てることができます。この記事では、Java プログラミング言語を使用して生徒の成績管理機能を実装する方法について説明します。まず、生徒の成績のデータ構造を決定する必要があります。通常、学生の成績は次のように表すことができます。

win10システムを使用している場合、マウスを使用してデスクトップを右クリックしたり、右クリックメニューを実行したりすると、メニューが開かなくなり、コンピュータを正常に使用できなくなります。問題を解決するシステム。 Win10 の右クリック メニュー管理を開くことができません: 1. まずコントロール パネルを開き、クリックします。 2. 次に、「セキュリティとメンテナンス」の下をクリックします。 3. 右側をクリックしてシステムを復元します。 4. それでも使用できない場合は、マウス自体に問題がないか確認してください。 5. マウスに問題がないことを確認したら、+ を押して Enter を押します。 6. 実行が完了したら、コンピュータを再起動します。

タイトル: Ubuntu で PHP サービスが正常に起動できない問題を解決する方法と具体的なコード例 Ubuntu を使用して Web サイトやアプリケーションを構築する場合、PHP サービスが正常に起動できず、Web サイトが起動できないという問題がよく発生します。正常にアクセスできなくなるか、アプリケーションが正常に機能できなくなります。この記事では、Ubuntu で PHP サービスが正常に開始できない問題を解決する方法を紹介し、読者がそのような問題をすぐに解決できるように具体的なコード例を示します。 1. PHP 設定ファイルを確認する まず、PHP 設定ファイルを確認する必要があります。

ディスク管理をパーティション分割する方法 コンピュータ技術の継続的な発展に伴い、ディスク管理はコンピュータの使用に不可欠な部分になりました。ディスク管理の重要な部分として、ディスク パーティショニングによりハード ディスクを複数の部分に分割し、データをより柔軟に保存および管理できるようになります。では、パーティションディスクを管理するにはどうすればよいでしょうか?以下、詳しくご紹介していきます。まず、ディスクのパーティション分割方法は 1 つだけではなく、さまざまなニーズや目的に応じて柔軟に選択できることを明確にする必要があります。頻繁

キャッシュ管理に Hyperf フレームワークを使用する方法 キャッシュはアプリケーションのパフォーマンスを向上させる重要な手段の 1 つであり、最新のフレームワークはより便利なキャッシュ管理ツールを提供します。この記事では、キャッシュ管理に Hyperf フレームワークを使用する方法を紹介し、具体的なコード例を示します。 Hyperf フレームワークは、Swoole をベースに開発された高性能フレームワークで、強力なキャッシュ管理機能を含む豊富な組み込みコンポーネントとツールのセットを備えています。 Hyperf フレームワークは、Redis や Memcach などの複数のキャッシュ ドライバーをサポートします。
