nginx的安装和负载均衡

本文详细介绍Nginx的下载、编译安装过程,并演示如何配置Nginx以实现负载均衡,包括隐藏版本号、调整并发能力和错误日志级别等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx简单介绍:
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等

第一步:在官网下载压缩包
解压它

tar zxf nginx-1.14.0.tar.gz
ls ##查看是否解压
更改一些设置

cd nginx-1.14.0/src/core/
ls
vim nginx.h 
删除掉14行最后的NGINX_VERSION ,这样可以不对外显示你的版本号
cd nginx-1.14.0/auto/cc/
ls
vim gcc 
将172行     CFLAGS="$CFLAGS -g"注释掉
源码编译和安装
./configure --help  ###查看编译时的帮助命令
yum install gcc -y   ###解决编译过程中需要安装的软件
yum install -y pcre-devel
yum install -y openssl-devel
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio
make
make install
cd /usr/local/nginx/
ls
du -sh   ###查看刚装文件的大小
cd sbin/
pwd
ln -s /usr/local/nginx/sbin/nginx /sbin/  ##做软链接

nginx -t ###检测语法
nginx ##打开nginx
nginx -s stop ###关闭nginx
cd /usr/local/nginx/html/ ###nginx的默认发布目录
ls
vim test.html

测试:

在网站访问 www.westos.org
这里写图片描述
www.westos.org/test.html
这里写图片描述

   cd /usr/local/nginx/conf/   ###切换到这个目录
   lscpu  ###可以查看主机的cpu数
   vim /etc/security/limits.conf 
写入:
       nginx     -    nofile  65536

这里写图片描述

ngnix -s reload   ###重新加载nginx
nginx -t  ##检查语法
nginx -s stop  ##关闭nginx
useradd -M -d /usr/local/nginx/ nginx  ###建立一个nginx用户
id nginx   ###查看用户nginx

vim nginx.conf ##编辑nginx主配置文件

  2 user  nginx nginx;   ##nginx用户
  3 worker_processes  1;   ##工作的进程数
  #####注意:当cpu数为1时,下面这句就可以不用加,不需要绑定
  4 worker_cpu_affinity ;  ##将工作进程与cpu绑定 
  5 
  6 #error_log  logs/error.log;
  7 #error_log  logs/error.log  notice;
  8 #error_log  logs/error.log  info;
  9 
 10 #pid        logs/nginx.pid;
 11 
 12 
 13 events {
 14     worker_connections  65535;   ##工作的连接数
 15 }

这里写图片描述

 18 http {
 19        upstream westos{
 20        #ip_hash;  ####添加这条语句后,一但检测到ip,后端服务器将不再改变
 21        server 172.25.3.2:80 weight=2;  ##weight为权重
 22        server 172.25.3.3:80;
 23      }
 24     include       mime.types;
 25     default_type  application/octet-stream;

这里写图片描述

 server {
124                  listen 80;
125                  server_name www.westos.org;
126                  location / {
127                  proxy_pass http://westos;
128                  }
129             }

这里写图片描述
正常的轮询
这里写图片描述
加上权重后的效果
这里写图片描述
添加ip_hash后的效果
这里写图片描述

给nginx添加功能模块(sticky)

添加sticky算法后,在用浏览器访问时,其通常会缓存信息,结果不会轮询
它是针对浏览器的,更换浏览器后它会改变

nginx -s stop  ###关闭nginx
tar zxf nginx-1.10.1.tar.gz 
tar zxf nginx-sticky-module-ng.tar.gz 
ls
cd nginx-1.10.1
ls
######源码安装三步曲
###因为之前安装的版本不支持sticky算法,所以要重新源码安装一个nginx版本,为了避免覆盖之前的nginx
所以要重新再定义一个目录安装
./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --add-module=/root/nginx-sticky-module-ng
 make
make install

修改它的配置文件

cd /opt/nginx/conf/
###这里为了节省时间,我直接将前面的编辑过的文件拷贝一份到此目录只做部分的修改即可
cp /usr/local/nginx/conf/nginx.conf .
vim nginx.conf
 18 http {
 19        upstream westos{
 20        #ip_hash;
 21        sticky;   ###添加sticky算法
 22        server 172.25.3.2:80 ;
 23        server 172.25.3.3:80;
 24      }

这里写图片描述
/opt/nginx/sbin/nginx -t ##通过绝对路径检测语法
/opt/nginx/sbin/nginx ###打开nginx
这里写图片描述
可见浏览器中将后端服务器中的信息缓存,不会瞬间丢失信息
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值