阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx+Tomcat7+Memcached负载均衡集群+Session共享

220次阅读
没有评论

共计 17293 个字符,预计需要花费 44 分钟才能阅读完成。

Nginx+Tomcat7+Memcached 负载均衡集群服务搭建

操作系统:CentOS6.5

本文档主要讲解,如何在 CentOS6.5 下搭建 Nginx+Tomcat7+Memcached 负载均衡集群服务器,Nginx 负责负载均衡,Tomcat7 负责实际服务,Memcached 负责同步 Tomcat7 的 Session,达到 Session 共享的目的。

相关文件下载:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2015 年资料 / 1 月 /17 日 /Nginx+Tomcat7+Memcached 负载均衡集群 +Session 共享

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

1. 安装 Nginx
Nginx 官网:http://nginx.org/
下载最新稳定版本。在安装 Nginx 之前,需要先安装 gcc、openssl、pcre 和 zlib 软件库。

1.1 安装 gcc、gcc-c++
安装命令:
#yum install gcc
#yum install gcc-c++

1.2 安装 openssl
openssl 官网:http://www.openssl.org/
安装版本:openssl-1.0.1i.tar.gz
安装命令:
#tar -zxvf openssl-1.0.1i.tar.gz
#cd openssl-1.0.1i
#./config –prefix=/usr/local/openssl-1.0.1i    #prefix 指定安装目录
#make
#make install
【注意】:此处使用的是 config 命令,而不是平常的 configure 命令
安装完成后,到 /usr/local/ 下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

1.3 安装 pcre
pcre 官网:http://www.pcre.org/
安装版本:pcre-8.35.tar.gz
安装命令:
#tar -zxvf pcre-8.35.tar.gz
#cd pcre-8.35
#./configure –prefix=/usr/local/pcre-8.35    #prefix 指定安装目录
#make
#make install
安装完成后,到 /usr/local/ 下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

【注意】:如果没有安装 c ++ 编译器,这个软件的安装会报错!

1.4 安装 zlib
zlib 官网:http://www.zlib.net/
安装版本:zlib-1.2.8.tar.gz
安装命令:
#tar -zxvf zlib-1.2.8.tar.gz
#cd zlib-1.2.8
#./configure –prefix=/usr/local/zlib-1.2.8    #prefix 指定安装目录
#make
#make install
安装完成后,到 /usr/local/ 下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

1.5 安装 Nginx
安装版本:nginx-1.6.1.tar.gz
安装命令:
#tar -zxvf nginx-1.6.1.tar.gz
#cd nginx-1.6.1
#./configure
–prefix=/usr/local/nginx-1.6.1                #prefix 指定安装目录
–with-openssl=/home/zht/src/openssl-1.0.1i    #指的是 openssl 源码路径
–with-pcre=/home/zht/src/pcre-8.3.5          #指的是 pcre 的源码路径
–with-zlib=/home/zht/src/zlib-1.2.8          #指的是 zlib 的源码路径
–with-http_ssl_module
#make
#make install
安装完成后,到 /usr/local/ 下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。
 
1.5.1 配置 Nginx
配置文件目录:/usr/local/nginx-1.6.1/conf/nginx.conf
#cd /usr/local/nginx-1.6.1/conf
#vi nginx.conf

【修改后的配置文件如下】:
# 创建进程的用户和用户组
user    feng  feng;

#useradd feng

# 服务进程数量,一般等于 CPU 数量
worker_processes 1;

# 全局错误日志定义,建议开启 error 级别日志.[debug | info | notice | warn | error | crit]
error_log logs/error.log error;
#error_log logs/error.log  notice;
#error_log logs/error.log  info;

# 记录进程 ID 的文件
#pid      logs/nginx.pid;
events {
    #epoll 是多路复用 IO(I/O Multiplexing) 中的一种方式, 但是仅用于 linux2.6 以上内核, 可以大大提高 nginx 的性能.Linux 建议使用 epoll,FreeBSD 建议使用 kqueue.
    useepoll;
    #一个 worker_processe 允许的最近并发连接数量
    worker_connections  1024;
}

