課題 /tmpと/var/tmpどっちも大体一緒だからいいんじゃないかと思って/tmpにファイルをつくろうとしたら、プログラムが使用するものは/var/tmpにと叱られた。確かに、基幹系システムのディストリビューションだと何故か/var/tmp派の人が多かった気がする。じゃあ、linux系特有の宗派の問題なのか?と思い調べてみた。 何が他のディレクトリと違うか 通常のディレクトリは、基本的にはファイルは削除しない限り消えない。 /tmpに関しては再起動するとファイルが綺麗さっぱり無くなる。 /var/tmpは再起動しても消えないがいつの間にかファイルが消えることがある。 うーん、やはり使用してきたディストリビューションのルールか、業務の慣例的なルールなのかなぁ。 やはり/tmpと/var/tmpは宗教論争なの? そういうわけではないらしい。FHS(Filesystem Hierarchy
Googleが、太古のディストリビューションであるRed Hat 7.1から、10年新しいDebianベースのディストリビューションへ、ライブアップグレードした話を紹介する。 そのあと、自分の身の回りの環境と比較し、参考にすべきポイントを考察する。 原文は USENIX LISA の投稿論文だ。しかし、中身は論文体というよりは、事例の紹介といった適切かもしれない。 MERLIN, M. Live Upgrading Thousands of Servers from an Ancient Red Hat Distribution to 10 Year Newer Debian Based One. In Proceedings of the 27th conference on Large Installation System Administration (LISA) (2013),
チーフエンジニアの id:Songmu です。 4月に 新人エンジニア研修を行なった のですが、その際に、「インフラを意識したアプリケーションの書き方」という講義を担当しました。そこでおこなった講義の内容について整理しながら書き起こしていきたいと思います。 インフラを意識すると何が良いか 業務でWebアプリケーションを扱うと、個人ではなかなか扱えないトラフィックであったりデータ量を扱うことになります。小規模サービスでは考えなくてよかった多くのことを考慮する必要がでてきます。なかなか体験できないことでもあるので、楽しく、やりがいもあります。 また、そういった経験を通して、インフラを意識しコードをかけるスキルを身につけることは、Webエンジニアとしては大きな強みとなります。ISUCONで優勝できるかもしれません*1。 インフラを意識すると何が良いか 〜 中規模ベンチャーの場合 そもそも、はてな
開発環境を Vagrant で立てている中で,多くのミドルウェアを1個の仮想環境に押し込めてしまっている関係上,ディスク容量が足りなくてツライという状況があった. プロセッサーとメモリは Vagrantfile に書くと拡張できるが,ディスクは簡単には拡張できず,VMDK や VDI に手を加えていかなければダメで,1度試したけど面倒で諦めた背景がある. config.vm.provider 'virtualbox' do |v| v.memory = 1024 v.cpus = 2 end もし試すなら以下の記事が参考になる. Add some way to increase disk space from Vagrantfile · Issue #2339 · hashicorp/vagrant · GitHub Resize a Hard Disk for a Virtual Mac
ansibleを使って、Ubuntu(Linux + GNOME)に、Eclipse 4.5(Mars)をインストールして、必要なEclipseプラグインを自動インストールするサンプル。 Eclipseプラグインは、削ったり追加したりしてやってください。リポジトリ(Update Site)も、プラグイン自体も、カンマ区切りです。 もっと、綺麗に書こうとすれば、書けるとは思う… ちなみに、インストール先は、/opt/eclipse/配下にバージョン毎にディレクトリを作って、alternativesで、デフォルトを切り替えてます。 - hosts: 127.0.0.1 connection: local become: yes tasks: - apt_repository: repo='ppa:webupd8team/java' - name: Autoaccept license for
Systemdの仕組みをつかうと、自分で作ったコマンドを簡単にサービスとして登録することができます。 例として、hello worldを延々とファイルに書き込むコマンドをサービス化してみましょう。 1. コマンドを作る /opt/hello.sh というスクリプトを用意します。
インフラエンジニアの中西です。 最近プログラマーからこのような話を耳にします。 「ネットワークって難しい/よくわからない」 最近では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
CentOS 7 のサービス自動起動について CentOS 6 以前の場合、apache(httpd)等のサービスを自動起動させる、させないといった設定は「chkconfig」コマンドを使用していたと思いますが、CentOS 7ではサービスの管理は一部のサービスを除き「systemd」で行うといった仕様に変更となっています。 従来の「chkconfig サービス名 on | off 」のコマンドも使用できますが、「systemctl」コマンドに転送されています。 chkconfig実行結果 実際に「chkconfig」コマンドで「httpd」の自動起動設定・解除を行った結果が下記の通りとなり、それぞれ「systemctl」コマンドに転送されていることがわかります。 # chkconfig httpd on 情報:'systemctl enable httpd.service'へ転送していま
Vagrant + VirtualBox を使用していて、 実際に動かしている途中で仮想ディスクのサイズが不足してくること、ありますよね。 うんうん。あるある。よくあるよくある。 VirtualBoxのGUIから仮想マシンを作成していたりすると分かりますが、仮想マシンのディスクにはいくつか形式があります。 Vagrantを使用していると仮想ディスクは VMDK 形式になりますが、実はこの形式、作成後のサイズ変更がサポートされていません。 サイズ変更をサポートしている形式は VDI です。 そこでVMDK形式の仮想ディスクを一旦VDI形式に変換し、サイズを変更した後でVMDK形式に戻せば 結果オーライ的に仮想ディスクのサイズを変更することが可能になります。 ざっくり手順 VMDK形式のディスクをVDI形式にクローン クローンしたVDI形式の仮想ディスクのサイズを変更 変更したVDI形式の仮想
すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の
MacOSとWindowsのネイティブ仮想化を用いたDocker純正ツール「Docker for Mac/Windows」登場、VirtualBoxは不要に これまでWindowsやMacOSの上でDockerを試すには、それぞれのOS上でLinuxを動かすために仮想マシンのVirtualBoxをインストールする必要がありました。しかしOS上で仮想マシンを動かす処理は、重く不安定になりがちでした。 Docker社はこの方法に代わる新しいツール「Docker for Mac and Windows」のベータ版を発表しました。 Docker for Mac and Windowsは、それぞれのOSのネイティブアプリケーションの形式で提供され、VirtualBoxの代わりにそれぞれのOSに組み込まれている仮想化機能、WindowsではHyper-V、MacOSではxhyveを用いることで、より高
株式会社ハートビーツのITインフラエンジニアがお届けするnginx連載の6回目。今回はnginxのTLS/SSLについての設定を確認していきます。以降、"TLS/SSL"のことを単に"SSL"と書きます。 nginx.orgのパッケージからインストールしたnginxが提供している設定ファイルexample_ssl.confをサンプルとして説明します。なお、一部修正をしております。 server { listen 443; server_name example.jp; ssl on; ssl_certificate /etc/nginx/cert.pem; ssl_certificate_key /etc/nginx/cert.key; ssl_protocols SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ci
させたい、させる(迫真)。 https も http も通信させたい Nginx の server 句内を以下のように記述する。 listen 80; listen 443 ssl; server_name ssl.example.com; charset utf-8; access_log /var/log/nginx/ssl.example.com.nginx_access.log deflate; ssl_certificate /etc/nginx/ssl_certfile/ssl.example.com.cert; ssl_certificate_key /etc/nginx/ssl_certfile/ssl.example.com.key; https も http も利用可能になる、わりとざるな設定。 https だけ通信させたい Nginx の server 句内に以下のよ
背景 Nginx で HTTPS 通信するため、証明書関連の設定で時間を要した まとまったドキュメントが見つからなかったので、ノウハウをまとめてみた。 設定項目 Nginx の SSL 証明書関連で大切なのは次の設定。 ssl on; ssl_certificate /etc/ssl/certs/www.example.com.chained.cert; ssl_certificate_key /etc/ssl/certs/www.example.com.key;
当サイトでCentOS7.1 64bitへのインストール方法を紹介しているパッケージに関するfirewalldの設定を、以下に示します。 firewalldでは、アクセス制御の設定をゾーン別に行うようになっており、ネットワークインターフェイスにゾーンを割り当てることで、アクセス制御の使い分けができるようになっています。 ここでは、デフォルトのゾーンとなるpublicゾーンに対して、アクセス制御を行っていきます。 以下の各コマンドで、プロンプトが「#」で開始しているものはrootユーザーでの実行、「$」で開始しているものは一般ユーザーでの実行となります。 firewalldのインストール firewalldのインストール firewalldはCentOS7.1 64bitのインストールを「CentOS-7-x86_64-Minimal-1503-01.iso」から行った場合は、デフォルトでイ
主にアプリケーション開発者向けに、Linuxサーバ上の問題を調査するために、ウェブオペレーションエンジニアとして日常的にやっていることを紹介します。 とりあえず調べたことを羅列しているのではなく、本当に自分が現場で使っているものだけに情報を絞っています。 普段使っているけれども、アプリケーション開発者向きではないものはあえて省いています。 MySQLやNginxなど、個別のミドルウェアに限定したノウハウについては書いていません。 ログインしたらまず確認すること 他にログインしている人がいるか確認(w) サーバの稼働時間の確認 (uptime) プロセスツリーをみる (ps) NICやIPアドレスの確認 (ip) ファイルシステムの確認(df) 負荷状況確認 top iostat netstat / ss ログ調査 /var/log/messages or /var/log/syslog /
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く