未登录

信蚁社区 通行证

搜索
热搜: 统信UOS 麒麟
查看: 110|回复: 0

[关于麒麟] Kylin麒麟操作系统 | Nginx服务部署

[复制链接]

103

主题

4

回帖

339

积分

实习版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
339

最佳新人灌水之王优秀版主

发表于 2025-4-19 14:14:16 | 显示全部楼层 |阅读模式
目录

    一、理论储备
      1. Nginx概述 2. Nginx与Apache的区别 3. Nginx的服务配置
    二、任务实施
      任务1 Nginx的编译安装
        1. Server配置 2. 客户端测试
      任务2 Nginx反向代理
        1. Server1配置 2. Server2配置 3. 客户端测试



一、理论储备

1. Nginx概述

Nginx是一个轻量级的web服务器,相比apache来说资源消耗更低。支持高并发的web服务和反向代理服务,支持基于IMAP/POP3/SMTP协议的邮件服务。同时也支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等模块功能。并且支持很多第三方的模块扩展。
Nginx主进程/工作进程
    一个主进程master:负载加载和分析配置文件、管理工作进程、平滑升级 多个工作进程worker:处理并响应用户请求
2. Nginx与Apache的区别

静态文件处理能力:Nginx高于Apache
资源消耗:Nginx优于Apache,以为Nginx是异步非阻塞处理模型,只需要几个进程就能够处理大量在线请求,而Apache仍然是进程模型或线程模型,也就是采用大量线程来处理大量在线请求。
    Nginx支持IO多路复用实现进程高并发,高效处理客户端请求 Apache支持的模块很多而且也比较稳定。而Nginx因为出现时间比较晚,比不上Apache Nginx自身就是一个反向代理服务器,支持七层负载均衡 Nginx处理动态页面比不上Apache,一般只用于处理静态页面和反向代理
3. Nginx的服务配置

在光盘镜像中默认是不存在nginx的安装包的,需要采取编译安装或者下载对应的安装包
    主配置文件:/etc/nginx/nginx.conf 源码安装配置目录 :/usr/local/nginx/conf/ 相关的配置文件:fastcgi、uwsgi、scgi 支持的mime类型:mime.types Nginx的主程序文件(基于源码安装):/usr/local/nginx/sbin/nginx
Nginx的主配置文件文件结构
    main block字段:全局配置信息 events字段:服务程序性能参数、事件驱动相关配置 http字段:配置网站访问参数、http/https 协议的相关配置 server字段:针对网站配置参数 location字段:站点目录相关配置 stream字段:一般的TCP代理或负载均衡配置
正常运行必备的配置参数
    user xxx:定义启动nginx工作进程的用户 PID /xx/xx/xx:指定存储nginx主进程的进程号码的文件路径 include xxx:指明包含进来的其它配置文件片段 load_module xxx:指明要装载的动态模块
性能优化的相关配置参数
    worker_processes xxx:work进程数量(默认为1),根据服务器的CUP数量设定,最大不超过CPU数量的2倍 worker_cpu_affinity xxx:worker与CPU进行绑定,做nginx服务器可以使用此配,如果存在其它只要程序不建议使用 worker_priority xxx:指定worker进程的nice值,设定worker进程优先级 worker_rlimit_nofile xxx:worker进程所能够打开的文件数量上限
调试、定位相关配置参数
    daemon on|off:是否以守护进程方式运行Nginx master_process on|off:是否以master/worker模型运行Nginx(默认为on) error_log file:错误日志记录
二、任务实施

任务1 Nginx的编译安装

节点设计
主机网络信息作用
Server192.168.110.1/24Nginx服务器
Client192.168.110.10/24测试客户端
1. Server配置

[Step1]: 尝试使用yum进行安装nginx
  1. yum install-y nginx
复制代码
Kylin麒麟操作系统 | Nginx服务部署-1.png


[Step2]: 下载源码包软件
  1. wget http://nginx.org/download/nginx-1.20.1.tar.gz
复制代码
Kylin麒麟操作系统 | Nginx服务部署-2.png


[Step3]: 安装nginx依赖,默认已经安装
  1. yum -yinstall pcre-devel zlib-devel openssl-devel
