Nginx的安装配置和tomcat负载均衡

Nginx简介

  • 什么是nginx?

Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

  • nginx的应用场景

1、http服务器。nginx是一个http服务可以独立提供http服务。可以作网页静态服务器。

2、虚拟主机。可以实现在一台服务器上虚拟出多个网站。

3、反向代理,负载均衡。当网站的访问量达到一定的程度后,单台服务器已经无法满足高并发请求时,需要多台服务器集群使用NGINX做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载过高宕机而使服务器无法使用。

  • nginx安装

官网下载:http://nginx.org/

由于nginx是使用C语言编写,官方只提供了源码。所以需要提前配置好安装环境。

1、安装PCRE

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yum install pcre pcre-devel -y

2、安装zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install zlib zlib-devel -y

3、安装openssl

OpenSSL 是一个强大的安全(不知道为什么这里被敏感了)套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install openssl openssl-devel -y
  • 安装步骤

1、解压nginx源码包

tar xzvf nginx-1.8.0.tar.gz

2、使用解压出来的configure可执行文件创建MakeFile文件

./configure --prefix=/usr/local/nginx

3、make && make install

make && make install

如果在安装过程中没有报错,那么恭喜你,nginx已经安装完成。

4、启动nginx

cd /usr/local/nginx/sbin
./nginx
或者
/usr/local/nginx/sbin/nginx
或者指定配置文件启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

5、关闭nginx

./nginx -s stop
但是推荐使用
./nginx -s quit

6、重启nginx

./nginx -s reload

7、访问nginx

在浏览器地址栏输入:你的ip地址就可以看到nginx了

  • 配置虚拟主机

虚拟主机配置有两种方式,一种是域名不同,一种是端口不同

1、端口不同

#如果conf下面没有nginx.conf文件
#将nginx.conf.default复制一份为nginx.conf即可
vim /usr/local/nginx/conf/nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    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;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
#一个server就是一个虚拟主机
    server {
########这里的端口是80
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
    server {
########这里的端口是81
        listen       81;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html-81;
            index  index.html index.htm;
        }
    }
}
            这样,同一个地址,不同的端口可以访问不同的网站。

        2、域名不同

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    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;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
##################################
####这里的域名为www.yalogs.com######
##################################
    server {
        listen       80;
        server_name  www.yalogs.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
########################################
####这里的域名为www.image.yalogs.com######
####这个域名实际上是yalogs的图片服务器的域名##
####但是确是两个不同的网站##################
########################################
    server {
        listen       80;
        server_name  www.image.yalogs.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

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

这样不同的域名就可以访问同一个服务器中不同的网站。

  • 反向代理,负载均衡

1、安装两个tomcat,分别运行在8080和8180端口上。

2、启动两个tomcat。

3、反向代理和负载均衡的配置

upstream tomcat1 {
    server 192.168.0.10:8080;
    server 192.168.0.11:8180 weight=2;
}
server {
    listen       80;
    server_name  www.sina.com.cn;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        proxy_pass   http://tomcat1;
        index  index.html index.
    }
}
    

上面的wight=2是调整服务器的权重,权重越大,分配到的请求越多。

  • NGINX高可用

    • ???????通过使用keepalived+nginx实现(知道有这个东西就OK了)
  • 结束语
    • ???????到这里NGINX的安装配置,负载均衡就已经实现了,以后忘了就来看看就OK了,嘿嘿,有没有很机智。。。。。

原文地址:https://www.cnblogs.com/linuxjava/p/9689092.html

时间: 2024-10-12 02:48:41

Nginx的安装配置和tomcat负载均衡的相关文章

Nginx + Tomcat 负载均衡配置详解

Nginx作为反向代理服务器,实现负载均衡.首先浏览器发起请求,到达Nginx,由Nginx将请求地址转发给相应的tomcat服务器,再由tomcat服务器将结果返回给Nginx,Nginx将结果再转发给浏览器. 在这过程中,对于浏览器来说,并不知道后端的存在, 相对于Tomact来说,当前的客户端是Nginx服务器.这就完成了一个代理的过程. 首先准备三台Linux服务器:IP地址分别为 192.168.1.61  192.168.1.62  192.168.1.63 其中61安装nginx服

Nginx+tomcat配置集群负载均衡

转自:http://blog.csdn.net/bruce_6/article/details/38228299 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了.摘一段百度百科上的描述: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回

配置apache和nginx的tomcat负载均衡

概述 本篇文章主要介绍apache和nginx的相关配置,tomcat的相关安装配置我在前面有写过一篇,详细介绍通过两种配置方法配置nginx. tomcat配置参考:http://www.cnblogs.com/chenmh/p/5048893.html apache配置  源码安装 ./configure --prefix=/usr/local/apache (安装目录) make make install 对于2.4以上版本的apache在进行源码安装的时候有的机器会提示缺少部分插件例如:

转】Nginx+tomcat配置集群负载均衡

原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299         感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了.摘一段百度百科上的描述: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务

图文解说:Nginx+tomcat配置集群负载均衡

开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的apache.Nginx软件负载,F5设备动辄几十万,价格昂贵?自己一个比较幼稚的问题,后续明白:F5是操作于IOS网络模型的传输层,Nginx.apache是基于http反向代理方式,位于ISO模型的第七层应用层.直白些就是TCP UDP 和http协议的区别,Nginx不能为基于TCP协议的应用提

Linux配置Nginx+Tomcat负载均衡

tar -zxvf nginx-1.14.2.tar.gz -C /usr/local 一.Linux配置Nginx 一.下载Nginx 方式1:从http://nginx.org/en/download.html上下载稳定版,解压安装 方式2:直接在Linux上用命令下载: wget http://nginx.org/download/nginx-1.10.2.tar.gz -bash: wget: command not found 安装wget: yum -y install wget 再

搭建Nginx+Tomcat 负载均衡集群

实验拓扑: 实验要求: 客户访问192.168.10.10,第一次或者第一个请求将请求交给10.101,第二次或者第二个请求交给10.102.实现两台服务器负载,多台的搭建方法相同. 试验环境: 主机 操作系统 所需软件 Nginx服务器 rhel 6.5 x86_64 nginx-1.6.0.tar.gz Tomcat服务器1 CentOS 6.5   x86_64 apache-tomcat-7.0.54.tar.gz  jdk-7u65-linux-x64.gz Tomcat服务器2 Ce

Docker+nginx+tomcat7配置简单的负载均衡

本文介绍在Docker上配置简单的负载均衡,宿主机为Ubuntu 14.04.2 LTS,两个CentOS容器,宿主机安装Nginx,两台容器安装tomcat7.结构如下: 此方案的原理是将宿主机的端口和docker容器的端口做一个映射(即访问宿主机的某端口会映射到docker容器对应的端口),然后在宿主机通过配置Nginx,即可达到访问宿主机的某端口,按规则分配到指定的服务地址,即完成了负载均衡. 配置步骤 1.准备宿主机,宿主机是Ubuntu 14.04.2 LTS,安装在Vmware中,具

Centos6.5系统下nginx反向代理实现tomcat负载均衡

查看当前系统的内核和系统参数以及版本. [[email protected] ~]# uname -a Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m 2.安装nginx. 1)