nginx @ ウィキ
http://w.atwiki.jp/nginx/
nginx @ ウィキ
ja
2011-04-11T23:33:12+09:00
1302532392
-
linodeでメールサーバー
https://w.atwiki.jp/nginx/pages/31.html
linodeでメールサーバー構築
linodeでメールサーバーを構築する一番簡単な方法を説明する。
メールサーバーには送信と受信の2種類がある。
送信はpostfix, 受信はdovecotだ。
postfixのインストール
apt-get install postfix telnet mailx
postfix configurationではInternet-Site
System mail nameではdomain.comに設定する。
postfixでメールを送信する。
mail address@example.com
Subject: test email from demoslice.com
test body of the email.
.
Cc:
dovecotのインストール
apt-get install dovecot-common
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server dovecot-common dovecot-imapd dovecot-pop3d postfix libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl telnet mailutils
http://library.linode.com/email/postfix/dovecot-mysql-ubuntu-9.10-karmic#configure_dovecot
2011-04-11T23:33:12+09:00
1302532392
-
PHPMYADMINエラー The configuration file now needs a secret passphrase
https://w.atwiki.jp/nginx/pages/30.html
*phpmyadminエラー
始めにphpmyadminを起動したときに、赤い字でエラーが表示される。
The configuration file now needs a secret passphrase (blowfish_secret).
その解決方法です。
phpmyadminが/usr/share/phpmyadmin以下にインストールされているものとします。
cd /usr/share/phpmyadmin
cp -p config.sample.inc.php config.inc.php
サンプルファイルで上書きします。
/usr/share/phpmyadmin/config.inc.phpファイルの一行を変更してください。
変更前
$cfg['blowfish_secret'] = '';
変更後
$cfg['blowfish_secret'] = 'value';
もう一度phpmyadminにアクセスしてみてください。
エラーが消えているはずです。
お疲れ様でした。
2010-12-09T23:15:45+09:00
1291904145
-
nginxとmysqlとphpmyadmin
https://w.atwiki.jp/nginx/pages/29.html
*mysqlとphpmyadminのインストール
ubuntsの環境でnginxと組み合わせてmysqlサーバーをインストールします。
超簡単です。
私は1日程ハマリましたが。w
どなたでもできるのでトライしてみましょう。
既にhttpサーバーnginxのインストールは終わっているものとします。
mysql-serverとmysql-clientをインストール
apt-get install mysql-server mysql-client libmysqlclient15-dev
mysqlサーバーのインストールが完了します。
nginxを再起動して、phpinfo();を実行してみてください。
mysqlとmysqliの項目が増えているはずです。
これだけでもいいのですが、データベースやテーブルの作成にSQLコマンドを打ち込まなければいけません。
面倒なのでphpmyadminをインストールします。
phpmyadminを使うことで、ブラウザ上でデータベースやテーブルの作成や管理がグラフィカルにできるようになります。
phpmyadminのインストール
apt-get install phpmyadmin
/usr/share/phpmyadminディレクトリ以下にphpmyadminがインストールされます。
レンタルサーバーでdomain1.comを運用しているとします。http://www.domain1.com/で説明します。
ここでhttp://phpmyadmin.domain1.com/でデータベースにアクセスできるようにします。
/etc/nginx/sites-available/domain1.com のファイルに以下の内容を追加してください。
server{
listen 80;
server_name phpmyadmin.domain1.com;
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log;
location / {
roo
2011-04-12T08:40:01+09:00
1302565201
-
nginx expires
https://w.atwiki.jp/nginx/pages/28.html
*nginx expires
nginxでexpiresを設定する方法
expiresとは有効期限のことです。
expiresを設定するとexpiresヘッダーをつけることになります。
jpgやgifなどの画像、jsのジャバスクリプト、cssのスタイルシートは一度読み込めば、ほとんど変更されないファイルです。
これらのファイルにexpiresを設定しましょう。
ネットワーク負荷の低減につながります。
nginxでは簡単にできます。
運用するドメイン毎に設定する必要があります。
serverセクションに以下を記入してください。
> location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
> root /home/demo/public_html/domain1.com/public;
> expires 30d;
> }
-rootでデフォルトディレクトリを設定します。ftpでのトップディレクトリのことです。
ここで設定したディレクトリ以下を参照しにいきます。
たとえば、http://www.domain1.com/images/image.jpgの画像ファイルの場合は、
/home/demo/public_html/domain1.com/public/images/image.jpg に画像ファイルがなければいけません。
-expires 30d ここでは30日間を有効にします。
nginxを再起用させると有効になります。
簡単にできました。
2010-11-29T08:50:10+09:00
1290988210
-
お薦めのレンタルサーバー
https://w.atwiki.jp/nginx/pages/27.html
お薦めのレンタルサーバー
現在は[[linode>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]という海外のレンタルサーバーを利用しています。
1ヶ月約2000円でVPS専用サーバーを利用することができます。
レンタルサーバー遍歴
始めは80codeという海外レンタルサーバーを利用していました。一ヶ月500円です。アクセスが増えたので追い出されてしまいました。
次に選んだのがslicehostです。slicehostは素晴らしかったです。slicehostの利用環境は[[linode>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]とほぼ同じです。
しかし若干[[linode>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]の方がメモリーや転送量の条件が勝っていたので、[[linode>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]の方に移ってしまいました。
[[linode>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]は正確にはVPSです。
VPSというのは一台のサーバ上で仮想サーバを何台も起動する特殊なソフトウェア、またそのような仮想サーバを提供するレンタルサーバのサービスをいいます。
複数のサーバーが起動しているはずですが、全くそれを意識しません。
専用サーバーと同じように運用することができます。
日本で専用サーバーを借りるとやはり1万円以上はします。
それが2000円程度で専用サーバーの環境を利用することができます。
httpでapacheを立てるとメモリーを圧迫するので、ベストな組み合わせとしてnginxを紹介しています。
linuxが分かる人にサーバー運用の勉強にもなります。
[[お薦めの海外サーバー>http://www.linode.com/?r=c63ed3ea31
2010-06-17T12:56:32+09:00
1276746992
-
nginxメニュー
https://w.atwiki.jp/nginx/pages/26.html
nginx@ウィキ メニュー
[[nginxとは|http://www26.atwiki.jp/nginx/pages/12.html]]
[[nginx install|http://www26.atwiki.jp/nginx/pages/11.html]]
[[nginx config|http://www26.atwiki.jp/nginx/pages/14.html]]
[[nginx バーチャルホスト|http://www26.atwiki.jp/nginx/pages/13.html]]
[[nginx rewrite|http://www26.atwiki.jp/nginx/pages/16.html]]
[[nginx reboot|http://www26.atwiki.jp/nginx/pages/17.html]]
[[nginx access log|http://www26.atwiki.jp/nginx/pages/18.html]]
[[nginx 404|http://www26.atwiki.jp/nginx/pages/19.html]]
[[nginx webalizer|http://www26.atwiki.jp/nginx/pages/20.html]]
[[nginx apc高速化|http://www26.atwiki.jp/nginx/pages/21.html]]
[[nginx サーバーが落ちたとき|http://www26.atwiki.jp/nginx/pages/23.html]]
[[nginx サーバー障害|http://www26.atwiki.jp/nginx/pages/25.html]]
2010-06-17T12:32:40+09:00
1276745560
-
nginx サーバー障害
https://w.atwiki.jp/nginx/pages/25.html
長年nginxでサーバーを運用してきました。
何度もサーバーが落ちたのを経験したので、まとめておきます。
何度もサーバー障害は起きたのですが、nginxが原因になったことは一度もありません。
問題となったのは
1. fastcgi
2. メモリー不足
3. APC
4. データベース
の4つです。
1.fastcgi これがよくエラーになりました。
fastcgiというのはnginxを仲介してphpプログラムを動作させるラッパーです。
fastcgiのプロセスが少ないとタイムアウトのエラーになります。
/usr/bin/php5-fastcgiの内容
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 2 -f /usr/bin/php5-cgi
上の2というのがプロセス数でこの値を増やします。
2. メモリー不足
前にも書きましたが、メモリーを積む。プログラムのサイズを小さくすることで対応します。
3. APC
APC というのはPHPのキャッシュプログラムのことです。
APCを導入すると、PHPのレスポンスが早くなります。
php.iniの
apc.shm_size=256
256のこの値を大きくします。この場合は256Mバイトという意味です。
4.データベース
データベースがボトルネックになっていることがあります。
まとめ
サーバー障害が起きた場合、nginx以外をまず疑うことです。
nginxの周りを調べていくと、復旧のめどが立つと思います。
Linuxでは個々のプログラムを大体把握していても、全体となると難しくなります。
実メモリに加えて、スワップがあり、どのようにプロセスにメモリが割り当てられているか、
いつ障害が起きたのか、httpだけとっても複雑な処理があり、障害を特定するのが困難になります。
一つ一つ抑えていくということにはなると思っています。
サーバーが遅くなった場合は、単純にプロセス数を増やしていけばいいのです。
ところがそれをやると、今度はメモリー不足に悩まされます。
メモリー不足を解消するとまた元の問題が発生する。
豊富なメモリーがあれば解決するの
2010-03-11T15:35:53+09:00
1268289353
-
changelog
https://w.atwiki.jp/nginx/pages/24.html
サーバーがタイムアウトのエラーを返すようになった。
深夜アクセスが増えるとエラーになることがある。
fastcgiを再起動すると復旧する。
原因はnginxの方ではない。
メモリー不足のエラー表示は出ていない。
fastcgiのプロセスが足りないのだろうか。
/usr/bin/php5-fastcgiの内容を変更した 3月11日
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 200 -f /usr/bin/php5-cgi 復旧前
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 240 -f /usr/bin/php5-cgi 復旧後
200から240にしてみた。200のプロセスでボトルネックを起こしていたのだろうか?
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 280 -f /usr/bin/php5-cgi 3月16日
240から280にしてみた。
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 400 -f /usr/bin/php5-cgi 2010 5/24
320から400にしてみた。
これで運用してみる。
2010-05-24T10:59:59+09:00
1274666399
-
サーバーが落ちたとき 完全マニュアル
https://w.atwiki.jp/nginx/pages/23.html
サーバーが落ちたとき 完全マニュアル
httpサーバーを再起動させる。
サーバーを再起動させる。
httpサーバーが落ちる時の原因は100%メモリにあります。
メモリ不足が原因です。
対処方は3つ。
1.メモリを増設する。
2.プログラムを小さくする。
3.サーバーの設定を見直す。
3のサーバー設定について
phpのキャッシュにapcを使っていますがapc.shm_sizeの値を大きくします。単位はメガバイトです。
apc.shm_size=256
2のプログラムを小さくする。
できるだけプログラムサイズを小さくします。
ショートコーディングや無駄な関数や変数の除去。
同じパターンを繰り返さない。
[[お薦めの海外サーバー>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]
[[linode>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]でnginxを作動させています。
2010-06-17T12:34:52+09:00
1276745692
-
nginx 極めた
https://w.atwiki.jp/nginx/pages/22.html
nginxでウェブサイトを運営していてようやく挙動が判ってきました。
サーバーが落ちるときの大きな原因はspawn-fcgiにあります。
phpやnginxが原因になったことは一度もありません。
rootでログインできて、サーバーが表示されなくなったときはspawn-fcgiを疑います。
設定場所は1箇所です。
/usr/bin/php-fastcgiファイルの -C オプションの値を上げます。
クエストに対して、ここの値が小さいとサーバーが遅くなります。
500に設定してあります。
#!/bin/sh
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -C 500 -f /usr/bin/php5-cgi
/etc/nginx/nginx.confファイルのworker_processesは変更しません。
4に設定してあります。
積んでいるCPUの数と同じにしておきます。
[[お薦めの海外サーバー>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]
[[linode>http://www.linode.com/?r=c63ed3ea31e592550f17bd32058664e5d0577f3c]]でnginxを作動させています。
2010-06-17T12:30:56+09:00
1276745456