一. Nginx 簡介與作用
a.高性能HTTP服務器
b.可做反向代理
c.IMAP/POP3/SMTP 代理服務器
二. 特點
a.內存佔用少
b.併發能力強
c.輕量級的Web 服務器
三. 安裝依賴
四. 安裝nginx
1. wget http://nginx.org/download/nginx-1.7.10.tar.gz
2. tar -zxvf nginx-1.7.10.tar.gz
3. cd nginx-1.7.10/
4. ./configure --with-pcre=../pcre-8.21 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-fips--ecp-2.0.9
5. make
6. sudo make install
安裝完成! 檢查是否安裝成功
1. cd /usr/local/nginx/sbin
2. sudo ./nginx -t
五. 啓動
sudo ./nginx
查看端口
以上大部分參考 http://www.cnblogs.com/dennisit/archive/2012/12/26/2834719.html 感謝此博主
六.參數配置
安裝完Nginx之後在目錄 /usr/local/nginx/conf 中可以看到
主配置文件nginx.conf ,文件主要分成四部分:main(全局設置)、server(主機設置)、upstream(負載均衡服務器設置)和 location(URL匹配特定位置的設置)
main部分設置的指令將影響其他所有設置;server部分的指令主要用於指定主機和端口;upstream指令主要用於負載均衡,設置一系列的後端服務器;location部分用於匹配網
頁位置。這四者之間的關係式:server繼承main,location繼承server,upstream既不會繼承其他設置也不會被繼承
下面我們一起看一下,具體設置與參數
#user nobody; #user是個主模塊指令,指定Nginx Worker進程運行用戶以及用戶組
worker_processes 1; #主模塊指令,指定了Nginx要開啓的進程數,每個Nginx進程平均耗費10M~12M內存。根據經驗,一般指定一個進程足夠了,如果是多核CPU,建議
指定和CPU的數量一樣的進程數即可
#error_log logs/error.log; #error_log是個主模塊指令,用來定義全局錯誤日誌文件。日誌輸出級別有debug、info、notice、warn、error
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid; #主模塊指令,用來指定進程id的存儲文件位置
#此模塊中可以指定Nginx 的工作模式與連接上線
events {
use epoll;#use是個事件模塊指令,用來指定Nginx的工作模式。Nginx支持的工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll。其中select和poll都是標準的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在Linux平臺上,而kqueue用在BSD系統中。對於Linux系統,epoll工作模式是首選。
worker_connections 1024;
}
配置文件樣例:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
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"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#upstream backend {
#ip_hash;
#server 127.0.0.1:8089 weight=5;
#server 127.0.0.1:8090 weight=5;
#}
server {
listen 80;
server_name 127.0.0.1;
#charset koi8-r;
#access_log logs/host.access.log main;
location /simland-app-service/ {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://localhost:8081/simland-app-service/;
}
location /solr/ {
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://localhost:8081/solr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}