http {
    include      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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush    on;

    #http 连接的持续时间
    keepalive_timeout  65;

    #gzip 压缩设置
    gzip  on;          #开启 gzip
    gzip_min_length 1k;  #最小压缩文件大小
    gzip_buffers 4 16k;  #压缩缓冲区
    #http 的协议版本(1.0/1.1), 默认 1.1,前端如果是 squid2.5 请使用 1.0
    gzip_http_version 1.1;
    #gzip 压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理速度最慢(传输快但比较消耗 cpu)
    gzip_comp_level 2;   
    #和 http 头有关系,加个 vary 头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的 HTTP 头来判断,是否需要压缩
    gzip_varyon;
    #gzip 压缩类型,不用添加 text/html,否则会有警告信息
    gzip_types text/plain text/Javascript text/css application/xmlapplication/x-javascript application/json;

    #设定负载均衡的服务器列表,可以设置多个 upstream,但 mysvr 名字要区分
    upstreammy ClusterServer1 {
    #weigth 参数表示权值,权值越高被分配到的几率越大
      server 192.168.10.100:8080  weight=5;
      server 192.168.10.101:8080  weight=5;
      server 192.168.10.102:8080  weight=5;
    }

    server {
      #nginx 监听的端口号
      listen      80;
      #域名可以有多个,用空格隔开
      server_name  192.168.10.222;

      #字符编码方式
      charset utf-8;

      #设定本虚拟主机的访问日志。关闭日志可以减少 IO,提高性能。
      #access_log logs/host.access.log  main;

      #默认请求  此处也可对网站进行动静分离的配置
      location / {
          #定义服务器的默认网站根目录位置
          root  html;
          #定义首页索引文件的名称
          index  index.html index.htmindex.jsp;
          #请求转向 mysvr 定义的服务器列表
          proxy_pass    http://myClusterServer1;
          proxy_redirect default;
            #跟代理服务器连接的超时时间,必须留意这个 time out 时间不能超过 75 秒,当一台服务器当掉时,过 10 秒转发到另外一台服务器。
          proxy_connect_timeout 10;
        }

      #error_page  404              /404.html;

      #redirect server error pages to the static page /50x.html
      #
      error_page  500 502 503 504  /50x.html;
      location = /50x.html {
          root  html;
        }

      #proxy the PHP scripts to Apache listening on 127.0.0.1:80
      #
      #location ~ \.php$ {
      #    proxy_pass  http://127.0.0.1;
      #}

      #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
      #
      #location ~ \.php$ {
      #    root          html;
      #    fastcgi_pass  127.0.0.1:9000;
      #    fastcgi_index  index.php;
      #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
      #    include        fastcgi_params;
      #}

      #deny access to .htaccess files, if Apache’s document root
      #concurs with nginx’s one
      #
      #location ~ /\.ht {
      #    deny  all;
      #}
    }

    # anothervirtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen      8000;
    #    listen      somename:8080;
    #    server_name somename  alias  another.alias;

    #    location / {
    #        root  html;
    #        index index.html index.htm;
    #    }
    #}

    # HTTPSserver
    #
    #server {
    #    listen      443 ssl;
    #    server_name localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root  html;
    #        index index.html index.htm;
    #    }
    #}

}
1.5.2 启动与关闭 Nginx
(1)启动
#/usr/local/nginx-1.6.1/sbin/nginx
确保系统的 80 端口没被其他程序占用

重新加载配置文件:
#/usr/local/nginx-1.6.1/sbin/nginx  -s  reload

(2)关闭:
#pkill nginx

(3)检查是否启动成功:
#netstat -ano | grep80 有结果输入说明启动成功

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。如果已经配置了负载均衡服务器,则会看 Tomcat 中的网站页面。

————————————– 分割线 ————————————–

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

————————————– 分割线 ————————————–

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-01/111919p2.htm

