Nginx

Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤

1:安装工具包 wget、vim和gcc

yum install -y wget
yum install -y vim-enhanced
yum install -y make cmake gcc gcc-c++

2:下载nginx安装包

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

3:安装依赖包

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

4:解压nginx-1.6.2.tar.gz到/usr/local/目录下

tar -zxvf nginx-1.6.2.tar.gz -C /usr/local/

5:进行configure配置(也可以选择其他目录,值得注意的是下面那个=是要改成相应的路径,不然默认到/usr/local下有个nginx)
进入nginx-1.6.2目录然后在执行./configure命令

[root@MiWiFi-R3-srv nginx-1.6.2]# ./configure --prefix=/usr/local/nginx

6:编译安装

[root@MiWiFi-R3-srv nginx-1.6.2]# make && make install

7:启动Nginx,启动完之后检查nginx是否已经正常启动,看到如下信息说明正常启动

[root@MiWiFi-R3-srv nginx-1.6.2]# /usr/local/nginx/sbin/nginx
[root@MiWiFi-R3-srv nginx-1.6.2]# ps -ef | grep nginx
root 24956 1 0 19:41 ? 00:00:00 nginx: master process >/usr/local/nginx/sbin/nginx
nobody 24957 24956 0 19:41 ? 00:00:00 nginx: worker process
root 24959 10533 0 19:41 pts/0 00:00:00 grep --color=auto nginx
[root@MiWiFi-R3-srv nginx-1.6.2]#

其他命令
启动

[root@localhost ~]# /usr/local/nginx/sbin/nginx
停止/重启
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop(quit、reload)
命令帮助
[root@localhost ~]# /usr/local/nginx/sbin/nginx -h
验证配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

在nginx.conf里面我直接设置了开启了2个server,如图:
这里写图片描述
在途中我开放了一个80,一个8999端。我这里用于测试 所以直接
service iptables stop干掉了防火墙,在usr/local/nginx下建立一个文件夹nginx2,在该文件夹里面建立一个文件nginx2.html
作用是当本机访问192.168.106.128:8999的时候自动去nginx2下的nginx2.html
这里写图片描述
这里写图片描述
从2图能发现区别。

解释下:

 每一个server就是一个虚拟主机,我们有一个当作web服务器来使用

listen 80;代表监听80端口
server_name xxx.com;代表外网访问的域名
location / {};代表一个过滤器,/匹配所有请求,我们还可以根据自己的情况定义不同的过滤,比如对静态文件js、css、image制定专属过滤
root html;代表站点根目录
index index.html;代表默认主页
这样配置完毕我们输入域名就可以访问到该站点了。

负载均衡功能往往在接收到某个请求后分配到后端的多台服务器上,那我们就需要upstream{}块来配合使用


upstream xxx{};upstream模块是命名一个后端服务器组,组名必须为后端服务器站点域名,内部可以写多台服务器ip和port,还可以设置跳转规则及权重等等
ip_hash;代表使用ip地址方式分配跳转后端服务器,同一ip请求每次都会访问同一台后端服务器
server;代表后端服务器地址

server{};server模块依然是接收外部请求的部分
server_name;代表外网访问域名
location / {};同样代表过滤器,用于制定不同请求的不同操作
proxy_pass;代表后端服务器组名,此组名必须为后端服务器站点域名

server_name和upstream{}的组名可以不一致,server_name是外网访问接收请求的域名,upstream{}的组名是跳转后端服务器时站点访问的域名
配置一下Windows的host将我们要访问的域名aaa.test.com指向Linux
参考:https://www.cnblogs.com/taiyonghai/p/6728707.html

想要玩负载均衡
可以参考:https://blog.csdn.net/yougoule/article/details/78484950
https://blog.csdn.net/yougoule/article/details/78484715

posted @ 2018-08-31 13:55  南有嘉禾  阅读(167)  评论(0编辑  收藏  举报