在Linux上部署Nginx及集群

系列文章目录

在Linux上部署Nginx及集群


前言

Nginx是一个实现了反向代理的静态资源服务器。
例如,tomcat是动态资源服务器

本篇nginx的目的是为了实现tomcat集群。

应用场景基本分为“负载均衡服务器”,“静态资源服务器”

优点  速度快,配置简单,高可靠

一、去哪下载?

官网 :http://nginx.org/en/

可以通过下载tar包安装   但是官方推荐使用yum安装

二、部署Nginx

1.禁用SeLinux安全策略

先进入到etc目录

代码如下(示例):vim selinux/config

​修改过该文件之后,需要重启Linux系统

2.安装Nginx依赖的yum-utils插件

nginx要正常安装,必须先安装yum-utils插件。这个插件中包含很多子插件。早期nginx安装这些自插件必须一个一个安装,后期为了简单就封装成了一个插件yum-utils,所以现在我们只需要安装yum-utils就可以了。

你知道的,必须保证你的linux虚拟机能连接互联网

代码如下(示例):yum install -y yum-utils

3,在本机创建yum源

     在yum仓库 没有yum源,我们必须在本机自己声明yum源。

进入到/etc/yum.repos.d/这个目录,然后新建一个nginx.repo的文件

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

把上面放到 nginx.repo文件中

4,安装nginx

在任意目录执行    yum install -y nginx

 5.启动Nginx

Nginx安装后之后,会在Linux后台注册名称为nginx的服务,我们直接通过systemctl start命令就能启动或者关闭nginx

启动   systemctl start nginx

关闭   systemctl stop nginx

查看   systemctl status nginx

 启动成功,可以在windows系统的浏览器中输入IP地址直接访问。nginx默认提供服务的端口是80端口,80端口是浏览器默认的端口,所以访问的时候可以不加端口。

 成功

6.实现tomcat应用服务器集群

复制两个tomcat分别命名为8000,9000

7.修改tomcat8000和tomcat9000的配置文件

tomcat配置文件的路径

tomcat8000/conf/server.xml

上面是tomcat8000需要修改的内容,set nu命令可显示左侧行数

如果是生产环境,一个机器上肯定不会部署两个tomcat,所以肯定不需要修改这些东西。

 tomcat9000/conf/server.xml

 上图为9000要修改的东西,关闭端口(跟tomcat8000不冲突就行)

 提供服务的端口(跟tomcat8000不冲突就行)

Ajp端口改为8010(跟tomcat8000不冲突就行) 

8.修改tomcat8000和tomcat9000默认打开项目主界面的内容

我们要修改  tomcat8000/webapps/ROOT/index.jsp     和
                    tomcat9000/webapps/ROOT/index.jsp

访问tomcat8000和tomcat9000项目,例如访问http://192.168.11.10:8000
或者访问http://192.168.11.10:9000,他们事实上访问的都是tomcat的webapps
目录下的ROOT目录下的index.jsp


如果我们不改一下这个文件,等下nginx实现tomcat集群之后,我们就不能从界面上看出来发往nginx的请求到底转发到了8000上还是9000上。

当然,如果是正式服务器,肯定需要访问的项目一模一样。

tomcat9000同上

9,修改nginx配置文件 

nginx的主配置文件是/etc/nginx/nginx.conf

      这个文件包含/etc/nginx/conf.d目录下所有以conf结尾的文件。

所以我们直接修改/etc/nginx/config.d/default.conf文件就可以了

upstream aaa{
    server 192.168.139.10:8000;
    server 192.168.139.10:9000;
}
server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_pass http://aaa;
    }

9.1 轮询(默认)

P9就是轮询(上面)

默认的负载均衡策略。
按请求访问顺序,轮询给所有服务器分配请求。

9.2 权重

 9.3 IP_HASH

对来访问的服务器的IP进行hash运算,hash运算会有一个固定的结果,结果是哪个服务器,以后如果IP不变就永远访问这一个服务器。

这种方式是解决分布式登录校验问题的一种思路,但是这种方式并不好,因为,一个局域网对外的IP是一样的,如果一个局域网内有200台机器,这200机器都去访问nginx,那最终这些请求都会落到一台机器上,性能较低。

10,启动tomcat8000和tomcat9000,保证windows浏览器能直接通过IP和端口访问

10.1 测试权重,轮询等要重启Nginx!!!

systemctl restart nginx

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值