すげえ分かりやすい。
install options
インストール
1
2
3
4
|
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.0.0.tar.gz
tar zxvf nginx-1.0.0.tar.gz
cd nginx-1.0.0
|
1
2
3
|
Nginxはコンパイル時にしか拡張モジュールの組み込みができないので、
ビルドの過程はシェルスクリプトの形で残しておいた方が良い。
http://wp.serpere.info/archives/1799 CentOS 5にNginxをインストールする | へびにっき] (リンク切れ)
|
を習って元エントリスクリプトを自分用に修正。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#!/bin/sh
NGINX=nginx-1.0.0
SOURCE_DIR=/usr/local/src
id nginx || sudo useradd -s /sbin/nologin -d /usr/local/nginx -M nginx
cd $SOURCE_DIR/$NGINX
[ -e "$SOURCE_DIR/$NGINX/Makefile" ] && make clean
./configure \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
&& make
|
を
1
|
$SOURCE_DIR/$NGINX/hogehoge.sh
|
として配置してはじいてあげる。
1
2
3
|
sh hogehoge.sh
make install
mkdir -p /var/tmp/nginx/{proxy,client,fcgi}
|
とするとな。
nginx.conf 編集
1
|
--conf-path=/etc/nginx/nginx.conf
|
としたとおり、
/etc/nginx/nginx.conf
を編集する。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name example.com;
access_log /path/to/access.log main;
error_log /path/to/access.log;
location / {
root /path/to/example.com/DocumentRoot;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /\.ht {
deny all;
}
}
}
|
としたとしようや。
1
|
root /path/to/example.com/DocumentRoot;
|
がhttpd.confの
1
|
DocumentRoot /path/to/example.com/DocumentRoot
|
なので、それなりにディレクトリ作ったらいいよ。
という対応ですね。
起動
- /usr/local/nginx/sbin/nginx がそれ
- /usr/local/nginx/sbin/nginx で実行
- /usr/local/nginx/sbin/nginx -s stop で停止
- /usr/local/nginx/sbin/nginx -s reload で再読込
- /usr/local/nginx/sbin/nginx -h
1
2
3
4
5
6
7
8
9
10
11
12
13
|
nginx: nginx version: nginx/1.0.0
nginx: Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/nginx/)
-c filename : set configuration file (default: /etc/nginx/nginx.conf)
-g directives : set global directives out of configuration file
|
なんで /usr/local/nginx/sbin/nginx に配置されるかっていうと
InstallOptions - Nginx Communityにある、
1
2
|
--prefix=path - defines a directory that will keep server files. This same directory will also be used for all relative paths set by configure (except for paths to libraries sources) and in the nginx.conf configuration file. It is set to the /usr/local/nginx directory by default.
--sbin-path=path - sets the name of an nginx executable file. This name is used only during installation. By default the file is named prefix/sbin/nginx.
|
だからですね。
ともに無指定だったため、デフォルトでインストールされたということ。
確認
1
2
3
|
# ps -ef|grep nginx |grep -v grep
nginx 5497 6044 0 04:47 ? 00:00:00 nginx: worker process
root 6044 1 0 00:34 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
|
1
|
echo "Hello nginx" > /path/to/example.com/DocumentRoot/index.html
|
の
とかね。ゾンザイだけども。