nginx负载均衡(反向代理)

6,安装nginx

6.1 依赖库安装  要安装在root根目录里,不要装在虚拟环境里面

yum install gcc-c++   pcre pcre-devel zlib zlib-devel openssl openssl-devel gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y 

6.2 下载源码包

yum install wget  # 需要提前下载wget工具
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

6.3 解压缩源码

tar -zxvf nginx-1.12.0.tar.gz

6.4 切换到nginx源码包路径

cd nginx-1.12.0

6.5 配置,编译安装

./configure --prefix=/opt/nginx1-12/  # 注意这里指定了将解压文件存放到的路径,是从根目录开始的
make && make install 

6.6 启动nginx,进入sbin目录,找到nginx启动命令

cd ~  # 先回到根目录 
cd /opt  # 进入这个文件夹,注意这个文件夹被隐藏了
ls  # 查看opt文件夹里面的子文件或文件夹会看到 nginx1-12
cd nginx1-12  # 进入这个文件夹
ls  # 显示子文件或文件夹,会看到sbin文件夹
cd sbin  # 进入sbin文件夹,sbin文件时放的启动nginx的配置,注意:cd sbin不要写成 cd /sbin,这样进去的是根目录里面的sbin,就进错目录了
#注意一定记得关闭防火墙
./nginx # 启动 ./nginx -s stop # 关闭 ./nginx -s reload # 重新加载
cd nginx1-12 #
netstat -tunlp | grep 80 # 服务启动没启动,去看端口来判断。80端口就是net默认的端口
ps -ef | grep nginx # 然后看nginx程序跑起来没
ip a # 看ip地址,第二个地址是10.0.0.200。然后通过浏览器访问一下。看到

 Welcome to nginx!

  表示,服务启动成功!

7,nginx日志访问功能

 承接上面的继续:

7.1 进入nginx的配置目录

cd conf/  # 在nginx1-12目录里面sbin文件是和启动服务相关,conf和配置相关。进入conf目录后会看到一个nginx.conf主配置文件。

7.2 编辑nginx.conf,并打开access.log的日志功能

vim nginx.conf  # 然后输入i进入编辑模式,然后将下面四行的注释符去掉,日志就生效了。保存退出:wq
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

7.3 重启nginx

cd ../sbin  # 进入sbin目录重启nginx
nginx -s reload

7.4 查看效果

cd ../logs  # 进入nginx1-12里面免得logs目录,这个目录和日志相关。
access.log # 这样就可以看浏览器访问10.0.0.200的日志记录了,里面可以看请求方式,浏览器信息等

 7.5 增加黑名单

vim nginx.conf  # 在编辑里面加黑名单
# 按照下面的方式添加ip地址即可
error_page 500 502 503 504 /50x.html;
location = /50x.html {
deny 196.128.12.94;
deny 196.128.12.9;
root html;
}
注意:添加完黑名单记得重启nginx服务就行了

8,nginx的反向代理

8.1 准备

nginx的负载均衡也叫反向代理
准备两台虚拟机服务器并安装好nginx,并启动服务。我准备的是10.0.0.200和10.0.0.128

 8.2 主负载均衡节点的配置文件,就是在它们的配置文件修改参数

10.0.0.128当作主服务器
cd /opt/nginx1-12/conf # 进入配置文件目录
vim nginx.conf # 修改配置文件
i # 输入i进入编辑模式
location / {
proxy_pass http://10.0.0.200; # 在location添加proxy_pass http://10.0.0.200 添加副服务器的地址
root html;
index index.html index.htm;
}
# 保存并退出,然后重启nginx服务。

10.0.0200当作副服务器
# 进入nginx1-12目录,ls 会看到一个html
cd html # 进入html目录,ls 会看到index.html
vim index.html # 编辑页面,添加一句话 <h1>这是200副服务器的index页面</h1>,注意会乱码,在<head>加<meta charset=utf8>就不会乱码了
# 然后进入sbin目录重启服务,然后浏览器访问10.0.0.128就会看到呈现的是200副服务器给的index页面

# 总结:就是访问主服务器,主服务器将请求转给副服务器处理,返回副服务器的页面
 cat /etc/redhat-release   看版本


uname -r  看内核
posted @ 2018-09-04 18:03  aaronthon  阅读(195)  评论(0编辑  收藏  举报