検索
ホームページ運用・保守Linuxの運用と保守HTTPサービス構築例を詳しく解説

HTTPサービス構築例を詳しく解説

Jun 27, 2017 am 10:06 AM
http建てる仕える

1. はじめに
1.
による暗号化された Web ページ (https): tcp:443 について知る
1. 最新バージョンは、この Web サイトのサーバーの使用状況で確認できます。
ハイパーテキスト転送プロトコル (HTTP、ハイパーテキスト転送プロトコル) は、インターネット上で最も広く使用されているネットワーク プロトコルです。すべての WWW ファイルはこの標準に準拠する必要があります。 HTTP を設計する本来の目的は、HTML ページを公開および受信するメソッドを提供することでした
2. Apache
Apache HTTP サーバー (Apache と呼ばれる) は、Apache Software Foundation のオープン ソース Web サーバーです。ほとんどのコンピュータのオペレーティング システムで動作し、そのマルチプラットフォームとセキュリティにより広く使用されています。その
機能は次のとおりです。最新の HTTP/1.1 通信プロトコルをサポートします 2. シンプルで強力なファイルベースの構成プロセスを備えています 3. ユニバーサル ゲートウェイ インターフェイスをサポートします
4. IP ベースおよびドメイン名ベースの仮想ホストをサポートします
5.複数の HTTP 認証方法をサポート
6. 統合された Perl 処理モジュール
7. 統合されたプロキシ サーバー モジュール
8. サーバー ステータスのリアルタイム監視とカスタマイズされたサーバー ログをサポート
9. サーバー側の組み込み命令をサポート)
10. Secure Socket Layer (SSL) をサポートします
11. ユーザーセッションプロセスの追跡を提供します
13. サードパーティモジュールを介して JavaServlet をサポートします
www.apache.org --apache 公式 Web サイト
# yum install httpd* -- httpd サービスをインストールします
# httpd -t -- 設定ファイルが正しいことを確認します
# rm -rf /etc/httpd/conf .d/welcome.conf --httpd がインストールされているため、ウェルカム インターフェイスを削除します -
/ServerIp/manual
4. prefork、worker
の 2 つのモードで実行します。モード:
prefork は Unix プラットフォームのデフォルト (デフォルト) MPM であり、それぞれが 1 つのスレッドのみを持つ複数の子プロセスを使用します。各プロセスは特定の時点で 1 つの接続のみを維持できるため、効率は非常に高いですが、大量のメモリを消費します。 このマルチプロセッシング モジュール (MPM) は、Apache 1.3 と同様に動作する、非スレッドの事前フォークされた Web サーバーを実装します。これは、スレッドセーフなライブラリを持たず、スレッドの互換性の問題を回避する必要があるシステムに適しています。これは、各リクエストが互いに独立している必要がある場合に最適な MPM であり、1 つのリクエストで問題が発生しても他のリクエストに影響を与えません。
ワーカーモード:
ワーカーは
複数のサブプロセスを使用し、各サブプロセスには複数のスレッドがあります
、各スレッドは特定の時間に1つの接続のみを維持できます、メモリ使用量は比較的小さく、高トラフィックのhttpに適していますサーバー。欠点は、スレッドがクラッシュすると、そのスレッドのいずれかとともにプロセス全体が「停止」することです。そのため、プログラムの実行中に、プログラムが「すべてのスレッドが安全」であるとシステムに認識される必要があります。 このマルチプロセッシング モジュール (MPM) により、Web サーバーはマルチスレッドとマルチ処理の混合をサポートできるようになります。リクエストの処理にはスレッドが使用されるため、プロセスベースの MPM よりも少ないシステム リソースのオーバーヘッドで大量のリクエストを処理できます。ただし、プロセスベースの MPM の安定性を得るために、それぞれが複数のスレッドを持つ複数のプロセスも使用します。
# httpd -l -- 実行モードを表示、デフォルトは prefork.c です
# mv -v /usr/sbin/httpd{,.prefork} -- バックアップ prefork モード
# mv -v /usr/sbin / httpd{.worker,} -- ワーカーモードを使用します
2. 設定ファイルの詳細な説明
1. グローバル環境パラメータ
OS
-- サーバーがホストに応答するときに Apache を表示しますヘッダー情報 バージョンとオペレーティング システム名
ServerRoot "/etc/httpd"
-- 一般的に、これには conf/ サブディレクトリと logs/ サブディレクトリが含まれます。このディレクトリにあります。
PidFile run/httpd.pid
-- 最初の httpd プロセス (他のすべてのプロセスの親プロセス) のプロセス番号ファイルの場所。
タイムアウト 60
-- 60 秒後にデータの送受信がない場合、接続は切断されます
キープアライブ オフ
-- キープアライブ機能はデフォルトでは使用されません。つまり、クライアントは接続をリクエストするときは、一度に 1 つのファイルにのみ応答します
MaxKeepAliveRequests 100 を許可することをお勧めします -- キープアライブ機能を使用する場合、クライアントが応答できるファイルの最大上限を設定します。一度接続を要求すると、制限を超えると切断されます
KeepAliveTimeout 15 --キープアライブ機能を使用する場合、隣接する接続間の時間間隔が15秒を超えると、接続が切断されます
......
Listen 80 -- サーバーがリッスンするポート番号。さらに多くのリッスン ポートを開くことができます
conf.d/*.conf を含めます -- /etc/httpd/ に conf で終わるすべての設定を含めますconf.d ディレクトリ ファイルが含まれます
ユーザー apache -サービスを提供するサブプロセスのユーザー
グループ apache -サービスを提供するサブプロセスのユーザーグループ
ServerAdmin root@george.com -- 管理者の電子メール アドレス
ServerName mail.george.com:80 -- メイン サイト名 (Web サイトのホスト名)
UseCanonicalName Off
DocumentRoot "/var/www /html" -- Web ドキュメントのルート ディレクトリを設定します。ただし、シンボリック リンクとエイリアスを使用して他の場所を指すことができます。絶対パスでない場合は、ServerRoot からの相対パスとみなされます
2パス制御パラメータ
DirectoryIndexindex.htmlindex.html.var --Web サイトのデフォルトの Web ページファイル名、左優先
AccessFileName .htaccess --保護されたディレクトリ構成ファイルの名前を指定します
--------------------- ------------------------ ------------------------ ------------------------ -------
--カプセル化用 ディレクトリとそのサブディレクトリにのみ有効な一連の命令。 ファイル システム上のディレクトリの場合
オプション インデックス FollowSymLinks
AllowOverride None
順序許可、拒否
すべてから許可
192.168.133.22 から拒否
&g t; ​​
ディレクトリ- path -- には、ディレクトリへのフルパス、または Unix シェル一致構文を含むワイルドカード文字列を指定できます。ワイルドカード文字列では、「?」は任意の 1 文字に一致し、「*」は任意の文字のシーケンスに一致します。 「[]」を使用して文字範囲を決定することもできます。正規表現は、「~」文字の後にも使用できます
オプション --このコマンドの値は、「なし」、「すべて」、または次のオプションの任意の組み合わせです: Indexes(' が前に付きます) -' を指定すると、Web サイトのリスト機能がオフになります。
AllowOverride -- .htaccess ファイルに配置された制御ディレクティブ。 All、None (.htaccess 内の構成は表示されない)、または次のディレクティブの組み合わせにすることができます。 。 oreder のパラメーターは最終的には右側に基づいており、順序は逆にすることができます
------------------------------------- ---------- -------------------------------------- ------- -----------------------
- - 指定されたファイル
について、
は特定のディレクトリの下にあることも、グローバルに存在することもできます
注文を拒否、許可 すべてから許可
ディレクトリ>
-------------------------------------------- --- --------------------------------------------------- --- ------
--
URL「http://servername/server-status」を使用してサーバーのステータス (または情報) を表示できるようにします。
Locationは主に制御URLです
SetHandlerserver-status(server-info)Order Deny,allowAllow from all
------ ---------------------------------------------------- ---------------------------------------------------- ----
Alias
/ url-path /filesystem-path
-- URL をファイル システム パスにマップします (システム上で ln -s ソフト リンクを使用してこれを実現することもできます)
3. ディレクトリ アクセスのユーザー パスワード制御 (システム ユーザー以外)
--
理論は場所、ファイルでも使用できます
オプションインデックスFollowSymLinks
AllowOverrideNone
注文許可、拒否
すべてから許可
authname "自分自身を認証" --URLを開くようにブラウザにプロンプ​​トが表示される
authtype Basic
authuserfile /etc/httpd/userpasswd --ユーザーとパスワード ファイルの場所
require valid-user
# htpasswd -c /etc/httpd/userpasswd Frank -- アクセスを許可するユーザーを作成します
# htpasswd /etc/httpd/userpasswd george - -別のユーザーを作成します。「-c」パラメータを覚えておいてください。これはパスワード ファイルを作成するためのもので、最初のユーザーを作成する場合にのみ使用できます。
注: ディレクトリがパスワード制御されたアクセスを使用している場合、その親ディレクトリが Web ブラウザを通じてリストされるときに、そのディレクトリは表示されません。つまり、非表示になります。ただし、URL を直接入力するとアクセスできます (アカウントとパスワードがある場合でも)。
4. ドメイン名ベースの仮想ホスト
NameVirtualHost *:80 -- この設定を追加して、ポート 80 を仮想ホスト ポートとして設定します
サーバー名 www.george.com
DocumentRoot /var/www/html/
.... ... .
--2 番目の仮想ホスト
ServerName mail.george.com
DocumentRoot /var/ www/cgi- bin/openwebmail/
ScriptAlias /mail /var/www/cgi-bin/openwebmail/openwebmail.pl
.... .. ......
この実験の SeverName パラメータが IP アドレスに接続されている場合、IP ベースの仮想ホストを作成することもできます
5. ログパラメータ
ErrorLog logs/error_log --エラーの保存場所log
LogLevel warn -- エラー ログ レベルを定義します。次のものが含まれます: デバッグ、情報、通知、警告、エラー、クリティカル、アラート、緊急。
LogFormat "%h %l %u %t "%r" %>s %b " %{Referer}i" "%{User-Agent}i"" を組み合わせた
......
LogFormat "%{User-Agent}i"エージェント -- この 4 つは、アクセス ログのデフォルトの形式です
CustomLog logs/access_log を組み合わせた -- 組み合わせたアクセス ログ形式を使用します
%h – クライアントの IP アドレスまたはホスト名
%l – これは RFC で判断されましたclient identd 1413 ID によると、出力内の記号「-」は、ここでの情報が無効であることを示します。
%u – HTTP 認証システムによって取得された Web ページにアクセスしたクライアントの名前。出力内の「-」記号は、ここでの情報が無効であることを示します。
%t – サーバーがリクエストの処理を完了した時刻。
"%r" – 引用符は、顧客から送信されたリクエストの内容であり、多くの有益な情報が含まれています。
%>s – これはサーバーからクライアントに返されるステータス コードです。
%b – 最後の項目は、応答ヘッダーを除いてクライアントに返されるバイト数です。
"%{Referer}i" – この項目は、リクエストが送信された Web ページを指定します。
「%{User-Agent}i」 – この項目は、お客様のブラウザから提供されるブラウザ識別情報です。
6. SSL暗号化設定
# yum install -y mod_ssl --暗号化モジュールをインストールします
# vim /etc/httpd/conf.d/ssl.conf
ErrorLog LOGS/SSL_ERROR_LOG
TRANSFERLLOG LOGS/SSL_ACCESS_LOG
LOGLEVEL WarNGINGINGINGINGINGINGINGINGICOCOL すべて -sslv2
SSLCIPHERTE デフォルト:! シード:!
SSLCertificateFile /etc/pki/tls/certs/localhost.crt --設定公開鍵ファイル
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key --設定秘密鍵ファイル
SSLOptions +StdEnvVars
ServerName www.george.com
DocumentRoot /var/www/cgi-bin/openwebmail /
ScriptAlias /mail /var/www/cgi-bin/openwebmail/openwebmail.pl
SSLOptions +StdEnvVars
Options Indexes
order拒否、許可
すべてから許可
</location> h % {SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
6.1. 証明書を自分で設定します
# mkdir /etc/pki/test/
# cd /etc/ pki/test
# openssl genrsa -out /etc/pki/test/test.key 1024 --秘密鍵
# openssl req -new -key test.key -out test.csr国名 ( 2 文字コード ) [XX]:
cn
州名または省名 (フルネーム) []:
広東
地域名 (例:都市) [デフォルトの都市]:
深セン
組織名 (例: 、会社) [デフォルト会社株式会社]:
IT
組織単位名 (例: セクション) []:maintenance
共通名 (例: 自分の名前またはサーバーのホスト名) []:www.george.com
メールアドレス []:root@mail .george.com
証明書リクエストと一緒に送信される次の「追加」属性を入力してください
チャレンジパスワード []:123456
オプションの会社名 []:Azt
# openssl req -x509 -days 365 -key test.key -in test.csr -out test.crt --公開キー
# ls --次に、次の test.crt && test.key を /etc/httpd/conf に設定します。 .d/ssl.conf は
test.crt test.csr test.key
6.2. 設定した証明書をテストします
ただし、自分で作成した証明書はブラウザで認識されると信頼されません ステータスも「CA ルート証明書が「信頼されたルート証明機関」ストアにないため、信頼できません。

ブラウザで自分で作成した証明書 (test. crt) を手動で追加する必要があります。」 「信頼されたルート証明機関」および「信頼された発行者」。 Google Chrome を例にとると、手順は次のとおりです。

その後、さらにいくつかのダイアログボックスが表示されます。「次へ」-「完了」-「はい」をクリックします。それで大丈夫です。

その際、ブラウザで弊社Webサイトを開いて証明書の状況を確認してください「証明書に問題はありません」。

以上がHTTPサービス構築例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Linuxのメンテナンスモード:それを使用する時期と理由Linuxのメンテナンスモード:それを使用する時期と理由Apr 25, 2025 am 12:15 AM

Linuxメンテナンスモードを使用するタイミングと理由:1)システムが起動するとき、2)主要なシステムの更新またはアップグレードを実行するとき、3)ファイルシステムメンテナンスを実行するとき。メンテナンスモードは、安全で制御された環境を提供し、運用上の安全性と効率を確保し、ユーザーへの影響を減らし、システムセキュリティを強化します。

Linux:必須コマンドと操作Linux:必須コマンドと操作Apr 24, 2025 am 12:20 AM

Linuxの不可欠なコマンドは次のとおりです。1.LS:リストディレクトリの内容; 2.CD:作業ディレクトリを変更します。 3.mkdir:新しいディレクトリを作成します。 4.RM:ファイルまたはディレクトリを削除します。 5.CP:ファイルまたはディレクトリをコピーします。 6.MV:ファイルまたはディレクトリの移動または名前を変更します。これらのコマンドは、カーネルと対話することにより、ユーザーがファイルとシステムを効率的に管理するのに役立ちます。

Linux操作:ファイル、ディレクトリ、およびアクセス許可の管理Linux操作:ファイル、ディレクトリ、およびアクセス許可の管理Apr 23, 2025 am 12:19 AM

Linuxでは、ファイルおよびディレクトリ管理ではLS、CD、MKDIR、RM、CP、MVコマンドを使用し、許可管理はCHMOD、CHOWN、およびCHGRPコマンドを使用します。 1。LS-Lなどのファイルおよびディレクトリ管理コマンドは、詳細情報、MKDIR-Pを再帰的に作成するディレクトリを再帰的に作成します。 2。CHMOD755FILEセットファイル許可、CHOWNUSERFILEファイル所有者、CHGRPGROUPFILEの変更ファイルグループなどの許可管理コマンド。これらのコマンドは、ファイルシステム構造とユーザーおよびグループシステムに基づいており、システムコールとメタデータを介して動作および制御します。

Linuxのメンテナンスモードとは何ですか?説明したLinuxのメンテナンスモードとは何ですか?説明したApr 22, 2025 am 12:06 AM

メンテナンスメモデンリンリンアスピアルブーテンビロンメント、criticalsystemmaincencetasks.itallowsadministratorstopertopertopertopersetstingtingpasswords、Repainingfilesystems、およびRecoveringfrombootfailurureSinaMinimalenvironment.

Linux:基本的な部分に深く潜りますLinux:基本的な部分に深く潜りますApr 21, 2025 am 12:03 AM

Linuxのコアコ​​ンポーネントには、カーネル、ファイルシステム、シェル、ユーザー、カーネルスペース、デバイスドライバー、パフォーマンスの最適化とベストプラクティスが含まれます。 1)カーネルは、ハードウェア、メモリ、プロセスを管理するシステムのコアです。 2)ファイルシステムはデータを整理し、Ext4、BTRFS、XFSなどの複数のタイプをサポートします。 3)シェルは、ユーザーがシステムと対話するためのコマンドセンターであり、スクリプトをサポートします。 4)システムの安定性を確保するために、ユーザースペースをカーネルスペースから分離します。 5)デバイスドライバーは、ハードウェアをオペレーティングシステムに接続します。 6)パフォーマンスの最適化には、システム構成とベストプラクティスのチューニングが含まれます。

Linuxアーキテクチャ:5つの基本コンポーネントを発表しますLinuxアーキテクチャ:5つの基本コンポーネントを発表しますApr 20, 2025 am 12:04 AM

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

Linux操作:メンテナンスモードを利用しますLinux操作:メンテナンスモードを利用しますApr 19, 2025 am 12:08 AM

Linuxメンテナンスモードは、Grubメニューから入力できます。特定の手順は次のとおりです。1)GRUBメニューのカーネルを選択し、「E」を押して編集し、2)「Linux」行の最後に「シングル」または「1」を追加し、3)Ctrl Xを押して開始します。メンテナンスモードは、システム修理、パスワードリセット、システムのアップグレードなどのタスクに安全な環境を提供します。

Linux:リカバリモード(およびメンテナンス)に入る方法Linux:リカバリモード(およびメンテナンス)に入る方法Apr 18, 2025 am 12:05 AM

Linux Recoveryモードを入力する手順は次のとおりです。1。システムを再起動し、特定のキーを押してGrubメニューを入力します。 2。[RecoveryMode)でオプションを選択します。 3. FSCKやrootなどの回復モードメニューで操作を選択します。リカバリモードを使用すると、シングルユーザーモードでシステムを開始し、ファイルシステムのチェックと修理を実行し、構成ファイルを編集し、システムの問題を解決するのに役立ちます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません