nginx从安装到使用~

本文详细介绍了Nginx的安装过程,包括依赖安装、下载、编译和验证。接着讲解了Nginx的常用命令以及如何配置反向代理,通过实例展示了如何将请求路由到不同的Tomcat服务器。此外,还探讨了Nginx的负载均衡配置,以及如何实现主备模式,确保高可用性。最后提到了Keepalived在主备模式中的应用。

nginx 是什么?

Nginx是一个web服务器和方向代理服务器,用于HTTPHTTPSSMTPPOP3IMAP协议。

nginx的安装

1、首先需要安装需要的依赖

apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
sudo apt-get install openssl 
sudo apt-get install libssl-dev

2、到官网下载安装包

http://nginx.org/download/ 版本没有深入研究~

cd /usr/local

mkdir nginx

cd nginx

wget http://nginx.org/download/nginx-1.13.7.tar.gz

tar -xvf nginx-1.13.7.tar.gz

3、编译nginx

# 进入nginx目录

cd /usr/local/nginx/nginx-1.13.7

 ./configure

make

make &&make install

4、验证是否安装成功

输入 ./nginx -v 

输出显示:nginx version: nginx/1.20.1 表示安装成功。

或者 输入 ./nginx

到浏览器输入ip地址出现这个界面,表示成功。

nginx 的常用命令

cd /usr/local/nginx/nginx-1.13.7

启动 nginx  ./nginx 

停止 nginx ./nginx -s stop

重启 nginx ./nginx -s reload

nginx 的使用方法

nginx 反向代理

在这里我们使用一个例子来说明,我们安装一下tomcat服务器,tomcat 服务器的安装方法:

tomcat 服务器需要安装需要java环境,具体参见上一篇博客。

tomcat 安装包的网址为 : https://tomcat.apache.org/download-80.cgi,选择加深部分下载。
tomcat 里面conf/server.xml配置文件需要修改一下。

分别准备两个文件夹

8080 和 8081

8080 文件夹下配置默认即可。

8081 文件夹下修改一下conf/server.xml。

修改三个地方:

<Server port="8015" shutdown="SHUTDOWN"> 由8005 改成 8015

<Connector port="8081" protocol="HTTP/1.1"  由8080改成8081

<Connector protocol="AJP/1.3"
               address="::1"
               port="8019"
               redirectPort="8443" /> 由8009改成8019

 

下载完成后拷贝到一个路径下。

sudo cp apache-tomcat-8.5.31.tar.gz /usr/local/

解压安装。运行bin下面的./startup.sh tomcat 服务就开启了。

我们在网址输入IP:8080 就可以访问到tomcat服务器,这里8080好像是tomcat 服务器默认的网址。注意:我们需要查看防火墙开发的端口 ,通过firewall-cmd --list-all 这个命令。

设置开放端口

firewall-cmd --add-port=8030/tcp --permanent

重启防火墙

firewall-cmd --reload

关闭防火墙端口

firewall-cmd --remove-port=8080/tcp --permanent

现在回到反向代理,方向代理的设置主要是修改配置文件。

方法修改配置文件

cd /usr/local/nginx/nginx-1.13.7/conf

路径下包含 nginx.conf

打开nginx.conf 文件,vim nginx.conf

nginx.conf 包括三部分内容,分别是全局块(红色),主要影响服务器整体运行的指令。

events块(绿色) 主要影响nginx 服务器与网络用户的连接。

http块(蓝色) nginx 配置最频繁的块,包括反向代理、负载均衡、动静分离、主备等~

这部分包含http全局块和server块。

nginx配置实例1-反向代理1 -输入192.168.33.91即可访问127.0.0.1:8080启动的服务。

 在http 块当中添加server 块,写法如下:

server {
        listen       80;
        server_name  192.168.33.91;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

       location / {
            root   html;
            proxy_pass http://127.0.0.1:8080;
            index  index.html index.htm;
       }

}

nginx配置实例1-反向代理2-输入192.168.33.91:9001 即可访问127.0.0.1:8080/edu下面的网页或者是127.0.0.1:8081/vod 下面的网页。

 在http 块当中添加server 块,写法如下:
    server {
        listen       9001;
        server_name  192.168.33.91;

        location ~ /edu/ {
            proxy_pass http://127.0.0.1:8080;
        }
        location ~ /vod/ { 
             proxy_pass http://127.0.0.1:8081;
    }  
 }

nginx-配置实例2-负载均衡

upstream myserver{
        #ip_hash;
        server  192.168.33.91:8081;
        server  192.168.33.91:8080;
     }
    server {
        listen       80;
        server_name  192.168.33.91;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            #root   html;
            proxy_pass http://myserver;
            #proxy_connect_timeout 20;
            index  index.html index.htm;
        }

}

nginx-配置实例3-主备模式-主服务器挂点之后,备服务器可以使用

步骤1:安装keepalived

sudo apt install keepalived

在 /etc 下面 会自动生成keepalived文件夹,自己编写keepalived.conf 即可。

步骤2 :准备两台服务器,一台主服务器,一台备用服务器。 

分别安装 nginx 和 keepalived

主服务器的配置,从服务器的配置黄色部分不一样,其他一样。

global_defs {
    notification_email {
    acassen@firewall.loc
    failover@firewall.loc
    sysadmin@firewall.loc
    }
    notification_email_from Alexandre.Cassen@firewall.loc
    smtp_server 192.168.33.92  #ip地址
    smtp_connect_timeout 30
    router_id LVS_DEVEL
}
vrrp_script chk_http_port {

      script "/usr/local/src/nginx_check.sh" # 检测脚本

      interval 2 #检测脚本间隔的时间

      weight 2

}

vrrp_instance VI_1 {
       state MASTER   #备份服务器上将 MASTER 改为 BACKUP
       interface ens3  #网卡
       virtual_router_id 51 #主、备机的virtual_router_id 必须相同
       priority 100  #101为“主”,100为“从”
       advert int 1
       authentication {
            auth_type PASS
            auth_pass 1111
       }
       virtual_ipaddress {
          192.168.17.50   #对外虚拟IP    
       }
}

步骤3 在 /usr/local/src/nginx_check.sh

nginx_check.sh 用来检测主服务器是否挂掉,主服务器挂掉,启动从服务器。

#!/bin/bash
A= `ps -C nginx -no-header |wc -l`
if [ $A -eq 0];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l`  -eq 0  ];then
          killall keepalived
    fi
fi

步骤4 

启动 nginx

启动 keepalived                          采用命令systemctl start keepalived

步骤5 浏览器输入虚拟ip 即可访问。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值