php nginx 负载均衡

该博客介绍了如何在Nginx服务器上配置负载均衡,通过upstream将请求分发到多个代码服务器192.168.182.129:81和192.168.182.131:81,以实现高可用性和性能优化。

1:nginx服务器  192.168.182.128:8081/

   代码服务器: 192.168.182.129:81

                       192.168.182.131:81

2:在nginx服务器配置nginx.conf

upstream tomcatserver1 
{    
    server 192.168.182.129:81 weight=3;   
    server 192.168.182.131:81;    
}
server
{
     listen 8081;
     server_name 192.168.182.128;
     location / {
         proxy_pass   http://tomcatserver1;
         proxy_set_header Host $host; 
         proxy_set_header X-Real-IP $remote_addr; 
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     }
}

3:查看

 

### PHPNginx 环境下的负载均衡配置及 MySQL 主从复制设置 #### 一、Nginx负载均衡配置 在 PHPNginx 环境下,可以通过 Nginx 实现对后端应用服务器(如 Tomcat 或其他 PHP-FPM 进程)的负载均衡。以下是具体的配置方法: 1. **编辑 Nginx 配置文件** 打开 `nginx.conf` 文件,在其中定义一个 upstream 块来指定多个后端服务器地址。 ```nginx http { upstream backend { server 192.168.1.101 weight=5; # 权重较高的服务器 server 192.168.1.102; server 192.168.1.103 backup; # 备份服务器 } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } ``` 上述配置实现了基于轮询算法的负载均衡,并支持权重分配和备份机制[^1]。 --- #### 二、MySQL 主从复制的配置 为了提高系统的可用性和性能,可以采用 MySQL 主从复制技术。以下是具体步骤: 1. **主库配置** 编辑主库的 my.cnf 文件,启用 binlog 并设置唯一的 Server ID。 ```ini [mysqld] log-bin=mysql-bin server-id=1 binlog-do-db=testdb ``` 同时重启 MySQL 服务并创建用于同步的账号。 ```sql CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; ``` 2. **从库配置** 创建从库容器时可参考如下命令[^2]: ```bash docker run -d \ --name mysql_slave01 \ -v /mysql/slave01/data:/var/lib/mysql \ -v /mysql/slave01/conf/my.cnf:/etc/my.cnf \ -p 3307:3306 \ -e MYSQL_ROOT_PASSWORD=password \ mysql:5.7 ``` 修改从库的 my.cnf 文件,设置其 Server ID 不同于主库。 ```ini [mysqld] server-id=2 relay-log=mysql-relay-bin read-only=1 ``` 3. **启动主从同步** 获取主库的状态信息并将其传递到从库。 ```sql SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 123 | testdb | | +------------------+----------+--------------+------------------+ CHANGE MASTER TO MASTER_HOST='192.168.1.101', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=123; START SLAVE; ``` 4. **验证同步状态** ```sql SHOW SLAVE STATUS\G; ``` 如果 Slave_IO_Running 和 Slave_SQL_Running 显示为 Yes,则表示同步成功[^4]。 --- #### 三、Nginx 和 Keepalived 的高可用配置 为了让整个系统更加稳定,可以引入 Keepalived 提供 VIP 支持。以下是基本操作流程: 1. 安装 Keepalived 并修改 `/etc/keepalived/keepalived.conf` 文件。 ```plaintext vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass password } virtual_ipaddress { 192.168.1.200 } } ``` 2. 将 Nginx 和 Keepalived 加入开机自启[^3]。 ```bash echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local echo "/etc/init.d/keepalived start" >> /etc/rc.local chmod +x /etc/rc.local ``` --- #### 四、总结 通过以上配置,可以在 PHPNginx 环境中实现高效的负载均衡,并利用 MySQL 主从复制提升数据处理能力。这种架构不仅能够满足高性能需求,还能保障系统的可靠性和稳定性[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值