2. Memcache 安装
Memcached 官网:http://memcached.org/
安装 memcached 需要先安装 libevent,libevent 官网:http://libevent.org/
本次安装版本:
memcached-1.4.20.tar.gz
libevent-2.0.21-stable.tar.gz
2.1 安装 livevent
查看是否已安装:# rpm qa | grep libevent
如果已安装且版本低于 1.3,则先通过:
#rpm -e libevent –nodeps 进行卸载。
#tar zxvf libevent-2.0.21-stable.tar.gz
#cd libevent-2.0.21-stable
#./configure –prefix=/usr/local/libevent-2.0.21-stable      #prefix 指定安装路径
#make
#make install

2.2 安装 Memcached
#tar zxvf memcached-1.4.20.tar.gz
#cd memcached-1.4.20
#./configure
–prefix=/usr/local/memcached-1.4.20
–with-libevent=/usr/local/libevent-2.0.21-stable
#make
#make install

Memcached 安装及启动脚本 http://www.linuxidc.com/Linux/2013-07/87641.htm

PHP 中使用 Memcached 的性能问题 http://www.linuxidc.com/Linux/2013-06/85883.htm

Ubuntu 下安装 Memcached 及命令解释 http://www.linuxidc.com/Linux/2013-06/85832.htm

Memcached 的安装和应用 http://www.linuxidc.com/Linux/2013-08/89165.htm

使用 Nginx+Memcached 的小图片存储方案 http://www.linuxidc.com/Linux/2013-11/92390.htm

Memcached 使用入门 http://www.linuxidc.com/Linux/2011-12/49516p2.htm

2.2.1 检查看装情况
安装完成后,到 prefix 指定的目录下查看是否有 memcached-1.4.20 目录
 
2.2.2 查看 memcached 和 libevent 版本信息
首先定位到 Memcached 的 bin 目录下:
#cd /usr/local/memcached-1.4.20/bin
执行命令:
#./memcached -i

2.2.3 启动 memcached
#./memcached -d -v -p 12000 -m 512 -u feng
解释:- d 表示以守护进程方式运行 memcached;- v 表示输出浸膏和错误信息;- p 指定监听的端口号;- m 指定能使用的最大内存,单位 MB;- u 指定运行 memcached 的账户,非 root 用户。
使用# ps -ef | grep memcached 查看进程。
 
关注基本选项:说明
-p <num>    监听的 TCP 端口 (缺省: 11211)
-d    以守护进程方式运行 memcached
-u <username>    运行 memcached 的账户,非 root 用户
-m <num>    最大的内存使用,单位是 MB,缺省是 64 MB
-c <num>    软连接数量,缺省是 1024(最大并发连接数)
-v    输出警告和错误信息
-vv    打印客户端的请求和返回信息
-h    打印帮助信息
-i    打印 memcached 和 libevent 的版权信息

2.2.4 使用 telnet 验证服务是否可用

CentOS(Linux)下命令:
# telnet 192.168.10.222 12000
Trying 192.168.10.222…
Connected to localhost (192.168.10.222).
Escape character is ‘^]’.
连接成功后,手动输入命令:stats
手动输入:quit  // 退出
Connection closed by foreign host
2.2.5 停止 memcached 服务
#pkill memcached

3. 安装 Tomcat+ 配置 memcached
Tomcat 官网:http://tomcat.apache.org/
3.1 安装 Tomcat
本次使用 Tomcat 版本:apache-tomcat-7.0.55.tar.gz
将 Tomcat 解压到任意目录下。
 
3.2 为 Tomcat 配置 memcached
3.2.1 为 Tomcat 添加库文件
Tomcat 要支持 memcached 管理 Session,需要调用一些 jar 库文件:
添加 mem 和 msm 的依赖 jar 包:
couchbase-client-1.2.2.jar
javolution-5.4.3.1.jar
kryo-1.03.jar
kryo-serializers-0.10.jar
memcached-session-manager-1.6.5.jar
memcached-session-manager-tc6-1.6.5.jar
minlog-1.2.jar
msm-kryo-serializer-1.6.5.jar
reflectasm-0.9.jar
spymemcached-2.10.2.jar
【注意】:
msm1.6.5 依赖了 Couchbase,需要添加 couchbase-client 的 jar 包,否则启动会报:Java.lang.NoClassDefFoundError:com/couchbase/client/CouchbaseClient。

