Nginx是非常流行的Web服务器和反向代理服务器,既可以单独使用,也可以作为负载均衡器实现集群部署。下面是Nginx单机和集群的详细部署流程。
Nginx单机部署流程
步骤1:安装
首先,安装Nginx。可以使用包管理工具安装,或者从Nginx官网下载源码安装。
# Ubuntu系统上使用包管理工具安装
sudo apt-get update
sudo apt-get install nginx
# Centos系统上使用包管理工具安装
sudo yum update
sudo yum install nginx
步骤2:配置
安装完成后,需要对Nginx进行配置,以便与本地网络连接。打开Nginx主配置文件,通常情况下位于/etc/nginx/nginx.conf,修改以下配置:
# 关闭服务不需要的选项
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# 配置HTTP服务
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;
# 在这里添加其他HTTP配置
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
location / {
index index.html;
}
}
}
然后,保存并关闭文件。可以使用以下命令来检查您的Nginx配置是否正确:
sudo nginx -t
步骤3:启动
完成配置后,启动Nginx服务:
sudo systemctl start nginx
检查Nginx是否成功运行:
sudo systemctl status nginx
使用keepalived实现NGINX的高可用
-
安装和配置keepalived:
- 在两台服务器上安装keepalived软件包:
sudo apt-get install keepalived
- 在每台服务器上创建一个keepalived配置文件
/etc/keepalived/keepalived.conf
:sudo nano /etc/keepalived/keepalived.conf
- 在配置文件中加入以下内容,其中
VIRTUAL_ROUTER_ID
是虚拟路由ID,INTERFACE
是网络接口名,VIRTUAL_IP
是虚拟IP地址,MASTER_SERVER
和BACKUP_SERVER
是两台服务器的IP地址:vrrp_instance VRRP_INSTANCE { state MASTER/BACKUP interface INTERFACE virtual_router_id VIRTUAL_ROUTER_ID priority 100 advert_int 1 authentication { auth_type PASS auth_pass PASSWORD } virtual_ipaddress { VIRTUAL_IP } }
- 将上述配置文件在两台服务器上进行相应修改,将
state
设置为MASTER
和BACKUP
分别。 - 启动和启用keepalived服务:
sudo systemctl start keepalived sudo systemctl enable keepalived
- 在两台服务器上安装keepalived软件包:
-
安装和配置NGINX:
- 在两台服务器上安装NGINX软件包:
sudo apt-get install nginx
- 在每台服务器上打开NGINX配置文件
/etc/nginx/nginx.conf
:sudo nano /etc/nginx/nginx.conf
- 将配置文件中的
listen
行修改为以下内容,其中VIRTUAL_IP
是keepalived配置文件中设置的虚拟IP地址:listen VIRTUAL_IP:80;
- 保存并关闭文件。
- 检查NGINX配置文件是否正确:
sudo nginx -t
- 如果没有错误,重新加载NGINX配置文件:
sudo systemctl reload nginx
- 在两台服务器上安装NGINX软件包:
现在,您已经成功地使用keepalived实现了NGINX的高可用。在主节点上运行的NGINX会监听虚拟IP地址,并在备份节点需要接管时,keepalived会自动将虚拟IP地址切换到备份节点上。这样,当主节点发生故障时,备份节点会立即接管并继续提供服务,确保高可用性。