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  看内核

nginx负载均衡(反向代理)的更多相关文章

  1. 架构之Nginx(负载均衡/反向代理)

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器 ,也是一个 IMAP/POP3/SMTP 代理 服务器 . Nginx 是由 Igor Sys ...

  2. nginx 负载均衡 反向代理

    nginx 通过方向代理实现负载均衡,负载均衡是大流量网站要做的措施,单从字面上的意思来理解为N台服务器平均分担负载,不会因为某一台服务器负载高宕机而影响用户访问网站,负载均衡至少需要三台服务器, 既 ...

  3. Nginx负载均衡反向代理 后端Nginx获取客户端真实IP

    Nginx 反向代理后,后端Nginx服务器无法正常获取客户端的真实IP nginx通过http_realip_module模块来实现的这需要重新编译,如果提前编译好了就无需重新编译了1,重新编译ng ...

  4. keepalived + nginx(负载均衡反向代理HTTP,https) + tomcat(HTTP,https)

    基本架构: nginx(192.168.116.198) client        --->keepalived(116.200)      ------> tomcat (192.16 ...

  5. Nginx负载均衡反向代理

    http{ upstream test.com { server 118.118.66.88:8080; } server { listen 80; server_name www.test.com; ...

  6. Nginx HTTP负载均衡/反向代理的相关参数测试

    原文地址:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/03/15/1984976.html 测试目的 (1)弄清楚HTTP Upstr ...

  7. Nginx服务器部署 负载均衡 反向代理

    Nginx服务器部署负载均衡反向代理 LVS Nginx HAProxy的优缺点 三种负载均衡器的优缺点说明如下: LVS的优点: 1.抗负载能力强.工作在第4层仅作分发之用,没有流量的产生,这个特点 ...

  8. nginx域名转发 负载均衡 反向代理

    公司有三台机器在机房,因为IP不够用,肯定要分出来,所以要建立单IP 多域名的反向代理, 就是当请求www.abc.com 跳转到本机, 请求www.bbc.com 跳转到192.168.0.35 机 ...

  9. nginx做为web容器部署静态资源以及做负载均衡反向代理实现

    需求:  此时前台开发完成打包生成静态资源文件,要做到以下方面: 使用nginx部署静态资源,同时nginx要实现端口转发,隐藏真实后台地址,同时后台需要做一个负载均衡. localhost:7001 ...

随机推荐

  1. Maven项目搭建-Eclipse版

    一.Maven简单介绍 Maven是基于Java平台的项目构建(mvn clean install).依赖管理(中央仓库,Nexus)和项目信息管理的项目管理工具. Maven是基于项目对象模型(PO ...

  2. C# ConcurrentQueue实现

    我们从C# Queue 和Stack的实现知道Queue是用数组来实现的,数组的元素不断的通过Array.Copy从一个数组移动到另一个数组,ConcurrentQueue我们需要关心2点:1线程安全 ...

  3. Android官方导航栏ActionBar(二)—— Action View、Action Provider、Navigation Tabs的详细用法

    在上一篇文章(Android之官方导航栏ActionBar)中,我们介绍了ActionBar各组成部分的基本应用.ActionBar除了提供Action Buttons外,还提供了多种导航方式如 Ac ...

  4. CS模式,客户端页面加载

    public MainForm() { //1.初始化视图 InitializeComponent(); //2.加载程序 this.Load += new System.EventHandler(t ...

  5. hustoj升级

     sudo su  svn up hustoj-read-only cd hustoj-read-only cd core sudo ./make.sh 有冲突 全部回答r http://www.hu ...

  6. 12C -- ORA-01017

    本地使用使用sqlplus,尝试连接12.2数据库报错: 在另外一台服务器上,使用sqlplus连接该库,可以成功: 解决方案: 根据MOS文档id:207303.1看出,只有11.2.0.3之上的客 ...

  7. Hive SQL grouping sets 用法

    概述 GROUPING SETS,GROUPING__ID,CUBE,ROLLUP 这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时.天.月的UV数. ...

  8. 一道简单的HashMap面试题所想到的...

    前言 看到一个JDK1.7和JDK1.8中关于HashMap的一个面试题: JDK1.7和1.8中HashMap中链表的插入的方式有什么不同? 原以为自己对HashMap的源码理解的还算可以了,应该足 ...

  9. Docker 使用Docker知识简易部署一个LNMP平台

    1.自定义网络 docker network create lnmp 2.创建Mysql数据库容器(这里我们首先得创建一个mysql-vol数据卷) docker volume create mysq ...

  10. 第一部分:开发前的准备-第一章 什么是Andorid

    第1章 什么是Android Android是一个移动设备的软件栈,它包含操作系统,中间件和一些关键的应用.Android SDK提供工具和必要的API用来在Android平台上使用java程序语言来 ...