前言:
由于工作需要,搭建公司移动充值平台项目,需要使用nginx反向代理服务器。nginx 有很多指令和模块,通过添加不同模块和不同指令值,即可完成配置。也可以参考官方文档。
正文:
nginx.conf是主配置文件,我们大部分的配置修改添加都在这个文件里。
我们先看看nginx.conf里的模块和指令:
user nginx;#定义用户和组信息
worker_processes 4;#工作进程,一般和CPU核数相同
error_log logs/error.log;# 日志目录
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;#定义储存主进程的id目录,启动nginx会生成一个id保存到nginx.pid里
events { #与网络连接有关的模块
worker_connections 1024; #一个work进程同时处理的最大连接数,最大1024,默认512.
}
http { #http服务模块,所有和http有关的配置都在这里
include mime.types; #包含mime.types文件
default_type application/octet-stream; #定义默认的mime type
#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;#与客户端保持连接最大时间
include /etc/nginx/conf.d/*.conf; #包含配置文件,为了方便管理,添加server,upstream模块配置,可以新建配置文件在一个目录下,用include指令包含进来
gzip on; #启用文件压缩
......
有关服务器配置定义在my.conf中
# # The default server # server { listen 8080 ;#监听接受请求服务器IP的地址和端口号,可以是主机名,localhost,端口号,或者*:8080 server_name 192.168.0.130; #服务器名ip或者域名 location ~ /BS { #与客户端请求的URI匹配,匹配/BFS proxy_pass http://192.168.0.151:8781; #代理服务器协议和地址 proxy_redirect off ; #关闭重写访问地址 #proxy_set_header 允许重新定义或附加字段传递给代理服务器的请求头 proxy_set_header Host $host:8080; #传递客户端主机名 proxy_set_header X-Real-IP $remote_addr; #获取客户端真是IP地址 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ /MS { proxy_pass http://ms; # rewrite ^/OMS/(.*)$ /$1 break; proxy_redirect off ; proxy_set_header Host $host:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } #charset koi8-r; #access_log logs/host.access.log main; # Load configuration files for the default server block. # include /etc/nginx/default.d/*.conf; # location / { # root /usr/share/nginx/html; # index index.html index.htm; # } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
ms 系统配置了负载均衡,在upstream.conf中
upstream ms{ ip_hash; #轮询算法 server 192.168.0.152:9281; #上游服务器地址 server 1192.168.0.153:9281; #备用服务器 }