Tomcat6 和 Tomcat7 使用不同 msm 支持包:memcached-session-manager-tc6-1.6.5.jar 和 memcached-session-manager-tc7-1.6.5.jar,只可选一,否则启动报错。

msm 源码中的 lib 包版本太低:spymemcached 需要使用 2.10.2,否则启动 tomcat 报错:

java.lang.NoSuchMethodError:net.spy.memcached.MemcachedClient.set(Ljava/lang/String;ILjava/lang/Object;)Lnet/spy/memcached/internal/OperationFuture;
atde.javakaffee.web.msm.BackupSessionTask.storeSessionInMemcached(BackupSessionTask.java:227)

kryo-serializers 需要使用 0.10 版本,否则报错:
Caused by:java.lang.ClassNotFoundException: de.javakaffee.kryoserializers.DateSerializer

部分文件下载地址:http://code.google.com/p/memcached-session-manager/downloads/list
其他的文件自己找。
下载后,将这些库文件放到 tomcat\lib 目录下。(附件里面已经包含了所有的 jar 包)

3.2.2 为 Tomcat 配置 memcached
配置文件目录:tomcat\conf\context.xml
打开配置文件,在 <Context>…</Context> 节点中添加如下内容:
<Manager className=”de.javakaffee.web.msm.MemcachedBackupSessionManager”
        memcachedNodes=”n1:192.168.10.222:12000″  #ip 为 mencached 服务器的 ip
        sticky=”false”
        requestUriIgnorePattern=”.*\.(png|gif|jpg|css|js|ico|jpeg)$”
        sessionBackupAsync=”false”
        copyCollectionsForSerialization=”false”
                transcoderFactoryClass=”de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory”/>
【参数说明】:
docBase:与 <Host> 中的 appBase 一致,网站部署目录。
memcachedNodes:memcached 服务器信息,多个服务器时,使用空格分开,如:
n1:192.168.10.222:12001 n2:192.168.10.223:12000  n3:192.168.10.224:12000

 

还有在 server.xml 中配置 <Host> 节点的 appBase=” 部署目录 ”
3.2.3 测试 Session 共享
测试 JSP 代码如下:index.jsp
<html>
<head>
    <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″/>
    <title>Tomcat7+memcached 共享 session 测试 </title>
</head>
<body>
SessionID:<%=session.getId()%>
<BR> 
SessionIP:<%=request.getServerName()%>
<BR> 
SessionPort:<%=request.getServerPort()%>
      <BR>
<% 
out.println(“This is Tomcat Server 8080.”);
%>
</body>
</html>

同时启动多个 Tomcat7,我部署了 3 个,打开浏览器去访问第一个 Tomcat7,然后在访问第二个和第三个 Tomcat7,三个 Tomcat7 的 SessionID 都是一样的:5FBF6D6B6F37BE8248ED965536427005-n1,只要不关闭 浏览器,不管怎么刷新,SessionID 都是不变了。由此可以,三个 Tomcat7 通过 memcached 实现了 Session 信息共享。

Linux 下 Apache 与多个 Tomcat 集群负载均衡 http://www.linuxidc.com/Linux/2012-01/51731.htm

Nginx Tomcat 集群负载均衡解决笔记 http://www.linuxidc.com/Linux/2013-07/86827.htm

实例详解 Tomcat 组件安装 +Nginx 反向代理 Tomcat+Apache 使用 mod_jk 和 mod_proxy 反向代理和负载均衡 http://www.linuxidc.com/Linux/2013-06/85290.htm

CentOS 6.5 下利用 Rsyslog+LogAnalyzer+MySQL 部署日志服务器 http://www.linuxidc.com/Linux/2014-06/103836.htm

