facebook twitter hatena line email

Linux/nginx

提供: 初心者エンジニアの簡易メモ
2015年5月20日 (水) 03:17時点における127.0.0.1 (トーク)による版 (ページの作成:「==repo導入== $ sudo vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1 $ sudo yum...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

repo導入

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

nginxインストール

$ sudo yum install nginx
nginx                    x86_64                    1.8.0-1.el6.ngx                    nginx                    352 k


nginx設定修正

vi /etc/nginx/nginx.conf

User名とVersion情報を出力しないように

   http {
       server_tokens off;
   }

port番号変更

vi /etc/nginx/conf.d/default.conf

apacheが既に起動している場合はportを適当に変更する

- listen 80
+ listen 8090

http://localhost:8090

403だった時はiptalbesなどを確認

$ sudo vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT
$ /etc/rc.d/init.d/iptables restart

起動

/etc/rc.d/init.d/nginx start

自動起動

/sbin/chkconfig nginx on

phpを動かす場合は

nginx.confの以下コメントアウト

#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

apacheに引き渡す際のreverse_proxy設定

vi /etc/nginx/conf.d/example.conf
server {
   listen       8090;
   server_name  example.localhost;
   location / {
           proxy_pass http://127.0.0.1:80;
           proxy_redirect off;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-Host $host;
           proxy_set_header X-Forwarded-Server $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

動的処理はapacheに渡し、静的ファイルはapacheに渡さない

server {
   listen       8090;
   server_name  example.localhost;
   location ~ .*\.(jpg|JPG|gif|GIF|png|PNG|swf|SWF|css|CSS|js|JS|inc|INC|ico|ICO) {
     root    /var/www/zend/example/public;
     index   index.html;
     ssi     on;
     break;
   }
   location / {
・・略・・

apache側port変更設定

  • /etc/httpd/conf/httpd.conf
Listen 80
Listen 8080
NameVirtualHost *:80
NameVirtualHost *:8080
  • /etc/httpd/conf/extra/example.conf
<VirtualHost *:8080>
・・略・・

mod_rpafのインストール

apacheのipが127.0.0.1になる問題回避で使用

$ sudo yum install httpd-devel
$ cd /usr/local/src
$ sudo wget https://raw.github.com/ttkzw/mod_rpaf-0.6/master/mod_rpaf-2.0.c --no-check-certificate
$ sudo /usr/sbin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
$ sudo vi /etc/httpd/conf.d/mod_rpaf.conf
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 10. 172.16.
RPAFheader X-Forwarded-For
$ sudo /etc/init.d/httpd restart

参考

http://se-suganuma.blogspot.jp/2012/04/centosnginx-php-fpminstallwordpress.html