nginx从安装到使用~

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 即可访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值