Apache+Tomcat 环境搭建(JK 部署过程)http://www.linuxidc.com/Linux/2012-11/74474.htm

Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里

更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

Nginx+Tomcat7+Memcached 负载均衡集群服务搭建

操作系统:CentOS6.5

本文档主要讲解,如何在 CentOS6.5 下搭建 Nginx+Tomcat7+Memcached 负载均衡集群服务器,Nginx 负责负载均衡,Tomcat7 负责实际服务,Memcached 负责同步 Tomcat7 的 Session,达到 Session 共享的目的。

相关文件下载:

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2015 年资料 / 1 月 /17 日 /Nginx+Tomcat7+Memcached 负载均衡集群 +Session 共享

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

1. 安装 Nginx
Nginx 官网:http://nginx.org/
下载最新稳定版本。在安装 Nginx 之前,需要先安装 gcc、openssl、pcre 和 zlib 软件库。

1.1 安装 gcc、gcc-c++
安装命令:
#yum install gcc
#yum install gcc-c++

1.2 安装 openssl
openssl 官网:http://www.openssl.org/
安装版本:openssl-1.0.1i.tar.gz
安装命令:
#tar -zxvf openssl-1.0.1i.tar.gz
#cd openssl-1.0.1i
#./config –prefix=/usr/local/openssl-1.0.1i    #prefix 指定安装目录
#make
#make install
【注意】:此处使用的是 config 命令,而不是平常的 configure 命令
安装完成后,到 /usr/local/ 下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

1.3 安装 pcre
pcre 官网:http://www.pcre.org/
安装版本:pcre-8.35.tar.gz
安装命令:
#tar -zxvf pcre-8.35.tar.gz
#cd pcre-8.35
#./configure –prefix=/usr/local/pcre-8.35    #prefix 指定安装目录
#make
#make install
安装完成后,到 /usr/local/ 下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

【注意】:如果没有安装 c ++ 编译器,这个软件的安装会报错!

1.4 安装 zlib
zlib 官网:http://www.zlib.net/
安装版本:zlib-1.2.8.tar.gz
安装命令:
#tar -zxvf zlib-1.2.8.tar.gz
#cd zlib-1.2.8
#./configure –prefix=/usr/local/zlib-1.2.8    #prefix 指定安装目录
#make
#make install
安装完成后,到 /usr/local/ 下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。

1.5 安装 Nginx
安装版本:nginx-1.6.1.tar.gz
安装命令:
#tar -zxvf nginx-1.6.1.tar.gz
#cd nginx-1.6.1
#./configure
–prefix=/usr/local/nginx-1.6.1                #prefix 指定安装目录
–with-openssl=/home/zht/src/openssl-1.0.1i    #指的是 openssl 源码路径
–with-pcre=/home/zht/src/pcre-8.3.5          #指的是 pcre 的源码路径
–with-zlib=/home/zht/src/zlib-1.2.8          #指的是 zlib 的源码路径
–with-http_ssl_module
#make
#make install
安装完成后,到 /usr/local/ 下查看是否安装成功。如果安装出错,需要重新加压缩,重新安装。
 
1.5.1 配置 Nginx
配置文件目录:/usr/local/nginx-1.6.1/conf/nginx.conf
#cd /usr/local/nginx-1.6.1/conf
#vi nginx.conf

【修改后的配置文件如下】:
# 创建进程的用户和用户组
user    feng  feng;

#useradd feng

# 服务进程数量,一般等于 CPU 数量
worker_processes 1;

# 全局错误日志定义,建议开启 error 级别日志.[debug | info | notice | warn | error | crit]
error_log logs/error.log error;
#error_log logs/error.log  notice;
#error_log logs/error.log  info;

# 记录进程 ID 的文件
#pid      logs/nginx.pid;
events {
    #epoll 是多路复用 IO(I/O Multiplexing) 中的一种方式, 但是仅用于 linux2.6 以上内核, 可以大大提高 nginx 的性能.Linux 建议使用 epoll,FreeBSD 建议使用 kqueue.
    useepoll;
    #一个 worker_processe 允许的最近并发连接数量
    worker_connections  1024;
}

