Nginx安装部署

Nginx安装

安装编译环境

1.安装gcc-c++包

yum -y install gcc-c++

2.安装pcre软件包(使nginx支持http rewrite模块)

yum install -y pcre
yum install -y pcre-devel

3安装openssl-devel(使nginx支持ssl)

yum install -y openssl-devel

安装Nginx

1 下载nginx 安装包
去官网地址下载最新的安装包:http://nginx.org/
2.使用wget下载安装包

wget http://nginx.org/download/nginx-1.15.8.tar.gz

3.解压安装包:

tar xvf nginx-1.15.8.tar.gz

4.修改配置

./configure  --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre

5生成脚本及配置文件

	make

6 安装:

	make install

7.查找nginx的位置

	whereis nginx
	nginx: /usr/local/nginx

8启动nginx

cd /usr/local/nginx
sbin/nginx

9查看系统进程

ps -aux | grep nginx
root      13919  0.0  0.0  45936  1128 ?        Ss   03:21   0:00 nginx: master process ./nginx
nobody    13920  0.0  0.1  46388  1900 ?        S    03:21   0:00 nginx: worker process
root      13924  0.0  0.0 112708   980 pts/0    S+   03:22   0:00 grep --color=auto nginx

10.在浏览器中查看

http://192.168.28.140/

11.通过命令启动和关闭nginx
ginx 启动服务
nginx -s reload 不停止服务重读配置文件
nginx -s stop 停止服务

Nginx配置

开nginx配置文件位于nginx目录下的conf文件夹下

cd /usr/local/nginx/conf
vi nginx.conf

配置文件结构

...              #全局块

events {         #events块
   ...
}

http      #http块
{
    ...   #http全局块
    server        #server块
    { 
        ...       #server全局块
        location [PATTERN]   #location块
        {
            ...
        }
        location [PATTERN] 
        {
            ...
        }
    }
    server
    {
      ...
    }
    ...     #http全局块
}

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。

5、location块:配置请求的路由,以及各种页面的处理情况。

负载均衡配置

1.在http节点下,加入upstream节点。

upstream linuxidc { 
      server 10.0.6.108:7080; 
      server 10.0.0.85:8980; 
}

2 将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即“http://linuxidc”.

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

3负载均衡策略设置
upstream默认依照轮询方式进行负载,每一个请求按时间顺序逐一分配到不同的后端服务器。假设后端服务器down掉。能自己主动剔除。

3.1weight(权重) 指定轮询几率,weight和訪问比率成正比

 upstream linuxidc{ 
      server 10.0.0.77 weight=5; 
      server 10.0.0.88 weight=10; 
}

3.2 ip_hash(訪问ip)每一个请求按訪问ip的hash结果分配。这样每一个訪客固定訪问一个后端服务器,能够解决session的问题。

upstream linuxidc{ 
      ip_hash; 
      server 10.0.0.10:8080; 
      server 10.0.0.11:8080; 
}

3.3fair(第三方)按后端服务器的响应时间来分配请求。响应时间短的优先分配。与weight分配策略相似。

 upstream favresin{      
      server 10.0.0.10:8080; 
      server 10.0.0.11:8080; 
      fair; 
}

3.4url_hash(第三方)

按訪问url的hash结果来分配请求,使每一个url定向到同一个后端服务器。后端服务器使用缓存时比較有效。

 upstream resinserver{ 
      server 10.0.0.10:7777; 
      server 10.0.0.11:8888; 
      hash $request_uri; 
      hash_method crc32; 
}

rewrite

server {
        listen       80;
        server_name  {domain};
        rewrite ^/a/b/(.*)$  /server1/a/b/$1;
        rewrite ^/c/(.*)$  /server2/c/$1;

     location /server1 {
           proxy_pass http://xx.xx.xx.xxx:8888;
           proxy_set_header host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header referer "-";
           proxy_redirect default;
      }
    location /server2 {
           proxy_pass http://xx.xx.xx.xxx:8888;
           proxy_set_header host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header referer "-";
           proxy_redirect default;
      }
}
  1. server1,server2为服务名,/a/b为server1的context,/c是server2的context
  2. http://xx.xx.xx.xxx:8888 是zuul的服务地址
  3. rewrite ^/a/b/(.*)$ /a/b/brand/$1; $1表示的是rewrite正则中()中的内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值