论坛首页 Java企业应用论坛

Nginx的安装部署及负载均衡设置

浏览 3666 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2017-03-26  

 

Nginx是一个自由、开源、高性能及轻量级的HTTP服务器及反转代理服务器,其性能与IMAP/POP3代理服务器相当。Nginx以其高性能、稳定、功能丰富、配置简单及占用系统资源少而著称。

Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多

 

Nginx的官方网站:http://nginx.org

Nginx文档地址:http://nginx.org/en/docs/

 

接下来,我们以Nginx说明其安装部署及调试工作。

 

Nginx下载地址:http://nginx.org/download/nginx-1.8.1.zip

 

Nginx的安装非常简单,解压到本地即可使用,在安装根目录输入“nginx -v”即可看到当前安装nginx的版本信息。

 

Nginx安装完成后,目录结构如下表所示:

├─conf

├─contrib

  ├─unicode2nginx

  └─vim

      ├─ftdetect

      ├─indent

      └─syntax

├─docs

├─html

├─logs

└─temp

    ├─client_body_temp

    ├─fastcgi_temp

    ├─proxy_temp

    ├─scgi_temp

    └─uwsgi_temp

说明:

1conf文件夹存放Nginx的一些配置文件,其中“nginx.conf”文件在配置过程中的使用频率比较高。

2contrib文件夹

3docs存放协议和说明性的东西

4html文件夹存放Nginx默认提供访问的页面文件

5logs文件夹,这里比较重要的是access.logerror.log两个日志,前者主要用来查看服务器日常访问后都对外提供了集群的哪些资源情况;后者主要提供用来检查Nginx服务器是否正常运行,一般nginx.conf文件如果配置错误都会在这里打印出来,同时如果你是用Nginx做集群软负载,那么负载均衡配置中如果有一台服务器突然不工作了,这里可以及时检测出来。

6temp属于临时文件夹

 

Windows下启动Nginx有三种方式:

1、直接点击nginx.exe就可以启动服务

2、在nginx安装的根路径下,命令行直接输入nginx.exe回车以后也可以启动服务,但是这种方式启动的服务会让命令行一直处于停驻状态,无法进行其他操作,所以用起来不是很方便。

3、在nginx根路径下,命令行执行命令“ start  nginx.exe,这时,你会发现执行后有一个临时窗口突然闪过,打开网页后试一下localhost是不是可以正常显示,一般看到nginx的默认欢迎界面,则说明启动成功了。

 

Windows下停止nginx有两种方式:

1、执行命令:nginx.exe-s quit

2、执行命令:nginx.exe -s stop

他们两者的区别是:stop是快速停止nginx,可能不会保存相关信息。而quit是完整有序的停止nginx,并保存相关信息。这个有点类似于电脑的强制关机和软关机两者的差别。

 

Windows下重新加载Nginx时,可以执行“nginx.exe -s reload”命令。

 

Nginx常用的有四大功能:静态服务器、虚拟主机、反向代理、负载均衡

 

Nginx对各种需求的配置均非常简单,加入你想使用Nginx的负载均衡能力,可以在nginx.conf文件中的http节点内配置upstream属性,指明负载均衡的名称,并通过在server节点中设置反向代理指向你命名的负载均衡名称,则最基本的负载均衡配置成功。

 

我们以一台主机中同时配置多个服务,并通过Nginx提供负载均衡能力为例说明:

 

假设本次只有两个应用服务端做集群,以tomcat为例,配置时,一定要注意将两个tomcat里只要有端口的地方都需要调整,否则另外一个tomcat将无法正常工作,调整完成后,启动两台已经配置好了的tomcat。通过网页指定端口进行访问,确认下服务是否已经正常启动了。

 

在确保正常启动以后,为了配置集群后能够区分出当前访问的是哪台主机,你可以在tomcatROOT路径下修改欢迎界面index.jsp,在页面的显著位置增加一个标识来标注服务器来源。这样你在后面配置了负载均衡以后,就可以明显看到你访问的具体是哪一台机器。

调整后的nginx.conf配置如下:

    upstream tomcat_schedule_web_test {

        server 192.168.56.1:8080;

        server 192.168.56.1:8099;

    }

    server {

        listen       80;

        #server_name  localhost;

        #指明index

        index index.jsp index.html index.htm;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            #root   html;

            #index  index.html index.htm;

            #反向代理指明访问的流路径

            proxy_pass http://tomcat_schedule_web_test;

        }

说明:

1、配置中没有做改动的地方本次没有贴出来

2、增加了upstream属性配置,指向了同一台机器的不同端口提供的tomcat服务。

3、在location属性中增加了对upstream的反向代理支持

4、外部访问不需要知道两台tomcat服务的端口号,直接输入localhost就可以访问。

5、本配置是nginx提供软负载功能的基本配置,实际应用中需要考虑集群中单台服务的能力差别,根据实际情况合理分配和支出单台应用的性能,所以配置要比目前看到的负责一些,这里说明的只是最基本的配置情况。

 

 

 访问下Nginx,是不是生效了呢 ^_^

 

 

 

各位看官,原创不易啊,转载请注明出处: http://danlley.iteye.com 看在打字不易的份上,打赏一个吧

 

参考资料:

 

 

 

 

 

 

 

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics