1.安装Nginx

1.1.下载Nginx安装包

Nginx 官网(https://nginx.org)
本次选择的是nginx-1.6.3.tar.gz版本,安装环境是centos7。
然后把下载好的安装包通过SecureCRT工具上传至Centos7中或者使用wget命令下载安装包

  1. #下载nginx-1.6.3.tar.gz
    wget -c https://nginx.org/download/nginx-1.6.3.tar.gz

若是出现下面的提示

  1. -bash: wget: command not found

则执行

  1. yum install wget

2.安装Nginx的前提环境

1)安装 gcc 环境

  1. yum install gcc-c++

2) 安装 PCRE 依赖库

  1. yum install -y pcre pcre-devel

3)安装 zlib 依赖库

  1. yum install -y zlib zlib-devel

4) 安装 OpenSSL 安全套接字层密码库

  1. yum install -y openssl openssl-devel

5)解压 Nginx

  1. #解压文件夹
    tar -zxvf nginx-1.6.3.tar.gz

6)执行配置命令

  1. cd进入文件夹
    cd nginx-1.6.3

执行配置命令

  1. ./configure

出现如下图:表示成功

在这里插入图片描述
7)执行编译安装命令

  1. make install

8)查找安装路径

  1. whereis nginx

结果如下:

在这里插入图片描述
9)启动服务

进入 nginx 的目录

  1. cd /usr/local/nginx/sbin/

执行如下命令

  1. #启动
    ./nginx
  2. #停止,此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
    ./nginx -s stop
  3. #停止,此方式停止步骤是待nginx进程处理任务完毕进行停止
    ./nginx -s quit
  4. #重新加载配置文件,Nginx服务不会中断
    ./nginx -s reload

10)修改配置文件

比如,修改端口号,默认端口号为80,咱们这里改成83;

进入配置文件夹

  1. cd /usr/local/nginx/conf

备份原始配置文件

  1. cp nginx.conf nginx.conf.back

编辑nginx.conf配置文件

  1. vim nginx.conf

找到server中的listen,修改端口号为83

在这里插入图片描述
启动服务

  1. #要进入sbin/下才能执行
    ./nginx

查看 nginx 进程

  1. ps -ef|grep nginx

在这里插入图片描述
到此,nginx 安装基本完成,直接在浏览器上访问服务器地址:虚拟机的ip:83,就可以进入页面
在这里插入图片描述

3.安装Tomcat

tomcat 官网(http://tomcat.apache.org/)
本次选择的是最新版本,本次安装环境是centos7。

我是直接用wget命令下载

在这里插入图片描述

解压文件夹

  1. tar -zxvf apache-tomcat-8.5.40.tar.gz

重新命名

  1. mv apache-tomcat-8.5.40 tomcat-1

同样的,再次解压安装包,命名为tomcat-2

  1. mv apache-tomcat-8.5.40 tomcat-2

1)修改 tomcat 端口号

将 tomcat-1 的 http 端口设置为8080,将 tomcat-2 的 http 端口设置为8081。

进入tomcat的conf文件夹,修改server.xml

  1. vim server.xml

修改SHUTDOWN、HTTP/1.1、redirectPort、AJP/1.3端口,使其错开,避免重启的时候,报端口被占用问题

tomcat-1 的SHUTDOWN、HTTP/1.1、redirectPort、AJP/1.3设置如下:

  1. <!--关闭服务端口-->
    <Server port="9005" shutdown="SHUTDOWN">
    ...
    <!--HTTP服务端口8080,跳转端口9443-->
    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="9443" />
  2. <!--AJP服务端口-->
    <Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
    ...
    </Server>

tomcat-2 的SHUTDOWN、HTTP/1.1、redirectPort、AJP/1.3设置如下:

  1. <!--关闭服务端口-->
    <Server port="10005" shutdown="SHUTDOWN">
    ...
    <!--HTTP服务端口8081-->
    <Connector port="8081" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="10443" />
  2. <!--AJP服务端口-->
    <Connector port="10009" protocol="AJP/1.3" redirectPort="10443" />
    ...
    </Server>

2)启动服务

