Nginx arm编译安装

nginx,arm,编译,安装 · 浏览次数 : 56

小编点评

## Nginx ARM编译安装背景计划编译一套产品 **主要思想:** * 使用源码编译,可方便快捷地进行nginx的交付。 * 支持arm和x86平台,提升性能。 * 考虑性能,使用pcre正则相关表达式进行check。 **主要涉及的点:** * **编译软件:** * OpenSSL 1.1.1u * zlib 1.2.13 * pcre 8.45 * nginx 1.24.0 * nginx 1.25.1 * **编译参数:** * 针对不同版本的配置,例如nginx 1.25.1 的prefix、sbin路径、pid 文件路径等 * 使用stream、stream_ssl_preread等模块进行配置 * 使用pcre、zlib等库进行正则匹配 * **编译过程:** * 使用make 命令进行编译 * 可选择直接编译或使用虚拟机进行加速测试 **编译时间比较参考:** * Nginx 1.24.0: 约3分钟45秒 * Nginx 1.25.1: 约3分钟53秒 **其他说明:** * 以上编译时间仅供参考,实际编译时间可能因操作系统、编译器版本等因素而有所不同。 * 建议使用虚拟机或本地开发环境进行编译,以确保编译顺利完成。 * 确保安装完nginx后,设置默认页面才能正常访问网站。

正文

Nginx arm编译安装


背景

计划编译一套产品. 能够比较方便快捷的进行 nginx的交付. 

主要思想是源码编译 不仅能够在arm上面运行 也可以在x86上面编译
考虑性能还有一些扩展性. 高效处理. 

主要涉及的点有:
openssl 最新的1.1.1的的版本
zlib 进行压缩, 解压缩的处理. 
pcre 正则相关表达式
check 模块. 
nginx 的stream 以及 stream_ssl_preread_module 等模块.

因为暂时不需要考虑粘性, 所以sticky和ip_hash部分暂时不涉及. 

文件准备

nginx-1.24.0.tar.gz
nginx-1.25.1.tar.gz
nginx_upstream_check_module-0.4.0.tar.gz
openssl-1.1.1u.tar.gz
pcre-8.45.tar.gz
zlib-1.2.13.tar.gz

解压缩准备编译

for i in `ls` ; do tar -zxvf $i ; done

需要先安装一下组件:
yum install -y gcc-c++

配置的处理方式为:
./configure --prefix=/opt/nginx \
--sbin-path=/opt/nginx/nginx \
--conf-path=/opt/nginx/nginx.conf \
--pid-path=/opt/nginx/nginx.pid \
--with-http_stub_status_module  \
--with-http_ssl_module \
--with-http_realip_module  \
--with-http_gzip_static_module  \
--with-stream --with-stream_ssl_module \
--with-stream_ssl_preread_module \
--with-http_ssl_module \
--with-pcre=../pcre-8.45 \
--with-zlib=../zlib-1.2.13 \
--with-openssl=../openssl-1.1.1u \
--add-module=../nginx_upstream_check_module-0.4.0

鲲鹏上面make大约耗时3min45s

其他版本的处理

比如我想编译nginx1.25.1

在同一个目录下面的 进入到  nginx-1.25.1

./configure --prefix=/opt/nginx1.25.1 \
--sbin-path=/opt/nginx1.25.1/nginx \
--conf-path=/opt/nginx1.25.1/nginx.conf \
--pid-path=/opt/nginx1.25.1/nginx.pid \
--with-http_stub_status_module  \
--with-http_ssl_module \
--with-http_realip_module  \
--with-http_gzip_static_module  \
--with-stream --with-stream_ssl_module \
--with-stream_ssl_preread_module \
--with-http_ssl_module \
--with-pcre=../pcre-8.45 \
--with-zlib=../zlib-1.2.13 \
--with-openssl=../openssl-1.1.1u \
--add-module=../nginx_upstream_check_module-0.4.0

# 直接make和make install 就可以了. 
耗时3min53s

可以直接上海光进行验证

发现 航芯院的海光make速度长达十分钟. 
是鲲鹏ARM 编译速度的 2.5倍. 

