nginxはworkerプロセスの数をCPUコア(スレッド)数で決定するworker_processes autoという便利設定があります。 これが多用されているのは、nginxがノンブロッキングでリクエスト処理を行うため、コンテキストスイッチなどを考慮した場合に、コア数で立ち上げておけば効率よくCPUを使い切れるという前提があるからです。 一方で、例えば僕の用途では、現在画像の処理だったりとか、ngx_mrubyのようにリクエストの過程で一部ブロッキングされるような処理も増えてきているため、コア数以上の値に設定しておいた方が性能を発揮できるような状況も増えてきています。 そうなると、現状、非常に便利な設定であるauto設定を使えずに静的に数字を設定する必要があり、例えばサーバリプレース時には古いコア数を考慮した値になっていたりして、リプレース後にCPUのコア設定がそのままで性能が出せてい
Knowledge というオープンソースのソフトウェアを使用しているのですが、その中でファイルをアップロードしたところ「アップロードに失敗しました」とメッセージが表示されアップロードできませんでした。 原因を調べたところ nginx のデフォルトが 1M までということが分かり、 client_max_body_size を適切に設定することで対応することができました。 Knowledge は次の環境で運用しています。 nginx tomcat サーバで取り扱うサイズの変更 http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size によると、 nginx ではデフォルトで1MBまでのデータしか受け付けない設定になっています。 nginx が1MBより大きなデータを扱えるようにするには、 conf
アクセス権限は、 ・ディレクトリには実行権限 ・ファイルには読取り権限 を付与すれば大丈夫なはずですが、このようなエラーが出てしまいました。 [error] 4418#0: *9 open() "/home/ec2-user/www/index.html" failed (13: Permission denied)ディレクトリ・ファイルの所有者やグループをrootに変更してもダメです。 とりあえずの解決案 基本的に、ルートディレクトリの場所がユーザーのホームディレクトリに設定されているとエラーになります。 (というのはちょっと語弊があります。エラーになる理由はこちら) ✖ダメな例 location / { root /home/[ユーザー名]/www; index index.html; }※デフォルトだと「/home/[ユーザー名]/」のパーミッションが700なので、701に変更すれば
Centos7 + Nnginx 1.10.3 でerror.logを見てみると 2017/02/17 10:51:27 [crit] 17910#17910: *1 stat() "/home/user/sample/html/" failed (13: Permission denied), client: xxx.xxx.xxx.xxx, server: sample.com, request: "GET / HTTP/1.1", host: "sample.com", referrer: "https://sample.com" といったエラーがたくさん.. ディレクトリのパーミッションを見てみても $ ls -al /home/user/sample/html/ drwxrwxr-x 7 user nginx 4096 2月 16 12:10 . な感じで問題なさそう いろいろ調
defaultは60秒 sudo vi /etc/nginx/nginx.conf httpブロックのタイムアウト時間を変更する(秒) http{ ... proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300; ... } 特定のサーバだけ、時間変えたい時 server{ ... proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300; ... } 再起動 sudo systemctl restart nginx 確認 systemctl status nginx
# ワーカプロセス数 worker_processes 1; # エラーログ出力先 error_log /var/log/nginx/error.log; # PIDファイルの配置先 pid /var/run/nginx.pid; # 1ワーカプロセスが同時オープン可能なファイルディスクリプタ数最大値 worker_rlimit_nofile 1024; events { # 1ワーカプロセスが同時オープン可能なコネクション数最大値 worker_connections 512; } http { # アクセスログ出力先 access_log /var/log/nginx/access.log; # nginxに常時接続しているクライアントに対するタイムアウト時間 keepalive_timeout 10s; server { listen 80; location / { # 全てのアド
Enables or disables the use of asynchronous file I/O (AIO) on FreeBSD and Linux: location /video/ { aio on; output_buffers 1 64k; } On FreeBSD, AIO can be used starting from FreeBSD 4.3. Prior to FreeBSD 11.0, AIO can either be linked statically into a kernel: options VFS_AIO or loaded dynamically as a kernel loadable module: kldload aio On Linux, AIO can be used starting from kernel version 2.6.2
フォーマットもこの通りほぼ同じ。 パスワードの暗号化ですが、この節ではopensslがインストールされている事を前提にして手順を記載してます。 Apacheのhtpasswdを使ってもかまいませんが、わざわざそれをインストールする手間が省けます。 sudo sh -c "echo -n 'ユーザー名:$(openssl passwd -apr1 パスワード)' > '/usr/share/nginx/html/.htpasswd'" # sudo不要&追記するなら echo "ユーザー名:$(openssl passwd -apr1 パスワード)" >> "/usr/share/nginx/html/.htpasswd"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く