CentOS 7 安装Nginx做反向代理

题记

须要使用nginx的反向代理功能,測试环境为centos+NGINX 1.8.0.

跳过一些繁琐的问题,直接记录核心

步骤

(1)centos 安装在VM中。因此须要注意网络连接问题
(2)安装nginx使用的是具有网络的yum功能
(3)配置centos防火墙,须要开启80 port
(4)nginx 反向代理配置
(5)性能优化设置(兴许工作...)

实现

一. yum安装nginx

先加入nginx源,測试使用最新的nginx 1.8.0

rpm -ivh  http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

运行命令:

yum install nginx
service nginx start

假设不出意外。在浏览器输入 127.0.0.1:80,就可以看到nginx的欢迎界面。

二.查看nginx的配置

rpm -ql nginx
此命令能够查看nginx的配置信息

三. 关闭firewall并配置iptables

centos默认使用firewall配置port和网络,可是如今网上资料多是使用iptables。鉴于资料充分的原因,改用iptalbes。

使用iptables和ip6tables的静态防火墙规则

假设你想使用自己的 iptables 和 ip6tables 静态防火墙规则, 那么请安装 iptables-services 并且禁用 firewalld ,启用 iptables 和ip6tables:

yum install iptables-services
systemctl mask firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service

启用iptables后,就须要进行port和訪问规则的设置了。

(1)编辑  /etc/sysconfig/iptables
(2)清空规则
(3)加入须要的规则

演示样例:

# 同意已建立的或相关连的通行

-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

#同意本地回环接口

-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

#同意本机对外訪问

-A OUTPUT -j ACCEPT

# 同意訪问SSHport,假设port改动了能够更改对应port号

-A INPUT -p tcp –dport 22 -j ACCEPT

#同意訪问80(HTTP)port

-A INPUT -p tcp –dport 80 -j ACCEPT

#同意訪问FTPport:21、20

-A INPUT -p tcp –dport 21 -j ACCEPT

-A INPUT -p tcp –dport 20 -j ACCEPT

#同意訪问161(SNMP)port:

-A INPUT -p udp –dport 161 -j ACCEPT



基于以上配置,在局域网内能够相互訪问站点。

四. 配置nginx的反向代理功能

本次仅仅是使用反向代理功能。因此nginx的负载均衡功能就不涉及。

反向代理功能使用的是proxy_pass和sub_filter模块

location / {
    proxy_pass  须要代理的IP;

    #Proxy Settings
    proxy_redirect     off;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for
    proxy_max_temp_file_size 0;
    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;
    proxy_buffer_size          4k;
    proxy_buffers              4 32k;
    proxy_busy_buffers_size    64k;
    proxy_temp_file_write_size 64k;
# 做反向代理时候,出现ip地址直接跳转,没有是使用代理IP 。是由于须要使用sub_filter.
sub_filter 须要代理的IP  nginx的本机server;
sub_filter_once off;
   }

总结:

nginx反向代理概念相对简单,并且配置也方便,接下来要进行一下压力測试。看看实际的效果。



[1]http://www.centoscn.com/CentOS/Intermediate/2015/0313/4879.html 使用iptables

[2]http://www.centoscn.com/CentOS/2013/0413/293.html 配置iptablesport和规则

[3]http://www.nginx.cn/927.html 反向代理

[4]http://zhaochen.blog.51cto.com/2029597/379233/

[5]https://github.com/yaoweibin/ngx_http_substitutions_filter_module

[6]http://www.xxorg.com/archives/3608

时间: 2024-10-09 06:22:45

CentOS 7 安装Nginx做反向代理的相关文章

CentOS 7 安装 Nginx 配置反向代理

Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Nginx时,需要添加Nginx软件包,使用以下命名,添加安装 sudo yum install yum-utils 设置Yum存储库,请创建/etc/yum.repos.d/nginx.repo配置文件,配置内容如下 [nginx-stable] name=nginx stable repo baseu

nginx做反向代理+apache

