ホームページ >バックエンド開発 >PHPチュートリアル >Squid を使用して Windows 上にプロキシ サーバーを構築する_PHP チュートリアル

Squid を使用して Windows 上にプロキシ サーバーを構築する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:52:281892ブラウズ

Squid を使用して Windows 上にプロキシ サーバーを構築する

この記事では、SQUID はマシン 172.20.65.201 に配置され、アプリケーションの WEB SERVER IP は 172.20.65.203 で、SQUID は 201 のポート 80 でリッスンしており、テスト クライアント マシンは 172.20.65.231 で、# はsquid.conf 内のコメントを表すため、特定の設定を有効にするには、前の # を削除する必要があります。 TAGラベルは各機能項目の設定を表します。

1. ダウンロード

Windows用のSQUIDをダウンロードします(私が使用しているバージョンはSquid 2.7.STABLE6です。各バージョンの構成は若干異なる場合がありますので、注意してください)


2. インストール
SQUID を c:squid に抽出します (もちろん、他のドライブ文字で解凍することもできます)

3. ディスク キャッシュとログ ディレクトリを作成します
デフォルトでは、パフォーマンスを確保するためにインストール ディスクの下に作成されます。 d:squidvar ディレクトリを作成し、var ディレクトリの下にログとキャッシュ ディレクトリを作成します。logs ディレクトリはログの保存に使用され、キャッシュ ディレクトリは、より大きなディスク容量を持つドライブ文字を選択します。ハードディスクのキャッシュ データを保存するために使用されます。

4. キャッシュディレクトリの操作権限を確立する
キャプチャしたデータをキャッシュディレクトリに保存できるようにするには、squidAppなどのシステムアカウントを作成し、通常のユーザーグループに属し、d:squidに読み取りと書き込みを許可する必要があります。ユーザーに許可を与えるだけです。

5. ファイルの変更 c:squidetc は、SQUID 設定情報の保存場所です。安全を確保するために、設定ファイルを変更する前に、squid.conf.default をsquid.conf、
mime に変更してください。 .conf.default は mime.conf に変更され、cachemgr.conf.default は cachemgr.conf に変更されます


6. SQUID の設定 SQUID の場合、ほとんどの設定はsquid.confにあります。 :

次のアクセス制御 [プレーン] ビューをオンにします plaincopy
    aclallsrcall
  1. aclmanagerprotocache_object
  2. acllocalhostsrc127.0.0.1/32
  3. aclto_localhostdst127.0.0.0/8
  4. acllocalnetsrc 172.16.65.231/255.255.0.0 は、ローカルネットワークとマスク
オープンアクセスポート[プレーン]プレーンコピーを表示
    aclSSL_portsport443
  1. aclSafe_portsport80#http
  2. aclSafe_portsport21#ftp
  3. aclSafe_portsport443#https
  4. aclSa port70#ゴーファー
  5. aclSafe_portsport210#wais
  6. aclSafe_portsport1025-65535#未登録ポート
  7. aclSafe_portsport280#http-mgmt
  8. aclSafe_portsport488#gss-http
  9. aclSafe_portsport591#filemaker
  10. aclSafe_portsport777#multilinghttp
  11. aclCONNECTmethodCONNECT

アクセス制御をオンにしてください、注意してください注文[プレーン]プレーンコピーを表示
  1. http_accessallowmanagerlocalhost
  2. http_accessdenymanager
  3. http_accessdeny!Safe_ports
  4. http_accessdenyCONNECT!SSL_ports
  5. http_accessallowall
  6. http_accessallowlocalnet
  7. http_accessdenyall

はポート80でリッスンするSQUIDを指定し、vhostはアクセラレーションの使用を指定しますモード、http_prot デフォルトは 3128 です。設定ファイル内で http_prot を検索して、[plain] view plaincopy
  1. http_port80vhost
  2. を表示できます。