分别进入 tomcat-1 、 tomcat-2 的bin文件夹,执行脚本,启动服务

  1. sh startup.sh

查看服务是否启动成功

  1. ps -ef|grep tomcat

可以直接在浏览器上分别输入ip:8080、ip:8081进行访问了,结果如下:

在这里插入图片描述
3)编写Html

为了便于测试,我们创建一个html格式的页面,文件命名为index.html,内容如下:
进入tomcat-1的webapps文件夹,删除ROOT文件夹里面的东西,创建index.html文件;

  1. <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
        </head>
        <body>
            Hello server1!
        </body>
    </html>

进入tomcat-1的webapps文件夹,删除ROOT文件夹里面的东西,创建index.html文件;

  1. <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
        </head>
        <body>
            Hello server2!
        </body>
    </html>

4)测试

创建好了之后,分别在浏览器上访问ip:8080、ip:8081;

ip:8080,结果如下:

在这里插入图片描述
在这里插入图片描述

实现负载均衡

进入 Nginx 的配置文件夹

  1. cd /usr/local/nginx/conf

编辑nginx.conf配置文件

  1. vim nginx.conf

主要新增upstream集群配置点,配置如下:

  1. worker_processes  1;
  2. events {
        worker_connections  1024;
    }
  3. http {  
        include       mime.types;
  4.     default_type  application/octet-stream;
  5.     sendfile        on;
  6.     keepalive_timeout  65;
  7.     gzip  on;
  8.      #服务器的集群(这个就是我们要配置的地方)
         #test.com:服务器集群名字,自定义
        upstream  test.com {
            #服务器配置   weight是权重的意思,权重越大,分配的概率越大。
            #127.0.0.1:8080、127.0.0.1:8081对应tomcat服务器地址
            server    127.0.0.1:8080  weight=1;
            server    127.0.0.1:8081  weight=2;
        }
  9.     server {  
            listen       83;
            server_name  localhost;
  10.     location / {
        ·        #配置反向代理地址
                proxy_pass http://test.com;
                proxy_redirect default;
            }
  11.         error_page   500 502 503 504  /50x.html;  
            location = /50x.html {  
                root   html;  
            }  
        }  
    }

参数说明:

•worker_processes:工作进程的个数,一般与计算机的cpu核数一致
•worker_connections:单个进程最大连接数(最大连接数=连接数*进程数)
•include:文件扩展名与文件类型映射表
•default_type:默认文件类型
•sendfile :开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
•keepalive_timeout:长连接超时时间,单位是秒
•upstream:服务器的集群配置点

配置好之后,进入/usr/local/nginx/sbin/ 文件夹,重新刷新配置文件

  1. ./nginx -s reload

最后,访问Nginx服务器所在ip:83地址,多次刷新,看看效果:

在这里插入图片描述
多刷几次
在这里插入图片描述

防火墙的开启

  1. ####开启防火墙
    [root@localhost httpd]# systemctl start firewalld
    ####添加81端口放行规则
    [root@localhost sysconfig]# firewall-cmd --zone=public --add-port=83/tcp --permanent
    success
    ####添加8080端口放行规则
    [root@localhost sysconfig]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
    success
    ####添加8081端口放行规则
    [root@localhost sysconfig]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
    success
    ####重新加载一下
    [root@localhost httpd]# sudo firewall-cmd --reload

更多资源和教程请关注公众号:非科班的科班。
如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力

最后分享一波java的资源,资源包括java从入门到开发的全套视频,以及java的26个项目,资源比较大,大小大概是290g左右,链接容易失效,获取的方式是关注公众号:非科班的科班,让后回复:java项目即可获得,祝大家学习愉快

