DevRelによる信頼構築とデータ駆動で変わるエンジニア採用 / DevRel Trust Building to Data Driven Engineering Hiring
Amazon EC2の上でRailsアプリケーションを動かそうとして、サーバーを構築しようとしているのだけれど、Apache, Nginx, Passenger, Unicornなど色々な名前が出てくるものの、それぞれの役割がどう分担されているのかが分かりづらいのでメモすることにした。 自分も初心者に毛が生えた程度なので正確性はあんまり保証できないけど分かりやすさ重視でがんばってまとめたよ。 単純にサーバーを立ち上げて動きさえすればよいのであれば、 qiita.com qiita.com あたりを参考にすると良さそう。 この記事の対象読者 Webサーバってなにそれ?おいしいの? さくらVPSとかEC2とかで泣きながらApacheの設定したことあるけど全く理解してない ぐぐればぐぐるほど意味がわからなくなったのであきらめてる Ruby on Railsをやろうとしているかherokuとかでは
NGINX Unitが正式リリース。PHP、Go、Pythonなどに対応した軽量アプリケーションサーバ オープンソースで開発されている軽量なアプリケーションサーバ「NGINX Unit」の正式版がリリースされました(「Announcing NGINX Unit 1.0 | NGINX」)。 NGINX Unitは、軽量なWebサーバとして知られるNGINXの開発者であるIgor Sysoevが設計し、NGNIXのソフトウェア開発チームが実装を担当したもの。昨年の9月にパブリックプレビュー版が登場しており、今回それがバージョン1.0に到達しました。 参考: 日本Nginxユーザ会が発足。開発者Igor Sysoev氏が語る、Nginxが生まれ、商用化された理由 - Publickey NGINX Unitの主な特長は、動的制御が可能なためコンフィグレーションやアプリケーションの入れ替え、バー
[20170809追記] nginx-1.13.4に ngx_http_mirror_module は含まれました Nginxで、リクエストを複製するmirrorモジュールがコミットされ、何もせずとも使用できるようになりそうです(現状最新コミットをビルドする必要あり)。 例えば本番環境のproxyからリクエストを複製して開発環境に流すような事も出来ます。もちろん複製処理は本来のリクエスト処理をブロックしません。 例えば以下のように、mirrorに来たリクエストを複製してバックエンドサーバに投げるようにしてみます conf server { listen 80 ; server_name localhost; mirror_request_body on; log_subrequest on; location /mirror { mirror /proxy; #/proxy宛にリクエストを
Spring Boot でサーバプログラムを作り、 AWS EC2 Amazon Linux にデプロイしました。 その時のサーバ設定等を記録しています。 環境 Maven ではなく gradle を使います。 Spring Boot 1.2.3 Tomcat 8 Java 1.8 MySQL 5.6 (AWS RDS) gradle 3.4 Kotlin 1.0.0 ビルド関連設定 必須の設定 Spring Boot のドキュメント にも記載されている必須の設定を行います。 アプリケーションコードの追加 mainメソッドを含むクラスが SpringBootServletInitializer を継承するように変更します。 そして、 configure メソッド を オーバライド します。 Spring Boot のドキュメントでは Applicationクラス となっていますが、 私はM
お知らせ Software Design 2016年10月号に「知ってる?Railsとアプリケーションサーバの関係」という記事を寄稿しました。 この記事は「Webサーバはなぜ動くのか?」という特集の1コンテンツです。 僕が書いた記事以外では以下のような内容が特集内で説明されています。 Webはどのように動作しているのか? なぜWebサーバでプログラムが動くのか? どうやってWebアプリからデータベースを扱うか? Node.jsがサーバサイドで注目される理由とは? Webアプリケーションプログラミングを始めたばかりの人は、どれもあいまいな理解のまま開発を進めがちな内容かもしれません。 この特集を読んで「基礎からしっかり理解できているWebプログラマ」を目指しましょう! [asin:B01IW56P3K:detail] 僕が書いた記事の詳細 僕は記事の中でこんな話を書きました。 Rackアプリ
Service Workerの全体像の解説と、それがもたらすWebの未来を考察します。今後の動向を左右しそうなService worker meeting notesについても解説します。
インフラエンジニアの中西です。 最近プログラマーからこのような話を耳にします。 「ネットワークって難しい/よくわからない」 最近ではAWS,GCPをはじめとするクラウドサービスが充実しているのでWeb界隈のエンジニアはなおさら気にするシーンが少なくなったように思います。 今日は最低限これだけ覚えていたら有事の際にちょっとは役に立ちますよという話が出来たらなと思います。 書式統一のため sudo を省略しています。ご容赦下さい。 コマンド編 ping ping です。疎通確認を行う時のコマンドです。 さすがに分かると聞こえてきそうですね。 例えば、192.168.1.1 というサーバに通信を確認したい場合はこうです。 $ ping 192.168.1.1 繋がる場合はこうなります。 $ ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 d
始めに Jettyとは、TomcatのようなServletコンテナを搭載したアプリケーションサーバのひとつです。オープンソースでフリーなあたりは、Tomcatと似ていますが次のような点でTomcatと違うようです。 # Tomcatよりも軽量で軽快(数100KBのJARファイル) # HTTPサーバとしての機能が十分にある 通常、Tomcatを使うとなるとApacheなどのHTTPサーバと連携して動作させると思います。これはきちんと役割分担されていて悪い事ではないのですが、Apache+Tomcatでは少しオーバースペックである場合には面倒なことです。 Tomcat自身にもHTTPサーバとしての機能はありますが、これは本当に開発者用としての機能であり、サーバとしては向いていません。 JettyはHTTPサーバとしての機能を十分にもっているので、連携せずに簡単にWebアプリケーションサーバを
Zabbix2.4の安定版が、2014年9月11日にリリースされました。なんと50以上の新機能と改善が追加されたようです。今回のバージョンアップでは、特にローレベルディスカバリ関連の機能が強化が目立っています。 ローレベルディスカバリは、ネットワークインタフェースや、ファイルシステムの監視項目を自動で設定してくれるとても便利な機能です。 ただ、監視の必要のない項目が自動で設定されることもあります。Zabbix2.2では、chrootしているディレクトリがファイルシステムとして、監視項目に設定されてしまうことがありました。この場合は、自動設定された監視項目を、手動で無効にすることが必要になります。 Zabbix2.4の新機能「ローレベルディスカバリの複数フィルタ」を使えば、自動設定のフィルタを細かく設定できるようなので、このような手間を軽減できることが期待できます。 ▽ Zabbix 2.4
今回、不倫で有名になった乙武さんの謝罪文はAWSのS3で構築してる。技術的にもプロの犯行だ。S3とは、ざっくり言うとAmazonさんが運営してるほぼ絶対落ちない静的サーバのことです。http://ototake.com をDNSで全部S3に降ってる。要するに謝罪文しか表示しないけど絶対落ちないサーバをAmazonさんから短期的に借りる。今後、芸能人の謝罪文はAWSのS3というソリューションが増える。 GMOさんは芸能人に強いのに営業しないのかな。CAと組んで謝罪文サーバとか売ればいいのに。これは、芸能人のサイトを運用している人には重要な事例だ。教科書にのるかもしれない。むしろ、今後の謝罪ページのセオリーになるかもしれない。昔に比べて、DNSの浸透は爆速になったので、こういうのが可能なんだろな。 今まで、ototake.comを無視して、短期的にS3にDNSを降ることで、以下のメリットが有る
Nginxより高速、HTTP/2サーバー「H2O」:「クラウド、HTTP/2、常時TLS時代に最適化されたHTTPサーバーを目指す」 「クラウド、HTTP/2、常時TLS時代に最適化されたHTTPサーバーを目指す」というHTTPサーバーのバージョン1.6がリリースされた。前バージョンのベンチマークではNginxより性能が高い場面も見受けられる。 HTTP/2サーバー「H2O」のバージョン1.6が2015年12月4日にリリースされた。 H2Oは現在ディー・エヌ・エーに勤める奥一穂氏を中心に、2014年から開発されているWebサーバー。プロジェクトの目的として、「クラウド、HTTP/2、常時TLS時代に最適化されたHTTPサーバーを目指す」としている。H2OはMITライセンスを採用したオープンソースプロダクトで、ソースコードはGitHubで公開されている。 H2Oは、HTTP/1.0、1.1に
メールの受信をトリガーにしてプログラムを動かしたい場合 空メールで会員登録、脱退処理 メールの件名に対して処理後返信 メールの添付ファイルに対して処理後返信 メールでブログの更新 などは postfix の aliases を使用することで任意のプログラムの起動ができます。 空メール送信で会員登録などの処理は aliases の仕組みを利用して実装されています。メール送信から登録確認メールのタイムラグが大きいものは aliases ではなく一定間隔のポーリングでメールを確認を行い処理をしていると思われます。 メール受信をトリガーに PHP を実行 通常メールを受信すると各アカウントのメールボックスにメールが入りますがが受信したメールをプログラムに渡して、メール受信をトリガーに PHP を実行する事もできます。 編集ファイルは /etc/aliases です。転送先ユーザ名もしくはメール
すいません!!! この記事を書いた後いろいろ調べてたら、wrkはhttp2に対応していませんでした! ということで、今回のベンチマークはApache、Nginx、H2OのHTTP1.1でのベンチマークとなります! ちゃんとHTTP2でベンチマーク取ったものを後日公開します! 最近HTTP2が色々盛り上がってるのは知ってたんですが、YAPC:ASIA 2015に行ったらH2Oが気になり始めたんで普段使ってるApacheよりきっとH2Oが早いぜって言ったら「いやH2Oとか知らんから、とりあえずNginxやろうよ」って言われたのでNginXも一緒にベンチマークしてみました。 環境 さくらサーバのVPS メモリ1G CPU 2コア 表示させるもの 表示させるのはなんでも良かったんですがとりあえず普通のページっぽいのが良かったんでここの無料テンプレートを使ってみました。 《無料》ホームページテンプレ
HTTPレスポンスヘッダにサーバのバージョンの表示を消す なぜ必要? 潜在攻撃者への情報提供になることも。 もし使用中バージョンの脆弱性が明らかになった時、恰好の標的になるとか。 対応 nginx.confのhttpディレクティブに server_tokens off; を追加。
はじめに Linux のセキュリティ設定ってなかなかまとまったものがないので、いろんなサイトを参考にしながら設定をまとめてみました。想定はWeb サーバーで、使用している Linux は CentOS 6.2 です。 設定内容は以下のようになります。 全パッケージのアップデート リモートからの root ログインを無効にする 公開鍵暗号方式を使用した SSH ログイン設定 iptables 設定 SSH ポート番号の変更 不要なサービスを停止 ログ監視設定 ファイル改ざん検知ツール設定 ウィルス対策ソフト設定 Apache の設定 全パッケージのアップデート 最初に以下のコマンドを実行して、全パッケージを最新の状態にする。 # yum –y update 後は脆弱性が発見された時、または定期的にパッケージのアップデートを行う。 リモートからの root ログインを無効にする リモートからメ
サーバ/インフラエンジニア養成読本 DevOps編 [Infrastructure as Code を実践するノウハウが満載! ] (Software Design plus) 2016/02/26 に出版される「サーバ/インフラエンジニア養成読本 DevOps編」というムック本にて、特集「CircleCIによる継続的インテグレーション入門」を執筆しました。 CircleCIによる継続的インテグレーション入門 私が現在所属するKaizen Platform, Inc.でもCircleCIをヘビーユーズしており、サーバ/インフラ部分においても、 インフラCI 稼働中サーバへのプロビジョニング DNSレコードの管理 Terraformを用いたAWSリソースの管理 Packerを用いたAMI作成 稼働中サーバのセキュリティアップデート メトリクスグラフの取得&slackへの投稿 などにCircl
Ansible、シスコやArista、Juniperなどのネットワーク機器に対応。ネットワークも含めた構成自動化が可能に Ansibleはエージェント不要でサーバを構成できるのが最大の特長です。昨年10月にRed Hatが買収し、先月にはメジャーバージョンアップとなる「Ansibe 2.0」が発表されたばかり。 Ansible 2.0では、構文の強化によってより高度な処理を記述しやすくし、実行速度を高速化するオプションなどが追加されました。 今回の機能拡張では、サーバだけでなく複数のベンダのネットワーク機器に対してもAnsibleから統一的に構成を行えるようになり、システム構成についてソフトウェアとネットワークを統合的に自動化できるようになりました。 現時点でAnsibleがサポートするネットワーク機器は以下となっています。 Arista Networks : Arista EOS Cis
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く