复制代码
Kylin麒麟操作系统 | Nginx服务部署-3.png


[Step4]: 解压源码包,进入解压目录下
  1. tar-xf nginx-1.20.1.tar.gz
  2. cd nginx-1.20.1
复制代码
Kylin麒麟操作系统 | Nginx服务部署-4.png


[Step5]: 执行configure,指定安装目录,生成Makefile文件
  1. ./configure --prefix=/usr/local/nginx
复制代码
    –prefix=/usr/local/nginx:指定nginx的安装路径,指定的目录无需手动创建

    Kylin麒麟操作系统 | Nginx服务部署-5.png


[Step6]: 编译安装的过程如果过慢了,可以适当给虚拟机的CPU核心数增加一点
  1. make&&makeinstall
复制代码
Kylin麒麟操作系统 | Nginx服务部署-6.png


[Step7]: 启动nginx,查看监听端口
  1. /usr/local/nginx/sbin/nginx                                # 启动nginx
  2. ss -ntlp|grep nginx                # 查看nginx的监听端口
复制代码
Kylin麒麟操作系统 | Nginx服务部署-7.png


[Step8]: 关闭SELinux,调整防火墙策略
  1. firewall-cmd --add-service=http --permanent
  2. firewall-cmd --reloadsed-i's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  3. setenforce 0
复制代码
2. 客户端测试

[Step1]: 客户端访问Nginx测试页
Kylin麒麟操作系统 | Nginx服务部署-8.png


任务2 Nginx反向代理

    在Server1和Server2上通过编译安装Nginx 在Server1上部署反向代理,将请求转发至Server2
节点设计
主机网络信息作用
Server1192.168.110.1/24Nginx代理
Server2192.168.110.2/24Web服务器
Client192.168.110.10/24测试客户端
1. Server1配置

Server1在上述步骤中已经安装过Nginx
[Step1]: 修改服务配置文件
  1. vim /usr/local/nginx/conf/nginx.conf
  2. # 在localtion字段中添加下列内容
  3. proxy_pass http://192.168.110.2:80;# 将接收到的请求转发192.168.110.2上的80端口
  4. proxy_set_header Host $host;# 设置转发请求时携带的Host请求头。$host变量表示原始请求中的Host头字段值,这通常是请求的目标主机名,在浏览器中会显示请求端口
  5. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 后端Web服务器可以获取请求客户端的真实IP地址
复制代码
Kylin麒麟操作系统 | Nginx服务部署-9.png


[Step2]: 校验配置文件语法
  1. /usr/local/nginx/sbin/nginx -t
复制代码
Kylin麒麟操作系统 | Nginx服务部署-10.png


[Step3]: 在不中断服务的前提下,重启加载配置文件内容
  1. /usr/local/nginx/sbin/nginx -s reload
复制代码
2. Server2配置

[Step1]: 利用scp从Server1上下载Nginx源码包
  1. scp root@192.168.110.1:/root/nginx-1.20.1.tar.gz .
复制代码
Kylin麒麟操作系统 | Nginx服务部署-11.png


[Step2]: 将Nginx源码包解压缩,然后进入解压目录下
  1. tar-xf nginx-1.20.1.tar.gz
  2. cd nginx-1.20.1/
复制代码
[Step3]: 执行configure,指定安装目录,生成Makefile文件
  1. ./configure --prefix=/usr/local/nginx
复制代码
[Step4]: 编译安装
  1. make&&makeinstall
复制代码
[Step5]: 启动nginx,查看监听端口
  1. /usr/local/nginx/sbin/nginx
  2. ss -tlup|grep nginx
复制代码
[Step6]: 增加索引页
  1. echo Kylin2024 > /usr/local/nginx/html/index.html
复制代码
[Step7]: 关闭SELinux,调整防火墙策略
  1. firewall-cmd --add-service=http --permanent
  2. firewall-cmd --reloadsed-i's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  3. setenforce 0
复制代码
3. 客户端测试

[Step1]: 客户端访问Nginx测试页,可以看到访问的IP地址为Server1,但是已经被转发到Server2上
Kylin麒麟操作系统 | Nginx服务部署-12.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表