Centos 7搭建Nginx负载均衡,最简单。的更多相关文章

  1. Net分布式系统之二:CentOS系统搭建Nginx负载均衡

    一.关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat ...

  2. Net分布式系统之二:CentOS系统搭建Nginx负载均衡(下)

    上一篇文章介绍了VMWare12虚拟机.Linux(CentOS7)系统安装.部署Nginx1.6.3代理服务做负载均衡.接下来介绍通过Nginx将请求分发到各web应用处理服务. 一.Web应用开发 ...

  3. Nginx系列一:正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡

    转自https://www.cnblogs.com/leeSmall/p/9351343.html 仅供个人学习 一.什么是正向代理.什么是反向代理 1. 正向代理,意思是一个位于客户端和原始服务器( ...

  4. docker 搭建 nginx负载均衡

    本文描述如何在一台机器上搭建nginx负载均衡,我将会启动3个nginx的docker,分别是1台前置nginx负责分发,后面2台负责处理请求. 首先我切换到/usr/local/docker/文件夹 ...

  5. Nginx负载均衡配置简单配置方法

    http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...

  6. Nginx系列篇二:linux搭建Nginx负载均衡

    建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...

  7. nginx负载均衡的简单实现

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...

  8. Tomcat WEB搭建+Nginx负载均衡动静分离+DNS解析的实验

    实验拓扑图: 实验环境: 在VMware workstation搭建虚拟环境,利用网络适配器的Nat和桥接模式模拟内网和外网环境. 实验过程中需要安装的工具包包括:vim unzip lrzsz ls ...

  9. Linux学习10-CentOS搭建nginx负载均衡环境

    前言 当自己的web网站访问的人越来越多,一台服务器无法满足现有的业务时,此时会想到多加几台服务器来实现负载均衡. 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,怎样将同一个域名的访问分散 ...

随机推荐

  1. 【Linux】sed笔记

     sed - stream editor for filtering and transforming text(用于过滤和转换文本的SED流编辑器),主要是以行为单位进行处理,可以将数据行进行替换. ...

  2. 前端——CSS选择器

    目录 前端CSS CSS三种引入方式 CSS标签选择器 基本选择器 1.元素选择器 2.类选择器 3.id选择器 4.通用选择器 组合选择器 1.后代选择器 空格 2.儿子选择器 > 3.毗邻选 ...

  3. 解读中兴通信在物联网行业如何践行DDD

    此前,在由 ThoughtWorks 举办的领域驱动设计峰会 DDD-China 2019 上,InfoQ 记者就开发团队为何需要 DDD.目前业界实践 DDD 的挑战等问题对中兴通讯资深软件架构师张 ...

  4. [译文] 为什么你在 C# 里总是应该使用 "var" 关键字

    [译文] Why You Should Always Use the 'var' Keyword in C# (为什么你总是应该在 C# 里使用 "var" 关键字) Using ...

  5. 算法复杂度之 空间复杂度(Java)

    0.说明 根据算法书上的定义,一个算法的空间复杂度包括算法程序所占用的空间,输入初始数据所占用的空间以及算法执行过程中所需要的额外空间.本文各种结论全部参考过标准文献,本人也进行过验证.验证过程本文不 ...

  6. 从零开始のcocos2dx生活(九)CCBReader

    NodeLoaderLibrary是用来存储节点加载器类型的类,通过registerDefaultNodeLoaders()可以注册所有默认类型的加载器 在CocosBuilder的使用手册中: 1. ...

  7. FTP服务器红帽5.4搭建图文教程!!!

    FTP服务器搭建 服务器的环境 红帽5.4 vm15 挂载光盘 mount mount -t iso9660 设备目录 /mnt 表示挂载 软件包安装 FTP服务器安装包命令: rpm -ivh /m ...

  8. C语言之while循环

    while循环能做什么??? 先来个概念格式,while循环的一般形式为: while(表达式){ 语句块 } 意思是,先计算"表达式"的值,当值为真(非0)时, 执行" ...

  9. WTM 3.1发布,完美支持.netcore 3.1

    在过去的2019年,承蒙各位的厚爱,WTM从零开始一年的时间在GitHub上收获了将近1600星,nuget上的下载量累计超过10万. WTM所坚持的低码开发,快速实现的理念受到了越来越多.netco ...

  10. zookeeper作配置中心(存储支付信息)

    zookeeper作配置中心(存储敏感信息) 前提:最近在项目中需要用到支付接口,支付宝或者微信支付,根据官方文档,需要配置一些诸如notify-url或者app-private-key等信息,这些信 ...