freedom-man.com

ブログは俺のセーブポイント

Tag: nginx

Webサーバのチューニングを体感する

Webサーバのアプリ/DB以外での一般的なチューニングに関して体感してみましたー

Continue reading

Fluentd+ElasticSearch+Kibanaでアイドルデータ分析基盤を作ってみた

俺もビッグデータの分析とかやってみたいなー
→Twitterとか身近なビッグデータっぽくて扱いやすそう
→よし、アイドル(坂道シリーズ)に関するツイート集めて分析してみよう

という軽いノリでFluentd + ElasticSearch + Kibanaというよくある構成で分析基盤(?)を作ってみました。

今回は基盤作るまでのインストール&設定地獄の備忘録。(自力でやんなくてもDockerやChefで一発で構築できるモノが出回ってそうですが…)

Continue reading

force.com Sitesにリバースプロキシを挟んで独自ドメインSSL対応させてみる。

force.com Sitesでは非SSLにおいて独自ドメインを設定できますが、SSLにおいては独自ドメインを適用できません。

force.com Sitesはポータル系のログイン画面やフォーム画面等で利用されることが多く

企業によっては「ドメインにforce.comとか入ってるのはダメ!」とか言われちゃったりします。

 

これ、リバースプロキシで出来るんじゃね?ということでちょっとやってみることに。

 

方法は簡単で、適当なWebサーバを用意してリバースプロキシの設定をするだけ。

以下はnginxの設定例

 

あとは設定したドメインにアクセスするだけ!

今回試したVFページ+Apexはこんな感じ

 

 

初期表示

sites-rp-init

うん、うまく表示されてます。JSエラーとかネットワークエラーも無し。

Sitesドメインと全く同じ表示になってます。

 

メソッド呼び出し

apex:commandButtonでメソッド呼び出してみます。

sites-rp-send

いい感じ。apex:commandButton+reRenderでajaxもOKでした。

 

JavaScript Remotingしてみます。

sites-rp-sendRA

 

これもOK。

 

じゃ、ログインしてみますか!

sites-rp-login

 

ダメでした。orz

 

POST先は独自ドメイン→Sitesドメインとフォワーディングしてくれてるんだけど

Site.loginはSitesのドメインのfrontdoor.jspが返却されるので

発行されるCookieはSitesドメインに対してなので楽勝でダメでした。そりゃそうだよねー。

 

っていうことで、ポータルへのログイン以外はなんとか機能しそうな感じです。

もちろん、絶対パスで指定しているようなajaxとかがあったら一発でアウトです。

ここらへんはSalesforceの仕様で簡単に変わるので、良い子は真似しないように!

 

ちなみに、Sitesのポータルへの接続を切るとこんな感じにCSSもちゃんと取ってこれてる様子がわかります。

sites-rp-header

zabbixをnginxで動かす!

DigitalOceanの512MBプランでやっている都合上メモリは極力抑えたい。

apacheだとメモリ食いまくるので貧乏人節約家的にはシングルスレッドなWebサーバで

メモリは安くやりたいところです。

 

ということで前回インストールしたzabbixをnginxで動かします。

 

で、方法は色々とありそうですが、こちらの方法が簡単そうだったのでトライしてみました。

原理は簡単で、zabbixのパスでアクセスしてきたら

/usr/share/zabbix(phpアプリの場所)にアクセスするようにリンクを貼ってあげて

phpに対するアクセスはphp-fpmに渡せばOK。

ついでにSSLも対応しちゃいます。

 

まずはnginxとphp-fpmのインストールから

 

ドキュメントルート直下にリンクを貼る

 

SSLの証明書&キーを作成

 

ログ用のディレクトリを作成

 

/etc/nginx/conf.d/zabbix.confを作成

 

/etc/php5/fpm/php.iniを以下のように設定

 

nginxとphp-fpmを起動!

 

で、nginx + php5-fpmで動かしてみた結果…メモリ全然減らないorz

 

topで見てみたら、結局php5-fpmがメモリ食いまくってるっていうオチw

 

ちなみに、今回はlnでリンク貼る方法でしたが、aliasでもいけちゃいます。

こんな感じのlocationディレクティブを/etc/nginx.conf.d/zabbix.confに設定すればOK

php以外はそのままaliasでOKなんだけど、phpはalias貼りつつfastcgiにちゃんと渡してあげないとダメ。

locationは一つしか適用されず、正規表現が優先されるっていうところでプチハマりしました…。

参考URL:http://heartbeats.jp/hbblog/2012/04/nginx05.html

© 2017 freedom-man.com

Theme by Anders NorenUp ↑