先上个规划图,自己随便画的,大家也随便看看 192.168.1.119为nginx做反向代理并处理静态页面,apache处理动态页面,nfs共享网站家目录,svn代码管理. 192.168.101为apache处理动态页面,挂载192.168.1.119的共享目录. 192.168.1.96为mysql数据库,允许两台web服务的连接权限. 系统使用centos6.5 一,配置192.168.1.119 1.首先在192.168.1.119上安装nginx+apache+php+nfs+svn

【Nginx】使用Nginx做反向代理时,关于被代理服务器相应的超时设置

阅读目录 > 参考的优秀文章 > 设置等待被代理服务器的最大响应时间 > 参考的优秀文章 Module ngx_http_proxy_module > 设置等待被代理服务器的最大响应时间 使用Nginx做反向代理时,因被代理服务器因业务确实复杂,需时较久,往往超过60秒.而Nginx默认设置超时时间为60秒. 针对这一情况,需修改默认配置.因配置项中涉及超时的选项太多,这里记录一下. 等待被代理服务器的最大响应时间为120秒,需加如下配置: proxy_read_timeout 1

Nginx做反向代理总是被系统kill

公司使用Nginx做反向代理,以前都挺正常的,最近不知怎么回事总是无端被系统kill,而在nginx错误日志中也没有信息输出. 网上查了很多资料,也没什么靠谱的回答,唯一觉得有点关联的就是linux OOM Killer了,这篇文章感觉有点关系:理解和配置 Linux 下的 OOM Killer.也给出了相应的解决办法. 但我还是不太放心,万一最后还是被kill了怎么办,想来想去,最后还是决定写一个脚本来进行监控. 脚本功能: 每隔5秒检查一次,查看Nginx进程是否存在,如果不存在,就重新启动

Linux安装Nginx使用反向代理

nginx的反向代理功能(自带了反向代理的功能,天生的二道贩子)1.实验环境准备准备2个服务器,都安装好nginx软件nginx1 192.168.13.79 作为web服务器 (理解为火车票售票点)nginx2 192.168.13.24 作为反向代理服务器(黄牛)    用户通过浏览器去访问   黄牛 (代理)浏览器访问192.168.13.24 > 192.168.13.79 2.在反向代理服务器中添加配置nginx负载均衡集群的概念:一堆服务器做一件事 原文地址:https://www.

nginx做反向代理时出现302错误

现象:nginx在使用非80端口做反向代理时,浏览器访问发现返回302错误 详细现象如下: 浏览器请求登录页: 输入账号密码点击登录: 很明显登录后跳转的地址少了端口号. 原因:proxy.conf文件中定义的proxy_set_header Host $host; 意思是nginx接收到浏览器请求后修改请求头中的host信息,然后再把请求转发给后端真实服务节点,服务节点响应后把返回信息传送给nginx,而由于nginx是使用的非80端口做代理,后端服务节点却依然以为nginx是80端口,所以响

Centos 7.3 x64安装nginx 与反向代理的应用

Centos 7.3 x64安装nginx-1.13.1 nginx-1.13.1 发布日期2017-05-30 测试完成日期:2017.6.22 by evan.li 一.安装必要所需环境: # yum install autoconf automake gcc gcc-c++ libtool make pkgconfig zlib-devel  # yum install pcre pcre-devel php-devel httpd-devel # yum install zlib zli

linux 安装 nginx 及反向代理配置

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,以下为Linux centos平台下安装nginx并配置反向代理的过程(采用源码安装的方式) 一:安装编译环境gcc g++ 和make(用于编译源代码成可执行文件) 1yum install gcc gcc-c++ 2 yum -y install gcc automake autoconf libtool make 二:安装pcre (nginx rewrite依赖pcre库)zlib(用于gzip压缩)

nginx做反向代理和后端web服务器之间的交互

1.Nginx是什么? Nginx就是反向代理服务器. 首先我们先来看看什么是代理服务器,代理服务器一般是指局域网内部的机器通过代理服务发送请求到互联网上的服务器,代理服务器一般作用于客户端.比如GoAgent,翻墙神器. 一个完整的代理请求过程为:客户端首先与代理服务器创建连接,然后根据代理服务器所使用的代理协议,请求对目标服务器创建连接.或则获得目标服务器的指定资源.Web代理服务器是网络的中间实体.代理位于Web客户端和Web服务器之间,扮演"中间人"的角色. HTTP的代理服务