Enviar búsqueda
Cargar
Apache Module
•
Descargar como PPT, PDF
•
13 recomendaciones
•
5,850 vistas
Tomohiro Ikebe
Seguir
Tecnología
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 32
Descargar ahora
Recomendados
LISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
Brendan Gregg
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
Insight Technology, Inc.
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
Toru Makabe
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
Young D
負荷分散勉強会
負荷分散勉強会
Yuji Otani
5.6 以前の InnoDB Flushing
5.6 以前の InnoDB Flushing
Takanori Sejima
Recomendados
LISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
Brendan Gregg
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
Insight Technology, Inc.
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
Toru Makabe
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
Young D
負荷分散勉強会
負荷分散勉強会
Yuji Otani
5.6 以前の InnoDB Flushing
5.6 以前の InnoDB Flushing
Takanori Sejima
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
Micrometerでメトリクスを収集してAmazon CloudWatchで可視化
Micrometerでメトリクスを収集してAmazon CloudWatchで可視化
Ryosuke Uchitate
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
Terry Cho
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Blazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
Brendan Gregg
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINX, Inc.
RESTfulとは
RESTfulとは
星影 月夜
BSidesDelhi 2018: Finding Memory Bugs with the Address Sanitizer
BSidesDelhi 2018: Finding Memory Bugs with the Address Sanitizer
BSides Delhi
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
Jongwon Kim
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Retrieva inc.
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
Toru Yamaguchi
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
Toshiaki Maki
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
Anatomy of the loadable kernel module (lkm)
Anatomy of the loadable kernel module (lkm)
Adrian Huang
Laravelとテストについて
Laravelとテストについて
Takeo Noda
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
Hiroshi Tokumaru
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
shigeki_ohtsu
TIME_WAITに関する話
TIME_WAITに関する話
Takanori Sejima
Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet Elixir
Hideki Takase
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
ASP.NET MVC 1.0
ASP.NET MVC 1.0
Shinpei Ohtani
Más contenido relacionado
La actualidad más candente
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
Micrometerでメトリクスを収集してAmazon CloudWatchで可視化
Micrometerでメトリクスを収集してAmazon CloudWatchで可視化
Ryosuke Uchitate
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
Terry Cho
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Blazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
Brendan Gregg
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINX, Inc.
RESTfulとは
RESTfulとは
星影 月夜
BSidesDelhi 2018: Finding Memory Bugs with the Address Sanitizer
BSidesDelhi 2018: Finding Memory Bugs with the Address Sanitizer
BSides Delhi
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
Jongwon Kim
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Retrieva inc.
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
Toru Yamaguchi
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
Toshiaki Maki
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
Anatomy of the loadable kernel module (lkm)
Anatomy of the loadable kernel module (lkm)
Adrian Huang
Laravelとテストについて
Laravelとテストについて
Takeo Noda
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
Hiroshi Tokumaru
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
shigeki_ohtsu
TIME_WAITに関する話
TIME_WAITに関する話
Takanori Sejima
Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet Elixir
Hideki Takase
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
VirtualTech Japan Inc.
La actualidad más candente
(20)
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Micrometerでメトリクスを収集してAmazon CloudWatchで可視化
Micrometerでメトリクスを収集してAmazon CloudWatchで可視化
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Blazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
RESTfulとは
RESTfulとは
BSidesDelhi 2018: Finding Memory Bugs with the Address Sanitizer
BSidesDelhi 2018: Finding Memory Bugs with the Address Sanitizer
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
OAuth 2.0 Web Messaging Response Mode - OpenID Summit Tokyo 2015
Coherenceを利用するときに気をつけること #OracleCoherence
Coherenceを利用するときに気をつけること #OracleCoherence
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
Anatomy of the loadable kernel module (lkm)
Anatomy of the loadable kernel module (lkm)
Laravelとテストについて
Laravelとテストについて
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
TIME_WAITに関する話
TIME_WAITに関する話
Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet Elixir
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
Similar a Apache Module
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
ASP.NET MVC 1.0
ASP.NET MVC 1.0
Shinpei Ohtani
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
hbstudy37 doc
hbstudy37 doc
Fujishiro Takuya
densan2014-late01
densan2014-late01
Takenori Nakagawa
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
Akio Katayama
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Amazon Web Services Japan
Windows Azure PHP Tips
Windows Azure PHP Tips
Microsoft Openness Japan
Hive undocumented feature
Hive undocumented feature
tamtam180
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
Taku Unno
1MB
1MB
arase_utagoe
BBBBB
BBBBB
arase_utagoe
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
Kikunaga Taishi
WebAPIではじめるphp入門
WebAPIではじめるphp入門
Hiroaki Murayama
Using Windows Azure
Using Windows Azure
Shinji Tanaka
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
Yosuke Furukawa
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Railsの運用について
Railsの運用について
Yuuki Namikawa
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
佐久本正太
Similar a Apache Module
(20)
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
ASP.NET MVC 1.0
ASP.NET MVC 1.0
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
hbstudy37 doc
hbstudy37 doc
densan2014-late01
densan2014-late01
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Windows Azure PHP Tips
Windows Azure PHP Tips
Hive undocumented feature
Hive undocumented feature
Aizu.LT::Tokyo #4
Aizu.LT::Tokyo #4
1MB
1MB
BBBBB
BBBBB
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
WebAPIではじめるphp入門
WebAPIではじめるphp入門
Using Windows Azure
Using Windows Azure
ヒカルのGo 資料 Webアプリケーションの作り方
ヒカルのGo 資料 Webアプリケーションの作り方
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
Railsの運用について
Railsの運用について
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
Apache Module
1.
Apache モジュール入門 (
株 ) ライブドア 池邉智洋
2.
3.
Apache の構造 Apache
Core Apache API Apache モジュール
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
雛形の作成 % apxs
-g -n hello Creating [DIR] hello Creating [FILE] hello/Makefile Creating [FILE] hello/modules.mk Creating [FILE] hello/mod_hello.c Creating [FILE] hello/.deps # cd hello/ # apxs –i –a –c mod_hello.c # /usr/local/apache2/bin/apachectl stop # /usr/local/apache2/bin/apachectl start <Location /hello> SetHandler hello </Location> httpd.conf
14.
確認
15.
ソースコード 1 #include
"httpd.h" #include "http_config.h" #include "http_protocol.h" #include "ap_config.h" /* コンテントハンドラ */ static int hello_handler(request_rec *r) { if (strcmp(r->handler, "hello")) { return DECLINED; } r->content_type = "text/html"; if (!r->header_only) ap_rputs("The sample page from mod_hello.c", r); return OK; }
16.
17.
18.
19.
20.
21.
ソースコード 2 static
void hello_register_hooks(apr_pool_t *p) { ap_hook_handler(hello_handler, NULL, NULL, APR_HOOK_MIDDLE); } module AP_MODULE_DECLARE_DATA hello_module = { STANDARD20_MODULE_STUFF, NULL, /* create per-dir config */ NULL, /* merge per-dir config */ NULL, /* create per-server config */ NULL, /* merge per-server config */ NULL, /* config file commands */ hello_register_hooks /* register hooks */ };
22.
23.
24.
25.
設定値を格納する構造体 typedef struct
{ char *msg; } hello_cfg; 構造体の宣言 static void *create_hello_cfg(apr_pool_t *p, char *dir) { hello_cfg *cfg = apr_palloc(p, sizeof(hello_cfg)); cfg->msg = "Hello World!"; return (void *)cfg; } 初期化
26.
ディレクティブの定義 static const
char *cmd_set_message(cmd_parms *cmd, void *c, const char *v) { hello_cfg *cfg = (hello_cfg *)c; cfg->msg = apr_pstrdup(cmd->pool, v); return NULL; } static const command_rec hello_cmds[] = { AP_INIT_TAKE1("HelloMessage", cmd_set_message, NULL, ACCESS_CONF, "Set mod_hello message."), {NULL} }; HelloMessage ディレクティブを定義
27.
28.
29.
モジュールに登録 module AP_MODULE_DECLARE_DATA
hello_module = { STANDARD20_MODULE_STUFF, hello_create_cfg, NULL, NULL, NULL, hello_cmds, hello_register_hooks }; モジュール定義を変更
30.
設定値の利用 static int
hello_handler(request_rec *r) { hello_cfg *cfg = ap_get_module_config(r->per_dir_config, &hello_module); if (strcmp(r->handler, "hello")) { return DECLINED; } r->content_type = "text/html"; if (!r->header_only) ap_rprintf(r, "%s", cfg->msg); return OK; } ap_get_module_config で設定値を参照
31.
32.
おしまい
Descargar ahora