172.20.65.203 バックエンド WEB サーバー、親は親ノードを指します、80 はバックエンド Web サイトのポートを指します、0 ICP サービス ポート、キャッシュを取得するときのクエリなしのオリジンサーバー オプション [プレーン] ビュー plaincopy
  1. cache_peer172.20.65 .203parent800no-queryoriginserver

キャッシュ設定 [プレーン] プレーンコピーを表示
  1. maximum_object_size_in_memory1024KB
  2. cache_dirufsd:/squid/var/cache102416256パスに注意してください
  3. maximum_object_サイズ4096KB
  4. cache _swap_low90
  5. cache_swap_high95

ログ設定[プレーン]ビューplaincopy
  1. access_logd: /squid/var/logs/access.log イカのアクセスログ
  2. cache_logd:/squid/var/logs/cache.log
  3. cache_store_logd:/squid/var/logs/store.log
  4. emulate_httpd_logon

コントロール ページ キャッシュ コンテンツ[プレーン]ビュー plaincopy
  1. refresh_pattern^ftp:144020%10080
  2. refresh_pattern^gopher:14400%1440
  3. refresh_pattern-i(/cgi-bin/|?)00%0
  4. refresh_pattern.020%4320
  5. refresh_pattern-i.css$2050%120reload-into-ims
  6. refresh_pattern-i.xml$2050%120reload-into-ims
  7. refresh_pattern-i.html$2090%120reload- -ims
  8. にfresh_pattern-i.jpg$2090%120reload-into-ims
  9. refresh_pattern-i.png$2090%120reload-into-ims
  10. refresh_pattern-i.gif$2090%120ignore-reload
  11. refresh_pattern-i.js$2090%120reロードイン-ims
  12. refresh_pattern-i.htm$2090%120reload-into-ims

メールを設定
[plain]plaincopyを表示
  1. cache_mgrwebmaster_breeze

ローカルホストファイルを設定[plain]plaincopy
  1. hosts_filec:/windows /system32/drivers/etc/hosts

7. サービスをインストールします
コマンド形式: [plain]view plaincopy
  1. squid-i[-fconfigfile][-nservicename] (c:squidsbinsquid など) - i-nSquid_Proxy

8. キャッシュディレクトリを初期化します
[plain]view plaincopy
  1. c:squidsbinsquid-z

9. Squid_Proxy サービスを開始します
services.msc を実行してサービスウィンドウを開き、Squid_Proxy サービスを選択します。起動プロセス エラーの % は、構成ファイルに問題があります。

10. Squidコマンド
[plain]view plaincopy
  1. squid-kreconfigure//新しい設定ファイルを有効にする
  2. squid-krotate//サービスが利用できない場合はログを切り捨てる
  3. squid-kshutdown//stopsquid
  4. squid-dxデバッグ時
その他の設定についてはドキュメントを参照してください

4. SQUID テスト
テスト用のマシンを見つけて、access.log ログを確認します。TCP_DENY 情報が表示される場合は、主に設定が間違っていることが原因です。次のメッセージ TCP_MEM_HIT/200 が表示された場合は、SQUID が有効になり、要求は SQUID が実行されているマシンのメモリから応答されたことを意味します。

######################
一般的に使用されるデバッグ コマンド
#################### # #

1.squid.confで設定したキャッシュディレクトリを初期化します
#squid/sbin/squid -z //squidサービスを初めて起動するときにこのコマンドを入力する必要があります

エラーメッセージがある場合、キャッシュ ディレクトリのアクセス許可を確認してください。

2.squid.conf のトラブルシューティングを行います。つまり、squid.conf の構文と構成を確認します。

#squid/sbin/squid -k parse

squid.conf に構文または設定エラーがある場合は、ここでプロンプトが表示されます。そうでない場合は、Squid を起動してみてください。

3. Squidをフォアグラウンドで起動し、起動プロセスを出力します。