华云的安超云OS 的虚拟化水平应该比华为云的虚拟化要虚弱不少.

设置默认页面

很多产品里面 默认会有一个默认页面. 
让大家登录或者是注册. 
如果没有设置, 那么进入域名或者是其他地方,可能就会提示 404 或者是nginx的欢迎页面了

最简单的方式其实有两种:
1. 直接将登录注册界面设置到 = / 的location的proxy_pass配置节中. 
2. 新增一个html 页面, 也是使用 = / 进行 root 设置 index.html 设置, 可以点击勾选跳转到不同的url 

与Nginx arm编译安装相似的内容:

Nginx arm编译安装

# Nginx arm编译安装 ## 背景 ``` 计划编译一套产品. 能够比较方便快捷的进行 nginx的交付. 主要思想是源码编译 不仅能够在arm上面运行 也可以在x86上面编译 考虑性能还有一些扩展性. 高效处理. 主要涉及的点有: openssl 最新的1.1.1的的版本 zlib 进行压

TCP内核参数与Nginx配置的简单测试

背景 昨天晚上整理了下几个TCP内核的参数. 学习到了一点内核参数的影响. 但是因为时间比较晚了没有继续钻研与nginx的关系 今天想着继续研究一下TCP的部分参数与nginx的关系 每个系统都不一样. 结果可能跟内核版本和内核参数强相关. 我这里用的是基于ARM的银河麒麟 还有基于x86的Open

Nginx 高性能架构解析

本文详细探讨了Nginx的反向代理、负载均衡和性能优化技术,包括配置优化、系统优化、缓存机制和高并发处理策略,旨在帮助专业从业者深入理解并有效应用Nginx。 关注TechLead,复旦博士,分享云服务领域全维度开发技术。拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,复旦机器人智能实验

Nginx性能调优5招35式不可不知的策略实战

Nginx是一个高性能的HTTP和反向代理服务器,它在全球范围内被广泛使用,因其高性能、稳定性、丰富的功能以及低资源消耗而受到青睐。今天V哥从5个方面来介绍 Nginx 性能调优的具体策略,希望对兄弟们有帮助,废话不多说,马上开整。 1. 系统层面: 调整内核参数:例如,增加系统文件描述符的限制、T

Nginx负载配置

目录Nginx 负载均衡笔记1. 概述1.1 Nginx 简介1.2 负载均衡概述2. 四层负载均衡(传输层)2.1 工作原理2.2 特点2.3 优缺点优点缺点2.4 示例场景3. 七层负载均衡(应用层)3.1 工作原理3.2 特点3.3 优缺点优点缺点3.4 示例场景4. Nginx 调度算法4.

中间件-Nginx

一、nginx反向代理 输入 http://xxx.com/plat/login 跳转: http://localhost:8383/plat/login 将某个指定的域名代理到指定的服务 http://xxx.com 转 http://localhost:8383 1.修改hosts文件 C:\W

Nginx配置以及热升级

目录Nginx详解1. Nginx关键特性2. Nginx配置2.1 event2.2 http2.2.1 log_format2.2.2 sendfile2.2.3 tcp_nopush2.2.4 tcp_nodelay2.2.5 keepalive_timeout2.2.6 include2.2

【Nginx】负载均衡

Nginx作为负载均衡器,通过将请求分发到多个后端服务器,以提高性能、可靠性和扩展性。支持多种负载均衡算法,如轮询、最小连接数、IP哈希等,可以根据需求选择适合的算法。

一次nginx文件打开数的问题排查处理

现象:nginx域名配置合并之后,发现consul-template无法完成nginx重载,然后发现需要重启nginx,才能让配置生效。 注意:下次哪个服务有报错,就看重启时所有日志输出,各种情况日志输出。不要忽略细节。很多时候其实已经看到了问题,却没有深入查看问题。 查看进程最大打开文件个数 #c

nginx

> 博客地址:https://www.cnblogs.com/zylyehuo/ # 安装、初始化 nginx ## tips ```bash 如果想删除编译安装的软件: 1,清空PATH 2,删除文件夹即可 ``` ## 1.编译软件之前,需要解决系统的开发环境 ```bash yum insta