首先介紹一下Nginx的基本使用:
注意不要直接雙擊nginx.exe,這樣會導致修改配置后重啟、停止nginx無效,需要手動關閉任務管理器內的所有nginx進程
在nginx.exe目錄,打開命令行工具,用命令 啟動/關閉/重啟nginx
start nginx : 啟動nginx
nginx -s reload :修改配置后重新加載生效
nginx -s reopen :重新打開日志文件
nginx -t -c /path/to/nginx.conf 測試nginx配置文件是否正確
關閉nginx:
nginx -s stop :快速停止nginx
nginx -s quit :完整有序的停止nginx
如果遇到報錯:
bash: nginx: command not found
有可能是你再linux命令行環境下運行了windows命令,
如果你之前是允許 nginx -s reload報錯, 試下 ./nginx -s reload
或者 用windows系統自帶命令行工具運行
nginx配置webservice
#user nobody; worker_processes 4; #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; upstream esbServer { server 127.0.0.1:8083 weight=1 max_fails=2 fail_timeout=30s; } #gzip on; server { listen 8081; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location /ladder_web { proxy_set_header X-real-ip $remote_addr; proxy_pass http://esbServer; } } }
nginx 配置mysql代理 -- 基於nginx1.9以上 stream module
stream 模塊用於一般的 TCP 代理和負載均衡。
#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; } stream { upstream sql { server 172.16.10.229:3306 weight=1 max_fails=2 fail_timeout=30s; } server { listen 3333; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass sql; } }
nginx配置Sql server服務代理
#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; } stream { upstream sqlserver { server 172.16.10.167:1433 weight=1 max_fails=2 fail_timeout=30s; } server { listen 3334; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass sqlserver; } }
nginx配置Oracle代理
#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; } stream { upstream oracle { server 172.16.10.222:1521 weight=1 max_fails=2 fail_timeout=30s; } server { listen 3335; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass oracle; } }