#squid/sbin/squid -N -d1
サーバー要求の準備ができていれば、おめでとうございます。起動は成功です。

次に Ctrl + C を押して Squid を停止し、バックグラウンドでの実行を開始します。

4. バックグラウンドで実行するために Squid を起動します。

#squid/sbin/squid -s

このとき、ps -Aを使用してシステムプロセスを表示すると、2つのsquidプロセスが表示されます。

5.イカを停止します

#squid/sbin/squid -k shutdown
これについては説明する必要はありません。

6. 変更したsquid.confを再起動します

#squid/sbin/squid -k reconfigure

これはおそらく、設定が希望どおりでない場合にはいつでも変更できます。それから、squid.conf のトラブルシューティングを忘れずに行ってから、このコマンドを実行して、実行中の Squid が再びsquid.confに従って実行されるようにします。

7. システム起動項目にsquidを追加します

/etc/rc.d/rc.localを編集します
次の行を追加します: /usr/local/squid/sbin/squid -s

もちろん、誰もがそれを好むわけではありませんこの起動方法では、最も使いやすい方法を使用することも、サービスとしてインストールすることもできます。


その他

1. キャッシュディレクトリの権限を変更します。

#chown -R suck:squid /home/cache

私のキャッシュディレクトリは/home/cacheで、squidの実行ユーザーとユーザーグループはsquid、squidです。

2. Squid ログ ディレクトリの権限を変更します

#chown -R suck:squid /usr/local/squid/var/logs
この手順は、Squid を使用するすべてのユーザーに適しているわけではありません。このディレクトリで操作を実行します。

たとえば、access.log、cache.log、store.logを生成します

3. ログドキュメントを確認します。

#more /usr/local/squid/var/logs/access.log | grep TCP_MEM_HIT
このコマンドは、Squid の実行中に Squid によってメモリにキャッシュされ、アクセス ユーザーに返されたファイルを確認できます。
#more /usr/local/squid/var/logs/access.log | grep TCP_HIT
このコマンドは、Squid の実行中にどのファイルが Squid によってキャッシュ ディレクトリにキャッシュされ、アクセス ユーザーに返されるかを確認できます。
#more /usr/local/squid/var/logs/access.log | grep TCP_MISS
このコマンドは、Squid の実行中に Squid によってキャッシュされなかったが、現在は元のサーバーから取得されて Access に返されているファイルを確認できます。ユーザー。
TCP_XXXX などのパラメータと代表の詳細については、Peng Yonghua 著『Squid Chinese Authoritative Guide』の第 13.2.1 章を参照してください。

もちろん、この例の青いテキストは、ドメイン名などの他のパラメータに変更できます。access.log でドメイン名に関する行を確認することもできます。


4. squid ログ ファイル /var/log/squid を回転させます。Squid プロキシ サーバー ログ ファイル
の増加率は驚くべきもので、簡単にディスク容量がいっぱいになってしまいます。ログファイルが急速に増大する問題を解決するために、Squid は、squid.conf で logfile_rotate を通じてファイルのローテーション数を設定できます。 :
logfile_rotate 10. Crontab は通常、定期的なログのローテーションに使用されます。たとえば、ログのローテーションが毎週土曜日の午前 2 時に実行される場合は、次のコマンドを実行します。 crontab -e
0 2 * * 6squid -krotate
ヒント: Squid のデフォルトのエラーメッセージ 情報は英語なので、英語が苦手なユーザーにとっては非常に不便です。 /etc/squid/squid.conf に以下を追加します。
error_directory /usr/ share/squid/errors/Simplify_ Chinese を実行すると、中国語のエラー プロンプトが表示されます。

www.bkjia.com本当http://www.bkjia.com/PHPjc/1127279.html技術記事 Squid を使用して Windows 上にプロキシ サーバーを構築します。この記事では、SQUID は 172.20.65.201 のマシンに配置され、SQUID は 201 のポート 80 でリッスンします。 ..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。