nginx
一、nginx的安装(configure,make,make install)
从官网安装
nginx官网下载地址
http://nginx.org/en/download.html
这里我们选择比较稳定的版本
1.20
复制连接下载
wget http://nginx.org/download/nginx-1.20.2.tar.gz
然后解压
tar zxf nginx-1.20.2.tar.gz
下面按一下c语言编辑器
yum install gcc -y
然后再执行刚刚没有运行成功的代码
再次编译
这里就检测通过了
然后编译
make
make install
不可以多次启用,否则端口会被占用
二、nginx的配置(负载均衡)
安装完nginx以后,开始进行个性化的配置
首先找到主配置文件
配置完以后重启服务
编译
nginx -t
编译没有问题就可以重启服务
nginx -s reload
去真机上测试效果
先做个域名解析
vim /etc/hosts
效果
iphash
iphash方式会让实验时主机的ip都访问到server2的地址
当设置server2 down以后,就会都访问server3
另外再down的位置可以更换成weight,就是权重。比如在实验中的102主机后缀上weight=2,那么测试时可以发现,server2响应与server3的响应比例刚好为2:1。
扩充调度算法
完成基本的配置以后,需要下载一些东西来扩充调度算法
解压
unzip nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip
解压以后首先清理一下刚刚实验的配置
make clean
之后与nginx的安装过程类似,依旧是分三步走
./configure
make
make install
这里带上nginx的工具和新加上的一起完成第一步
切换到解压后的文件路径中去
cd nginx-1.20.2/
然后选择自己需要的模块编译
./configure --with-http_ssl_module --with-http_stub_status_module --prefix=/usr/local/nginx --add-module=/root/nginx-goodies-nginx-sticky-module-ng-08a395c66e42
这里可以做一个小优化
在gcc文件中关掉debug,可以让编译出的文件更小
vim auto/cc/gcc
然后可以做一下隐藏版本的操作,提高安全性。
vim src/core/nginx.h
由于修改了参数重新configure一下,再make。
那么先停掉服务
nginx -s stop
./configure --with-http_ssl_module --with-http_stub_status_module --prefix=/usr/local/nginx --add-module=/root/nginx-goodies-nginx-sticky-module-ng-08a395c66e42
make
这次属于更新,不需要做make install。否则会将之前的覆盖
然后我们可以先看看效果
可以看到此时文件已经很小了
(之前是5.8M)
然后将该文件粘到sbin下去,就完成了更新
cp nginx /usr/local/nginx/sbin/
然后就可以去修改主配置文件,实现基于cookie的认证
cd /usr/local/nginx/conf/
vim nginx.conf
把上一个实验中书写iphash的地方更换为sticky
这时候就可以在浏览器上看到效果了
打开浏览器www.westos.org