`

nginx反向代理和功能初体验

 
阅读更多

 

最近在看深入理解nginx这本书,看完了前两章,先记录下心得吧,来个初步的直观体验。

 

       一 准备步奏如下:

       1.当然是先搞个linux服务器啦,但是发现自己搭建比较麻烦而且家里的话估计也就只能搞个虚拟机,后来用了阿里云的ecs,0元免费体验6个月,只需要花费100多块1M宽带的money,就能半年拥有自己的云服务器,感觉还是相当的划算。大家可以去阿里云的官网体验下http://www.aliyun.com/

 

      2.有了服务器当然就是装个ftp功能,傻瓜式操作见之前博客

 

      3.安装jdk这个也不说了。

 

      4.我是先装了两个tomcat用来调试,注意同一台机器的话,tomcat有几个端口重复的,具体错误直接看tomcat的启动日志就能看出来哪些端口冲突了。

 

       5.下载nginx rpm包,视OS具体版本来下载rpm,查看OS版本号的命名 uname -a 或者 cat /etc/issue。

 

       6.安装nginx相关环境

          --安装gcc

          yum install -y gcc

           --安装正则

           yum install -y pcre-devel

           --安装压缩库

           yum install -y zlib zlib-devel

           --安装openssl

           yum install -y openssl openssl-devl

           --安装rpm包

           rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm 

           --安装nginx

           yum install nginx

 

       7.安装完了当然是启动nginx啦 

          
	[root@iZ236yobc21Z ~]# find /  -name nginx*
		/var/lib/yum/repos/x86_64/6/nginx
		/var/log/nginx
		/var/cache/yum/x86_64/6/nginx
		/var/cache/nginx
		/etc/rc.d/init.d/nginx
		/etc/sysconfig/nginx
		/etc/nginx
		/etc/logrotate.d/nginx
		/usr/sbin/nginx
		/usr/share/nginx
		/root/nginx
		
		
		--查看nginx版本
		[root@iZ236yobc21Z share]# yum info nginx
		Loaded plugins: security
		Installed Packages
		Name        : nginx
		Arch        : x86_64
		Version     : 1.6.1
		Release     : 1.el6.ngx
		Size        : 827 k
		Repo        : installed
		From repo   : nginx
		Summary     : High performance web server
		URL         : http://nginx.org/
		License     : 2-clause BSD-like license
		Description : nginx [engine x] is an HTTP and reverse proxy server, as well as
		            : a mail proxy server.
		
		--启动nginx
		[root@iZ236yobc21Z share]# service nginx start
		Starting nginx: [  OK  ]
    8.可以测试nginx是否已经启动成功啦  
 
       



 
 
 
 
 
     
 
        二 体验nginx反向代理
            先说说正向代理和反向代理区别吧。
            一般我们说的vpn就是一种正向代理,代理服务器充当用户浏览器角色,用户知道真实访问的服务器是谁。而反向代理则相反,用户只访问代理服务器,至于代理服务将请求转发给谁,对用户来说是透明的,用户根本不知道,用户以为代理服务器就是真实的服务器。这篇博客写的还是挺详细的可以参考下
 
           1.启动tomcat 8080的tomcat
            

        

 

 

 
 
            2.修改配置nginx.conf
            
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

          server{
                #监听端口
                listen 80 ;     
                server_name   121.40.103.119;
                location /
                {
                        proxy_pass http://121.40.103.119:8080;
              #          proxy_redirect off;
              #          proxy_set_header     X-Real-IP     $remote_addr;
              #          proxy_set_header     X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        }


}
      -- 校验nginx配置是否正确

      /usr/sbin/nginx  -t   

      

      -- 不重启nginx的情况下重新加载配置文件

     service  nginx reload  

     

    3.验证反向代理是否成功 ,可见nginx已经将http转发出去啦。

       

    

 

    
 
     
     三 体验下负载均衡
 
          1.启动两个tomcat
 
              
 
 
 
 
 

 




 
        2.修改nginx配置文件   
 
           
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

       upstream testServer{
                server 121.40.103.119:8080;
                server 121.40.103.119:8090;
        }

        server{
                listen 80 ;
                server_name   121.40.103.119;
                location /
                {
                        proxy_pass http://testServer;
                }
        }

}
   
      -- 校验nginx配置是否正确

      /usr/sbin/nginx  -t   

      

      -- 不重启nginx的情况下重新加载配置文件

     service  nginx reload  

    

     3.验证负载均衡是否成功,上面我们没有配置策略,但是默认是轮询的。

       

 


 
 



 

    有个疑问,为何server节点都配置80节点呢,默认是跟nginx的端口保持一致的?

     带着这个疑问我把端口改成了880,结果令人有点意外,后来还是想通了。

     因为当通过dns服务器解析域名到该nginx服务器上的时候,nginx会解析http包,同时发现请求包里面有这个请求端口,所以就转发了该请求包,我的理解是类似修改了http请求报文。

 

    

 server{
                listen 880 ;
                server_name   121.40.103.119;
                location /
                {
                        proxy_pass  proxy_pass http://121.40.103.119:8080;
                }
        }

     -- 校验nginx配置是否正确

      /usr/sbin/nginx  -t   

      

      -- 不重启nginx的情况下重新加载配置文件

     service  nginx reload  

 

    

 

 

     

 
  • 大小: 19.2 KB
  • 大小: 21.3 KB
  • 大小: 21.4 KB
  • 大小: 20.9 KB
  • 大小: 26.3 KB
  • 大小: 19.9 KB
1
0
分享到:
评论

相关推荐

    nginx反向代理应用程序

    总之,Nginx反向代理是构建高效、稳定、安全Web服务的重要工具,其灵活性和强大的功能使其成为现代互联网架构不可或缺的一部分。通过熟练掌握Nginx的反向代理配置和管理,开发者可以更好地优化应用程序的性能和可靠...

    业界最有价值Nginx反向代理实战博文荟萃

    从反向代理到负载均衡,从安全配置到性能优化,再到高可用性的构建,Nginx都提供了强大的工具和配置选项,能够帮助开发者和系统管理员构建稳定、高效、安全的Web应用和服务。通过阅读本文献提供的各种实战案例和专家...

    Nginx反向代理1

    【Nginx反向代理】是网络服务器架构中一种重要的技术,主要用于实现用户访问数据的调度和压力分担,从而提升系统的性能、可伸缩性和高可用性。Nginx作为一个高性能的HTTP和反向代理服务器,常被用于构建集群环境,...

    nginx反向代理配置实现

    总结,Nginx反向代理是实现高效Web服务的关键技术,通过正确配置可以提升系统的稳定性和性能。结合Tomcat这样的Java应用服务器,可以构建出强大的Web应用程序平台。在实际操作中,应根据具体需求进行调整和优化,...

    Nginx反向代理与负载均衡

    ### Nginx 反向代理与负载...总结来说,Nginx 的反向代理和负载均衡功能强大且灵活,能够有效地帮助开发者构建高效、稳定的应用系统。通过对 Nginx 的深入理解和合理配置,可以显著提高 Web 服务的整体性能和用户体验。

    反向代理-Nginx

    作为一个反向代理服务器,Nginx 能够在客户端和后端应用服务器之间起到中介作用,从而实现负载均衡、缓存、安全过滤等多种功能。以下我们将深入探讨Nginx的反向代理特性和实际应用。 1. **反向代理基本原理** 反向...

    Nginx搭建反向代理服务器过程详解

    在搭建Nginx反向代理服务器的过程中,通常需要配置Nginx的配置文件(通常是nginx.conf),在此配置文件中定义服务器、反向代理和负载均衡的相关设置。例如,可以设置监听某个端口、处理HTTP请求,并将请求转发到特定...

    Nginx 反向代理

    综上所述,Nginx 的反向代理和负载均衡功能是通过精心配置 Nginx 服务器实现的,它不仅可以提升服务的可用性,还能有效地平衡服务器负载,提高整体系统性能。在实际应用中,根据具体需求调整相关配置,可以进一步...

    nginx反向代理相关文件.rar

    "nginx反向代理相关文件.rar"这个压缩包很可能包含了一些配置文件、文档或者示例,用于帮助我们理解和设置Nginx的反向代理功能。下面将详细阐述Nginx反向代理的相关知识点。 首先,了解什么是反向代理。在Web服务...

    nginx 负载均衡与反向代理资源

    在Win7 64位系统上安装Nginx,可以利用其强大的负载均衡和反向代理功能,优化网站性能并提升可用性。** ### 一、Nginx的安装 1. **下载Nginx安装包**:首先,你需要从Nginx官方网站获取适用于Windows 64位系统的...

    NGINX反向代理缓存[参考].pdf

    **NGINX反向代理与缓存详解** NGINX是一款高性能的HTTP和反向代理服务器,常用于负载均衡和内容缓存,以提高网站的响应速度和整体性能。在本文中,我们将深入探讨如何利用NGINX进行反向代理和缓存配置,特别是对于...

    Nginx反向代理多域名的HTTP和HTTPS服务的实现

    Nginx反向代理是一种网络服务优化技术,它允许Nginx服务器作为前端接收客户端的请求,然后将这些请求转发到后端服务器处理。在这个场景中,Nginx正在为两个不同的网站提供服务,一个是运行在Windows IIS上的,另一个...

    Nginx的反向代理与负载均衡1

    1.3 Nginx反向代理实践 1.3.1 地址规划 在实际生产环境中,会设置多个Nginx负载服务器(lb01、lb02)和Web服务器(web01、web02、web03),通过IP地址和主机名进行管理。 1.3.2 反向代理与数据转发的区别 反向...

    泛微EC搭建Nginx集群、代理

    代理"进一步明确了主题内容,"泛微"是协同办公软件,"nginx"是我们的核心工具,"ecology"可能指的是构建这样的环境或生态系统,"集群"意味着多台服务器的联合工作,而"代理"则指Nginx的反向代理功能。 以下是关于...

    Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    #### 一、Nginx反向代理 **反向代理**是一种网络服务技术,其中客户端不会直接连接到目标服务器,而是通过一个代理服务器进行访问。这种模式下,代理服务器接收客户端请求后转发给后端服务器,并将后端服务器的响应...

    Go程序在云服务器中的反向代理实现.pdf

    综上所述,文章主要围绕Go语言编写的服务器程序在云服务器中的反向代理实现方法进行了探讨,并阐述了使用Go语言和Nginx结合的优势、云服务器的部署、数据库集成、安全性设置、负载均衡和缓存等关键技术点。...

    反向代理服务器Nginx.7z

    在配置Nginx反向代理时,主要涉及以下几个关键概念和配置指令: 1. **server**:这是Nginx配置的基本单位,代表一个监听特定端口的服务器。例如: ``` server { listen 80; server_name example.com; } ``` ...

Global site tag (gtag.js) - Google Analytics