IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Nginx配置反向代理 -> 正文阅读

[系统运维]Nginx配置反向代理


前言

在这里插入图片描述

??Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
??Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

??其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。


Nginx部署

??Nginx部署有两种方式,分别是yum安装与二进制部署。使用yum部署的优势是方便快捷,但是大多数时候,设备是不允许直接连接网路的,这意味对于一个成熟的运维来说,二进制安装反而成了唯一的选择。
??但是在这里,博主两种安装部署的方式都会讲,这并不是什么很困难的事情,尤其是对于有一定基础的运维来说。
??想必需要部署Nginx的运维工程师,也掌握了前置的基础。这里也就不对那些过于基础的东西进行细说。

二进制安装

安装基础环境

sudo yum install -y wget
sudo yum install -y vim
sudo yum install -y make cmake gcc gcc-c++

下载Nginx二进制包

sudo wget http://nginx.org/download/nginx-1.9.9.tar.gz
--2022-09-29 08:10:48--  http://nginx.org/download/nginx-1.9.9.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5702::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 887908 (867K) [application/octet-stream]
Saving to: ‘nginx-1.9.9.tar.gz.1’

100%[============================================================================================>] 887,908      397KB/s   in 2.2s

2022-09-29 08:10:51 (397 KB/s) - ‘nginx-1.9.9.tar.gz.1’ saved [887908/887908]

解压二进制包到/usr/local/目录下

sudo tar -zxvf nginx-1.9.9.tar.gz -C /usr/local/

安装依赖环境

sudo yum install -y pcre pcre-devel
sudo yum install -y zlib zlib-devel
sudo yum install -y openssl openssl-devel

进行configure配置

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

编译安装

sudo make -j4 && make install

启动Nginx

/usr/local/nginx/sbin/nginx

检查Nginx服务状态

sudo ps -ef | grep nginx
root     116665      1  0 08:18 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   116666 116665  0 08:18 ?        00:00:00 nginx: worker process

当看到服务的进程已经起来,说明Nginx服务以及安装完成了。
在这里插入图片描述
可以访问到Nginx的主页。

yum安装Nginx

这里使用的是kali,也可以认为一般的Ubuntu也是按照这种方法安装。

更新源

sudo apt-get update

安装nginx

sudo apt-get install -y nginx

启动Nginx

sudo systemctl start nginx

查看Nginx服务状态

sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; disabled; preset: disabled)
     Active: active (running) since Thu 2022-09-29 20:23:40 CST; 50s ago
       Docs: man:nginx(8)
    Process: 1384 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 1385 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 1386 (nginx)
      Tasks: 3 (limit: 4586)
     Memory: 7.2M
        CPU: 30ms
     CGroup: /system.slice/nginx.service
             ├─1386 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ├─1387 "nginx: worker process"
             └─1388 "nginx: worker process"

929 20:23:40 kali systemd[1]: Starting A high performance web server and a reverse proxy server...
929 20:23:40 kali systemd[1]: Started A high performance web server and a reverse proxy server.

访问
在这里插入图片描述

可以看到Nginx服务状态正常,如果Nginx服务状态异常,可以查看日志。


Nginx配置反向代理

二进制安装的和系统安装的Nginx都是同一种配置方式,只是配置文件所在的地方不同。二进制安装的Nginx配置文件在安装目录下的conf目录下。
写一个测试页面在主机2

<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <title>TEST</title>
        </head>
        <body>
                <H1>TEST</H1>
        </body>
</html>

访问如下
在这里插入图片描述

修改主机1的Nginx服务配置文件nginx.conf

cd /usr/local/nginx/conf/
vim nginx.conf

需要修改的地方很少,但是如果定制的话需要修改的地方就比较多了。

location / {
            root   html;
            proxy_pass http://192.168.1.122:80;
            index  index.html index.htm;
        }

重新热加载Nginx服务

/usr/local/nginx/sbin/nginx -s reload

访问主机1
在这里插入图片描述
可以看到,访问主机1也是显示主机2的页面了。
查看主机2的访问日志
主机2启动的apache2服务

cd /var/log/apache2
tail -n 10 access.log
192.168.1.23 - - [29/Sep/2022:21:16:52 +0800] "GET / HTTP/1.1" 200 445 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
192.168.1.23 - - [29/Sep/2022:21:16:52 +0800] "GET /favicon.ico HTTP/1.1" 404 491 "http://192.168.1.122/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
192.168.1.23 - - [29/Sep/2022:21:17:43 +0800] "-" 408 0 "-" "-"
192.168.1.23 - - [29/Sep/2022:21:17:43 +0800] "-" 408 0 "-" "-"
192.168.1.120 - - [29/Sep/2022:21:20:13 +0800] "GET / HTTP/1.0" 200 408 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
192.168.1.120 - - [29/Sep/2022:21:20:13 +0800] "GET /favicon.ico HTTP/1.0" 404 455 "http://192.168.1.120/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
192.168.1.120 - - [29/Sep/2022:21:20:17 +0800] "GET / HTTP/1.0" 200 408 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62"

可以看到,同样是浏览器访问,原本是本机访问,但是后面变成了主机1访问,这就是反向代理。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 21:17:28  更:2022-10-08 21:20:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/19 10:11:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码