美文网首页分布式系统架构文摘
使用nginx实现反向代理

使用nginx实现反向代理

作者: 柏林日记 | 来源:发表于2017-12-03 15:57 被阅读4次

    Nginx(Engine X)是一款高并发性能十分优越的HTTP服务器,一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,相比于tomcat,她既可以作为轻量级的web服务器使用,也可以担负起反向代理和负载均衡的功用,第一个版本诞生自2004年,由俄罗斯人伊戈尔·赛索耶夫开发。

    Nginx是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务器。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级

    接下来,我们将通过一个简单的通过nginx实现反向代理的例子来体验一下。

    云服务器环境:CentOS 7.4 64位,本地计算机:macOS X

    首先,通过ssh远程登陆到服务器,进行nginx的安装,

    1,运行命令yum install nginx,安装 nginx。

    2,运行命令service nginx start,启动 nginx,如果是 CentOS 7 以上的系统,运行命令systemctl start nginx启动 nginx。

    此时,在浏览器上输入服务器IP,应该就可以看到welcome to nginx了,当然,你必须保证nginx的默认监听的端口号80是出于打开状态,运行命令netstat -an | grep 80,查看 TCP 80 是否被监听。(如果80正常就会返回tcp000.0.0.0:800.0.0.0:*LISTEN)

    如果发现80端口关闭,那么就把你的防火墙iptables关掉,或者添加80端口的过滤配置。

    好了,现在nginx已经配置完成,此时nginx的资源目录下如果有web资源,此时就可以访问了,由于本人之前在服务器上已经安装了tomcat,并且通过8080端口可以访问到静态资源,而且现在也就这么一台服务器,那么正好我们来感受一下nginx的反向代理功能,通过nginx反向代理对8080端口的HTTP请求。

    首先进入nginx的安装目录下,找到nginx.conf,然后vim nginx.conf,找到http模块,添加

    upstream myServer {

    server 127.0.0.1:8080 ; #这里的server就是我们实际处理请求的服务器,在本文也就是tomcat

    }

    然后,找到location,添加

    location / {

    proxy_pass  http://myServer; #这里的名字和上面的myServer的名字相同

     }

    :wq退出保存,输入 nginx -t检查一下配置信息是否有误,如果一切OK ,接下来输入

    service nginx restart

    service nginx reload

    此时,我们的配置就完成了,这时你在去浏览器输入IP地址,然后回车,就会发现原本放在tomcat下的资源被成功的返回了出来。

    相关文章

      网友评论

        本文标题:使用nginx实现反向代理

        本文链接:https://www.haomeiwen.com/subject/yviabxtx.html