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. 如何让FireFox/chrome新打开的标签页在后台打开,而不是立即跳转过去

    firefox: 地址栏输入about:config 找到下面三项,全部设为true browser.tabs.loadInBackground browser.tabs.loadDivertedIn ...

  2. Java8 利用Lambda处理List集合循环给另外一个List赋值过滤处理

    1.利用stream().forEach()循环处理List; List<String> list = Lists.newArrayList();//新建一个List 用的google提供 ...

  3. grid - 网格项目跨行或跨列

    默认情况下网格项目跨度只有一个列和行,但可以跨越多个行和列. 1.可以通过设置grid-column-end和grid-column-start距离多个网络线号实现多个列跨越. <view cl ...

  4. 70个注意的Python小Notes

    Python读书笔记:70个注意的小Notes 作者:白宁超 2018年7月9日10:58:18 摘要:在阅读python相关书籍中,对其进行简单的笔记纪要.旨在注意一些细节问题,在今后项目中灵活运用 ...

  5. Oracle更改redo log大小 or 增加redo log组

    (1)redo log的大小可以影响 DBWR 和 checkpoint : (2)arger redo log files provide better performance. Undersize ...

  6. 【转】[Network] 计算机网络基础知识总结

    阅读目录 1. 网络层次划分 2. OSI七层网络模型 3. IP地址 4. 子网掩码及网络划分 5. ARP/RARP协议 6. 路由选择协议 7. TCP/IP协议 8. UDP协议 9. DNS ...

  7. (原)Ring loss Convex Feature Normalization for Face Recognition

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/8858998.html 论文: Ring loss: Convex Feature Normalizat ...

  8. google全球地址

    IP Addresses of Google Global Cache www.kookle.co.nr Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93 ...

  9. App界面设计规范-字体规范

    通过对不同类型的app进行总结,总结出app的字体规范. 一.字体选择 1.IOS:苹果ios 9系统开始,系统最新的默认中文字体是:苹方.英文字体是: San Francisco 2.Android ...

  10. ThreadPoolExecutor 线程池浅析

    作为Executor框架中最核心的类,ThreadPoolExecutor代表着鼎鼎大名的线程池,它给了我们足够的理由来弄清楚它. 下面我们就通过源码来一步一步弄清楚它. 内部状态 线程有五种状态:新 ...