自從接觸nginx就開始喜歡上這個小東西了,似乎沒什么特別的原因,就是喜歡而已。
1、安裝環境的准備
yum install pcre pcre-devel openssl openssl-devel
由於前面的安裝,大多數環境和類庫已經准備完畢,只需要安裝rewrite依賴和ssl相關的組件即可。
2、編譯配置
./configure --prefix=/usr/local/nginx --user=www-data --group=www-data\ --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module\ --with-mail
常規性編譯配置,大多數標准組件,nginx編譯時會默認編譯
3、安裝
make && make install
4、啟動操作
1 /usr/local/nginx/sbin/nginx 2 /usr/local/nginx/sbin/nginx –s stop|reload
nginx的操作基本都是通過nginx這個命令進行的,啟動可直接運行1,停止,或者修改完配置文件重新加載,可以運行帶有-s參數的命令執行
5、配置
nginx的配置文件位於/usr/local/nginx/conf/nginx.conf。
打開后,注意如下的基礎配置語句:
1 user www-data www-data; 2 worker_processes 2; 3 4 events { 5 worker_connections 2048; 6 } 7 8 http { 9 include mime.types; 10 include vhost/*.conf; 11 default_type application/octet-stream; 12 index index.php index.html; 13 }
1)運行nginx的用戶和組
2)nginx可使用的cpu內核數,默認是1,worker_processes*worker_connections=實際可接受的用戶鏈接數字;
5)設置可接受的連接數;
10)自定義配置,標示關於虛擬主機的配置文件,在conf目錄的vhost子目錄中(注意此為自定義配置,只有在http全局設置中使用了include加載全部虛擬主機配置方可有效)。
虛擬主機配置:
1 server { 2 listen 80; 3 server_name example.org www.example.org; 4 root /data/www; 5 access_log logs/example/access.log; 6 7 location ~ \.php$ { 8 fastcgi_index index.php; 9 fastcgi_pass 127.0.0.1:9000; 10 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 11 include fastcgi_params; 12 } 13 14 location ~* \.(gif|jpg|png)$ { 15 access_log off; 16 expires 5d; 17 } 18 19 location ~ /\.ht { 20 deny all; 21 } 22 }
具體配置內容,可參考wiki.nginx.org
6、默認主機的設置
配置完上面的虛擬主機,有時你會發現一個有意思的事情,如果你綁定一個未定義的主機頭,依舊是可以訪問的,只不過訪問的是,第一個或者最后一個虛擬主機,這是因為nginx默認沒有找到主機頭時,會指定一個,因此最好在主配置文件中,設置默認的server配置節,已避免非授權的綁定。
server { listen 80 default_server; server_name localhost; location / { root html; } }
注意,上面的關鍵詞為default_server,設置一個空的虛擬主機,將其監聽設置為default_server,這樣一來,所有為在虛擬主機中設定的主機頭,及時綁定之后,也會默認跳轉到這個空主機中。
