记录一下nginx配置负载均衡和Keepalived高可用的nginx双机热备
下面准备4台测试虚拟机192.168.44.131-134;四台机器环境是相同的
nginx/1.14.0 PHP 7.2.11
44.131的服务器作为主的转发来使用nginx.conf配置如下
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;#添加的内容
upstream mynginx{
server 192.168.44.132:8082; #nginx转发
server 192.168.44.133:8082; #nginx转发
server 192.168.44.134:8082;
}
include /etc/nginx/conf.d/*.conf;
}添加一个配置端口是8082
server {
listen 8082;
server_name localhost;
root /var/www/html;
index index.html index.htm index.php;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
#转发
location / {
proxy_pass http://mynginx;
}
}到此44.131配置完成;重启一下nginx;下面配置剩下的3台如下
server {
listen 8082;
server_name localhost;
root /var/www/html;
index index.html index.htm index.php;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}为了区分新建一个test.php内容分别输出这是192.168.44.132-134;效果如图



如果132-134有一个宕掉不会影响总体的服务
统计日志访问数量
cat xx.log |grep 'GET /action'|cut -d ' ' -f4|uniq -c|sort -n -r