关于对nginx的介绍及简单用法

1 什么是nginx

Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

2 为什么要使用nginx

  • 1 http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
  • 2 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  • 3 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需 要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

3 安装nginx服务器

  1. 安装依赖环境: 由于nginx为C语言开发, 需要C语言依赖环境,比如我们选择一个服务器进行安装
    安装的服务器: 192.168.101.3,下面的一句命令是通过yum安装所需要的依赖环境。
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
  1. 上传nginx安装包:
安装rz的命令为:yum -y install lrzsz
使用命令: rz 进行上传文件
  1. 进行解压操作:我这里使用的是 nginx1.8.0 的版本
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
  1. 设置编译参数
    参数设置如下:直接将整个命令复制执行即可
    ./configure \
    --prefix=/export/servers/nginx \
    --pid-path=/export/data/nginx/nginx.pid \
    --lock-path=/export/data/nginx.lock \
    --error-log-path=/export/logs/nginx/error.log \
    --http-log-path=/export/logs/nginx/access.log \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/export/data/nginx/client \
    --http-proxy-temp-path=/export/data/nginx/proxy \
    --http-fastcgi-temp-path=/export/data/nginx/fastcgi \
    --http-uwsgi-temp-path=/export/data/nginx/uwsgi \
    --http-scgi-temp-path=/export/data/nginx/scgi

    解释:--prefix   安装的位置
    注意:/export/logs/nginx 没有目录,需要创建

  1. 编译安装
mkdir -p /export/data/nginx
mkdir -p /export/logs/nginx

cd /export/servers/nginx-1.8.0    # 切换nginx根目录
make			  # 编译
make install	  # 安装, 安装后在 /export/server/nginx
  1. 启动nginx
cd /export/server/nginx/sbin
./nginx   # 启动nginx

查看nginx启动进程
ps -ef | grep nginx
注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:
  ./nginx -c /export/servers/nginx/conf/nginx.conf
  如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,
  此文件的地址也可以在编译安装nginx时
  指定./configure的参数(--conf-path= 指向配置文件(nginx.conf))

停止nginx:
	快速停止:
		cd /export/servers/nginx/sbin
		./nginx -s stop
		此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
	
	完整停止(推荐使用):
		cd /usr/local/nginx/sbin
		./nginx -s quit
		此方式停止步骤是待nginx进程处理任务完毕进行停止。
重启nginx :
	先停止再启动(建议使用):
		对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。
		如下:
			./nginx -s quit
			./nginx

	重新加载配置文件:
		当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先
		停止nginx再启动nginx即可将配置信息在nginx中生效,如下:
			./nginx -s reload
  1. 安装测试:

成功安装打开的界面
到这说明nginx基本上安装成功。此页面即为 nginx安装目录html目录的index页面

4 发布网站到服务器中

  • 我们可以将写好的静态页面复制到nginx目录下的html的目录中即可,输入以下地址可以访问:
注意: 上面这个访问路径,表示已经访问到了,html目录的下,  默认访问到html的目录的index页面

  • 另一种方式:我们可以将页面复制到nginx的目录下,然后访问

  • 使用此种方式, 需要修改nginx的配置文件:nginx.conf

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   **html**;(默认访问的html目录下的页面,将其更改为其他目录即可)
            index  index.html index.htm;
        }

        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        
    }
    
		访问路径: http://ip地址/页面名称
		注意: 这个路径, 默认访问到了配置文件中 root后面设置的路径下, 默认访问的index页面
		注意:修改完nginx的配置文件,需要进行重启
		特别注意:需要进行重启

5 网站访问的过程

在这里插入图片描述
进入电脑C:\Windows\System32\drivers\etc下查找一个hosts文件,进行hosts文件的修改即可。

6 关于nginx的负载均衡

  1. 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。
  2. 通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,借此提供快速获取重要数据,解决大量并发访问服务问题
  3. 我们可以在nginx上配置多台服务器, 当大量并发访问的时候, 我们通过nginx将这些并发请求根据一定的规则平均分派到多台服务器, 提高服务器高可用

在这里插入图片描述

7 如何在nginx中配置负载均衡

  1. 修改配置文件
upstream tomcat1 {
        server 192.168.72.142:8080;
}
server {
        listen 80;
        server_name pinyougou.com;
        location / {
                proxy_pass http://tomcat1;
                index index.html  index.htm;

        }
}
********** 上述代码是原始内容, 只需要更改upsteam中的server即可
#第一种方案: 配置多台server, nginx就会自动进行负载均衡, 将并发请求平均分配给这两个服务器
upstream tomcat1 {
        server 192.168.72.142:8080;
        server 192.168.72.142:8081; 
       
}
#第二种方案: 可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1 
upstream tomcat1 {
        server 192.168.72.142:8080;
        server 192.168.72.142:8081 weight=2; 
        #例如设置为2, 表示第二个服务器所能承受比第一台两倍的并发请求, 此时, nginx就会权重分配, 如果有6个并发请求, 第二台会承受4个请求, 而第一台只会承受2个请求
}

在这里插入图片描述

8 实现步骤

1.  搭建两台tomcat  组成集群
	tomcat1   192.168.72.141
	tomcat2   192.168.72.143
	
	nginx     192.168.72.142
	
	通过nginx代理tomcat 和tomcat2 
	
	scp -r tomcat141/ root@node03:/export/servers/tomcat2   远程拷贝
	
2.  修改nginx的配置文件,配置反向代理
	修改完配置文件,需要重启nginx:nginx -t  检验配置文件是否正确
	
	upstream tomcat1{
			server 192.168.72.141:8080;
			server 192.168.72.143:8080;
			
	}
	

    server {
        listen       80;
        server_name  localhost;


        location / {
            proxy_pass http://tomcat1;
            index  index.html index.htm;
        }

       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

       
    }
    
    测试:http://www.jx.com   访问后端tomcat集群

3.  修改nginx的配置文件,配置负载均衡

	使用权重进行负载均衡: 2:1
	
	upstream tomcat1{
			server 192.168.72.141:8080 weight=2;
			server 192.168.72.143:8080 weight=1;
			
	}
	

    server {
        listen       80;
        server_name  localhost;


        location / {
            proxy_pass http://tomcat1;
            index  index.html index.htm;
        }

       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

       
    }
	
	
4. 其他的负载均衡机制:
	轮询  随机   权重     hash(ip) % 2 = 0/1

9 nginx的高可用

负载均衡高可用:为了避免出现nginx出现宕机,可对nginx进行高可用,为nginx提供备用机,使用高可用监控程序(keepalived)来处理,一般的处理模式是,两台同时运行,实际提供服务的只有一台,监控中心与这台服务器之间会传输诸如’I am alive’这样得信息来监控对方的运行状况,一旦发现对方挂掉,就马上切换到另一台,如果挂掉的主服务器重新发送激活的状态 ,监控中心就会将请求交由主服务器

关于高可用的搭建可以参考此地址: nginx的高可用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值