前言:
由于工作需要,搭建公司移动充值平台项目,需要使用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; #备用服务器
}