all

nginxでabした時にtoo many open filesになってしまった場合の対処

nginx 説明 [#z21f03ff] nginxが同時に開けファイル数の制御の設定です。 手順 [#bf3a6249] # ab -c 1024 -n 10240 http://hogehoge.com/ Too many open files # ps aux | grep nginx root 13206 0.0 0.0 44720 1184 ? Ss 18:53 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf nginx 13207 1.0 0.0 45212 2276 ? S 18:53 0:00 nginx: worker process nginx 13208 0.0 0.0 45108 1916 ? S 18:53 0:00 nginx: worker process nginx 13209 0.5 0.0 45212 2276 ?
2 minutes to read

nginxでaliasの設定

nginx 概要 [#y841e4db] nginxでalias設定をする場合の記述例です。 記述例 [#u754bcc9] location /phpMyAdmin { alias /var/www/html/phpMyAdmin; }
One minute to read

nginxでBasic認証の設定

nginx 概要 [#ud9f3089] nginxの設定ファイルにBasic認証の記述例です。 記述例 [#vd7416db] # cd /var/www/html # mkdir pw # htpasswd -c .htpasswd hogehogeuser パスワード 2回入力 # vi /etc/nginx/stie-enabled/inamuu.com.conf location /phpMyAdmin { alias /var/www/html/phpMyAdmin/; auth_basic "This is Secret Aria"; auth_basic_user_file /var/www/html/pw/.htpasswd; } # service nginx configtest # service nginx reload
One minute to read

nginxでIP制限をする

#author(“2019-01-22T06:10:10+00:00”,“default:kazuma”,“kazuma”) nginx 特定のURLだけをIP制限する [#h9b5b9c5] よくあるパターン。外部には公開したくないURLがあった場合にIP制限をするには下記のように記述する。 location /admin { allow 接続許可をするIPアドレス; deny all; } 特定のURLだけを外部公開して、ほかはIP制限する [#v5274dec] あんまりないと思うが、基本IP制限をして特定のURLだけを外部公開するパターン。 acl変数がtrueの場合は503を返さないが、それ以外は503が変えるようにする。 このようにnginxで変数を使えば簡単にできる。他にも方法はあるかもだけど。 set $acl false; if ( $remote_addr = 接続許可をするIPアドレス ){ set $acl true; } if ( $request_uri * /global/ ){ set $acl true; } location / { if ( $acl = false ){ return 503; } } CIDR単位で指定する場合 [#bf4d4e29] CIDR単位で指定したい場合、上記ではCIDRを書いても許可されないので注意。 下記のようにnginxのgeoモジュールで許可する必要がある。 geo $mysubnet { default 0; XXX.XXX.XXX.0/24 1; } server { if ( $mysubnet ) { set $acl true; } location /admin { if ( $acl = false ){ return 503; }
One minute to read

nginxでPHPを動かす

nginx 概要 [#dbc6d8d4] nginxでPHPを動かす方法です。 いくつかあるようですが、php-fpmでの方法を記載します。 内容 [#i5b36c34] 1.remiまたはepelのリポジトリを導入する。 [#ib0137b6] 2.php-fpmをインストール [#jb55a762] # yum install php-fpm # php-fpm -v PHP 5.3.3 (fpm-fcgi) (built: Dec 11 2013 03:32:01) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies # /etc/init.d/php-fpm start php-fpm を起動中: [ OK ] # chkconfig php-fpm on # chkconfig php-fpm –list php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off 3.nginxでphpをCGIとして稼働するように設定する。 [#n0f0059a] # cd /etc/nginx/conf.d/ # vi server.
One minute to read

nginxでWordPressをサブディレクトリに設定する

#author(“2019-01-19T14:57:01+00:00”,“default:kazuma”,“kazuma”) nginx nginx の conf [#r18a6298] location /test2 { alias /var/www/html/hogejp/test2; index index.php; if (!-e $request_filename) { rewrite ^/test2(.+)$ /test2/index.php?q=$1 last; break; } location ^/test2/.+.php$ { fastcgi_pass 127.0.0.1:9002; fastcgi_index index.php; fastcgi_split_path_info ^/jc8xzj(.+.php)(.*)$; fastcgi_param SCRIPT_FILENAME /var/www/html/hoge.jp/test2$fastcgi_script_name; fastcgi_intercept_errors on; include fastcgi_params; } }
One minute to read

nginxでヘッダを追加する

nginx 記述例 [#ta9f7e35] location / { root /usr/share/nginx/html; index index.html index.htm; add_header P3P "CP=&#34;UNI CUR OUR&#34;"; <==ここの部分が追加される。 } 結果 [#fd0fbed2] $ curl –head http://inamuu.com/hoge.html HTTP/1.1 200 OK Server: nginx Date: Tue, 29 Jul 2014 10:56:38 GMT Content-Type: text/html Content-Length: 28762 Last-Modified: Wed, 25 Jun 2014 07:35:31 GMT Connection: keep-alive ETag: "53aa7bc3-705a" P3P: CP="UNI CUR OUR" Accept-Ranges: bytes
One minute to read

nginxでリバースプロキシとして活用した場合の主なオプション

nginx 同じクライアントからの接続を同じサーバーにする [#td19aa37] ip_hash;を追加する upstream backend { ip_hash; server 192.168.100.101:8080; server 192.168.100.102:8080; } 参考URL:http://nginx.org/en/docs/http/ngx_http_upstream_module.html 参考URL:http://og732.hatenadiary.com/entry/2013/05/08/225939
One minute to read

nginxのインストール:Debian系

nginx 概要 [#m1f292aa] Debian系のnginxのインストールです。 実際はRaspberryPiにインストールしました。 コマンド [#ia47d2c0] apt-get install nginx apt-get -y install php5 php5-fpm php5-common php-pear php5-mcrypt php5-mysql php5-cli php5-gd php-apc
One minute to read

nginxのインストール:redhat系

nginx 概要 [#ba79063f] redhat系のディストリ用インストール手順です。※CentOSでテストしています。 手順 [#m13ef8e2] # CentOS nginx yum install 下記URLからリポジトリをダウンロードする。 [#x86ae1cd] OSのバージョン、アーキテクチャ、nginxのバージョンごとにファイル名がことなるので一度サイトへアクセスして確認する http://nginx.org/packages/centos/6/noarch/RPMS/ # cd /usr/local/src/ # wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm –2014-03-03 16:16:55– http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm # rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm # cd /etc/yum.repos.d/ # ls -l -rw-r–r– 1 root root 113 10月 14 19:04 2011 nginx.repo # yum install nginx # chkconfig –list nginx nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off もしくは、下記を追加してnginxをインストールすればOK.

vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1

One minute to read