ubuntuNginx反向代理和负载均衡

配置两台服务器确保nginx启动并且可以访问

配置nginx代理服务器

可以选择直接安装或者编译安装nginx

root@ubuntu:~# apt install libgd-dev #安装依赖

root@ubuntu:~# apt update

root@ubuntu:~# apt install libpcre3 libpcre3-dev

root@ubuntu:~# apt-get install openssl libssl-dev

root@ubuntu:~# apt intsall make

root@ubuntu:~# wget http://nginx.org/download/nginx-1.22.1.tar.gz #安装压缩包

root@ubuntu:~# tar -zvxf nginx-1.22.1.tar.gz #解压

root@ubuntu:~# cd nginx-1.22.1 #进入nginx目录

bash 复制代码
./configure --prefix=/www/env/nginx \   编译并指定自己的目录
--with-pcre \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_slice_module \
--with-mail \
--with-threads \
--with-file-aio \
--with-stream \
--with-mail_ssl_module \
--with-stream_ssl_module \

预编译完成后

使用make编译

bash 复制代码
nginx常用命令 常用命令 
nginx -s reload 修改配置后重新加载生效 
nginx -s stop 快速停止nginx 
nginx -s start 启动nginx 
nginx -s quit 完整有序的停止nginx 
nginx -v 查看nginx的版本 
nginx -V 查看版本和nginx的配置选项 
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确 
nginx -s reopen 重新打开日志文件

进入配置文件进行配置编写

bash 复制代码
 upstream nginx_boot{
                              #weight权重:权重值越大被分配到的次数就会增多
        server 192.168.182.131 weight=100 max_fails=2 fail_timeout=30s;
        server 192.168.182.134 weight=100 max_fails=2 fail_timeout=30s;
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
        #    root   html;
       #     index  index.html index.htm;
                 root   html;
        # 配置一下index的地址,最后加上index.ftl。
                 index  index.html index.htm index.jsp index.ftl;
                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # 请求交给名为nginx_boot的upstream上
                 proxy_pass http://nginx_boot;

        }

测试


ip_hash 固定转发 每个访问客户端会固定访问一个后端服务器

bash 复制代码
upstream nginx_boot { 
		ip_hash; 
		server 192.168.182.131;
		server 192.168.182.134; 
}

最少连接 web请求会被转发到连接数最少的服务器上

bash 复制代码
upstream nginx_boot { 
		least_conn; 
		server 192.168.182.131;
		server 192.168.182.134; 
}
相关推荐
自由鬼9 分钟前
正向代理服务器Squid:功能、架构、部署与应用深度解析
java·运维·服务器·程序人生·安全·架构·代理
许白掰16 分钟前
Linux入门篇学习——Linux 编写第一个自己的命令
linux·运维·数据库·嵌入式硬件·学习
qinyia19 分钟前
Wisdom SSH:探索AI助手在复杂运维任务中的卓越表现
运维·人工智能·ssh
打不了嗝 ᥬ᭄21 分钟前
文件系统----底层架构
linux·运维·数据库
12点一刻1 小时前
搭建自动化工作流:探寻解放双手的有效方案(1)
运维·人工智能·自动化·deepseek
Hi202402171 小时前
自动化Trae Apollo参数解释的批量获取
运维·自动化·trae
sky丶Mamba2 小时前
CMD,PowerShell、Linux/MAC设置环境变量
linux·运维·macos
运维开发王义杰2 小时前
打破技术债困境:从“保持现状”到成为变革的推动者
运维·职场和发展
工藤新一¹2 小时前
Linux 开发工具
linux·运维·服务器
W111115_3 小时前
网络综合实验
linux·运维·服务器·网络