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反向代理 输入 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

[转帖]Nginx 40 问~~~

https://zhuanlan.zhihu.com/p/485159477 Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国

生产环境部署Nginx服务器双机热备部署-keepalived(多种模式教程)

前言:今天演示下生产环境keepalived的部署方式,安装模式有很多,比如说主备模型和双主模型,主备分:抢占模式 和 非抢占模式。这里我会一一展开说具体怎么配置 一、双节点均部署Nginx: 第一步:上传安装包到/usr/local/ 第二步:安装编译依赖(使用普通用户需要家sudo) yum i

Nginx SSL证书更新及密码套件更新

一、域名更换证书 ssl证书一般包括证书文件crt、cer、pem、pfx和私钥文件key。 CER、CRT、PEM 和 PFX 是不同的证书文件格式,它们之间存在一些区别: CER (DER 编码) CER 文件是使用 DER 编码的证书文件格式。 CER 文件通常包含单个 X.509 证书。 C