http {
    include      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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush    on;

    #http 连接的持续时间
    keepalive_timeout  65;

    #gzip 压缩设置
    gzip  on;          #开启 gzip
    gzip_min_length 1k;  #最小压缩文件大小
    gzip_buffers 4 16k;  #压缩缓冲区
    #http 的协议版本(1.0/1.1), 默认 1.1,前端如果是 squid2.5 请使用 1.0
    gzip_http_version 1.1;
    #gzip 压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理速度最慢(传输快但比较消耗 cpu)
    gzip_comp_level 2;   
    #和 http 头有关系,加个 vary 头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的 HTTP 头来判断,是否需要压缩
    gzip_varyon;
    #gzip 压缩类型,不用添加 text/html,否则会有警告信息
    gzip_types text/plain text/Javascript text/css application/xmlapplication/x-javascript application/json;

    #设定负载均衡的服务器列表,可以设置多个 upstream,但 mysvr 名字要区分
    upstreammy ClusterServer1 {
    #weigth 参数表示权值,权值越高被分配到的几率越大
      server 192.168.10.100:8080  weight=5;
      server 192.168.10.101:8080  weight=5;
      server 192.168.10.102:8080  weight=5;
    }

    server {
      #nginx 监听的端口号
      listen      80;
      #域名可以有多个,用空格隔开
      server_name  192.168.10.222;

      #字符编码方式
      charset utf-8;

      #设定本虚拟主机的访问日志。关闭日志可以减少 IO,提高性能。
      #access_log logs/host.access.log  main;

      #默认请求  此处也可对网站进行动静分离的配置
      location / {
          #定义服务器的默认网站根目录位置
          root  html;
          #定义首页索引文件的名称
          index  index.html index.htmindex.jsp;
          #请求转向 mysvr 定义的服务器列表
          proxy_pass    http://myClusterServer1;
          proxy_redirect default;
            #跟代理服务器连接的超时时间,必须留意这个 time out 时间不能超过 75 秒,当一台服务器当掉时,过 10 秒转发到另外一台服务器。
          proxy_connect_timeout 10;
        }

      #error_page  404              /404.html;

      #redirect server error pages to the static page /50x.html
      #
      error_page  500 502 503 504  /50x.html;
      location = /50x.html {
          root  html;
        }

      #proxy the PHP scripts to Apache listening on 127.0.0.1:80
      #
      #location ~ \.php$ {
      #    proxy_pass  http://127.0.0.1;
      #}

      #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
      #
      #location ~ \.php$ {
      #    root          html;
      #    fastcgi_pass  127.0.0.1:9000;
      #    fastcgi_index  index.php;
      #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
      #    include        fastcgi_params;
      #}

      #deny access to .htaccess files, if Apache’s document root
      #concurs with nginx’s one
      #
      #location ~ /\.ht {
      #    deny  all;
      #}
    }

    # anothervirtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen      8000;
    #    listen      somename:8080;
    #    server_name somename  alias  another.alias;

    #    location / {
    #        root  html;
    #        index index.html index.htm;
    #    }
    #}

    # HTTPSserver
    #
    #server {
    #    listen      443 ssl;
    #    server_name localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root  html;
    #        index index.html index.htm;
    #    }
    #}

}
1.5.2 启动与关闭 Nginx
(1)启动
#/usr/local/nginx-1.6.1/sbin/nginx
确保系统的 80 端口没被其他程序占用

重新加载配置文件:
#/usr/local/nginx-1.6.1/sbin/nginx  -s  reload

(2)关闭:
#pkill nginx

(3)检查是否启动成功:
#netstat -ano | grep80 有结果输入说明启动成功

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。如果已经配置了负载均衡服务器,则会看 Tomcat 中的网站页面。

————————————– 分割线 ————————————–

CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm

Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

————————————– 分割线 ————————————–

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-01/111919p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计17293字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中