Kylin麒麟操作系统 | Nginx服务部署

一、理论储备

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的主配置文件文件结构

  1. main block字段:全局配置信息
  2. events字段:服务程序性能参数、事件驱动相关配置
  3. http字段:配置网站访问参数、http/https 协议的相关配置
  4. server字段:针对网站配置参数
  5. location字段:站点目录相关配置
  6. 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

yum install -y nginx

在这里插入图片描述

[Step2]: 下载源码包软件

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

在这里插入图片描述

[Step3]: 安装nginx依赖,默认已经安装

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

在这里插入图片描述

[Step4]: 解压源码包,进入解压目录下

tar -xf nginx-1.20.1.tar.gz
cd nginx-1.20.1

在这里插入图片描述

[Step5]: 执行configure,指定安装目录,生成Makefile文件

./configure --prefix=/usr/local/nginx
  • –prefix=/usr/local/nginx:指定nginx的安装路径,指定的目录无需手动创建
    在这里插入图片描述

[Step6]: 编译安装的过程如果过慢了,可以适当给虚拟机的CPU核心数增加一点

make && make install

在这里插入图片描述

[Step7]: 启动nginx,查看监听端口

/usr/local/nginx/sbin/nginx				# 启动nginx
ss -ntlp | grep nginx		# 查看nginx的监听端口

在这里插入图片描述

[Step8]: 关闭SELinux,调整防火墙策略

firewall-cmd --add-service=http --permanent
firewall-cmd --reload
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

2. 客户端测试

[Step1]: 客户端访问Nginx测试页

在这里插入图片描述

任务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]: 修改服务配置文件

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

# 在localtion字段中添加下列内容
proxy_pass http://192.168.110.2:80;		# 将接收到的请求转发192.168.110.2上的80端口
proxy_set_header Host $host;
# 设置转发请求时携带的Host请求头。$host变量表示原始请求中的Host头字段值,这通常是请求的目标主机名,在浏览器中会显示请求端口
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 后端Web服务器可以获取请求客户端的真实IP地址

在这里插入图片描述

[Step2]: 校验配置文件语法

/usr/local/nginx/sbin/nginx -t

在这里插入图片描述

[Step3]: 在不中断服务的前提下,重启加载配置文件内容

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

2. Server2配置

[Step1]: 利用scp从Server1上下载Nginx源码包

scp root@192.168.110.1:/root/nginx-1.20.1.tar.gz .

在这里插入图片描述

[Step2]: 将Nginx源码包解压缩,然后进入解压目录下

tar -xf nginx-1.20.1.tar.gz
cd nginx-1.20.1/

[Step3]: 执行configure,指定安装目录,生成Makefile文件

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

[Step4]: 编译安装

make && make install 

[Step5]: 启动nginx,查看监听端口

/usr/local/nginx/sbin/nginx 
ss -tlup | grep nginx

[Step6]: 增加索引页

echo Kylin2024 > /usr/local/nginx/html/index.html

[Step7]: 关闭SELinux,调整防火墙策略

firewall-cmd --add-service=http --permanent
firewall-cmd --reload
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

3. 客户端测试

[Step1]: 客户端访问Nginx测试页,可以看到访问的IP地址为Server1,但是已经被转发到Server2上

在这里插入图片描述

### NGINX麒麟操作系统中的安装与配置 #### 1. 配置YUM源 为了确保能够顺利通过YUM包管理器获取NGINX软件及其依赖项,需先完成YUM源的配置。如果当前环境具备网络连接,则可以直接使用官方在线仓库;对于无网络环境下,可以挂载ISO镜像作为本地仓库。 针对银河麒麟V10系统,可以通过编辑`/etc/yum.repos.d/kylin_x86_64.repo`文件实现自定义设置[^5]: ```bash [ks10-adv-os] name=Kylin Linux Advanced Server 10 - Os baseurl=file:///mnt/cdrom gpgcheck=0 enabled=1 ``` 随后执行清理缓存命令以更新索引: ```bash yum clean all && yum makecache ``` #### 2. 安装NGINX服务 当YUM源准备就绪之后,即可利用如下指令来完成NGINX程序的安装操作[^2]: ```bash yum install -y nginx ``` 此过程会自动解析并下载所需的所有组件至目标主机之中。 #### 3. 启动及验证NGINX状态 一旦安装结束,应当立即激活该服务以便测试其基本功能是否正常运作。具体方法如下所示: 启动服务: ```bash systemctl start nginx.service ``` 查询运行状况: ```bash systemctl status nginx.service ``` 上述输出应显示绿色“active (running)”字样表示一切良好。 #### 4. 修改默认配置(可选) 依据实际需求调整站点根目录路径或者监听端口号等内容时,需要打开主配置文档位置通常位于/etc/nginx/nginx.conf下进行编辑处理[^4]。例如更改HTTP访问地址为非标准80端口: ```nginx server { listen 8080; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } } ``` 保存退出后再重启生效: ```bash systemctl restart nginx ``` --- ### 注意事项 - 若处于完全隔离环境中无法联网的情况下,请参照离线方式手动拷贝对应RPM包到服务器再单独实施rpm -ivh *.rpm批量装载流程[^3]^。 - 对于防火墙开启场景记得开放相应TCP通信规则以免外部请求被拦截拒绝掉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meaauf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值