Nginx基础篇-Nginx Proxy实验过程

Nginx基础篇-Nginx Proxy实验过程

本次实验一台采用编译安装得模式具体安装模式如下
源码编译安装nginx

1、安装gcc环境

编译时依赖gcc环境

yum -y install gcc gcc-c++ autoconf automake make

2、安装 pcre

提供nginx支持重写功能

yum -y install pcre pcre-devel

3、安装zlib

zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩

yum -y install zlib zlib-devel make libtool

4、安装openssl

安全套接字层密码库,用于通信加密

yum -y install openssl openssl-devel

nginx 安装
手动创建用户和用户组

groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

官网下载nginx源码包
wget https://nginx.org/download/nginx-1.23.1.tar.gz

解压

tar -zxvf nginx-1.20.2.tar.gz

cd nginx-1.20.2
#检查平台安装环境
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx
参数说明:
–prefix=/usr/local/nginx
#编译安装目录
–user=nginx
#所属用户nginx
–group=nginx
#所属组nginx
–with-http_stub_status_module
#该模块提供nginx的基本状态信息
–with-http_ssl_module

编译源码并安装

make			# 编译
make install  		# 安装

ningx操作
启动服务
/usr/local/nginx/sbin/nginx
重新加载服务
/usr/local/nginx/sbin/nginx -s reload
停止服务
/usr/local/nginx/sbin/nginx -s stop
nginx版本信息查看
/usr/local/nginx/sbin/nginx -V

nginx服务化配置

配置服务文件

vi /lib/systemd/system/nginx.service

配置信息

[Unit]
Description=nginx 
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

配置服务化后得启动

systemctl start nginx
systemctl status nginx
systemctl stop nginx
systemctl enable nginx

另外一台位yum安装得方式
yum -y install nginx

实验过程:
1 nginx-1 启动网站(内容)
nginx-1的IP:192.168.159.136
2 nginx-2 启动代理程序
nginx-2的IP:192.168.159.130

    location / {
.....
proxy_pass http://192.168.100.10:80;
proxy_redirect default;

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;

proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;
    }

配置含义

proxy_pass :真实服务器
proxy_redirect :如果真实服务器使用的是的真是IP:非默认端口。则改成IP:默认端口。
proxy_set_header:重新定义或者添加发往后端服务器的请求头
proxy_set_header X-Real-IP :启用客户端真实地址(否则日志中显示的是代理在访问网站)
proxy_set_header X-Forwarded-For:记录代理地址

proxy_connect_timeout::后端服务器连接的超时时间_发起三次握手等候响应超时时间
proxy_send_timeout:后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
proxy_read_timeout :nginx接收upstream(上游/真实) server数据超时, 默认60s, 如果连续的60s内没有收到1个字节, 连接关闭。像长连接

proxy_buffering on;开启缓存
proxy_buffer_size:proxy_buffer_size只是响应头的缓冲区
proxy_buffers 4 128k; 内容缓冲区域大小
proxy_busy_buffers_size 256k; 从proxy_buffers划出一部分缓冲区来专门向客户端传送数据的地方
proxy_max_temp_file_size 256k;超大的响应头存储成文件。

使用PC客户端访问nginx-2服务器地址
浏览器中输入http://192.168.159.130
成功访问nginx-1服务器页面

观察nginx-1服务器的日志
192.168.159.130 - - [08/Oct/2022:14:57:46 +0800] “GET /favicon.ico HTTP/1.0” 404 555 “http://192.168.159.130/” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36” “192.168.159.1”

192.168.159.130 代理服务器地址
192.168.159.1 客户机地址。

实验成功。nginx代理服务器

你可能感兴趣的:(Nginx,Nginx学习,nginx,运维,服务器)