首页 > 系统相关 >Nginx arm编译安装

Nginx arm编译安装

时间:2023-07-16 09:15:10浏览次数:27  
标签:opt 编译 ssl nginx -- module Nginx http arm

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 

标签:opt,编译,ssl,nginx,--,module,Nginx,http,arm
From: https://www.cnblogs.com/jinanxiaolaohu/p/17557389.html

相关文章

  • Nginx双层域名时 iframe嵌入/跳转页面的处理过程
    Nginx双层域名时iframe嵌入/跳转页面的处理过程背景两年前在上一家公司内遇到一个Nginx的问题当时的场景是双层nginx代理时(一层域名侧,一层拆分微服务的网关层)程序里面会打开一个嵌套的iframe,便于进行缩放.但是此时因为只能就近获取第二层反向代理的upstream的域......
  • [HCTF 2018]WarmUp
    [HCTF2018]WarmUp题目来源:buuctf题目类型:Web设计考点:PHP代码审计、文件包含1.题目上来只有一张滑稽图片,查看源代码,发现有source.php文件2.我们进入source.php,可以看到如下代码:<?phphighlight_file(__FILE__);classemmm{publicstaticfunction......
  • nginx部署静态网页
    一、下载运行进入nginx官网下载页面:nginx下载地址,下载稳定版本 运行方式一:nginx下载目录双击允许nginx.exe运行方式二:nginx命令行启动,在下载目录地址栏输入cmd,输入startnginx任务管理器出现nginx.exe表示启动成功二、常用命令nginx-ssignal当信号可以是下列之一:......
  • Pycharm基础
    Pycharm基础1.添加解释器2.安装包的两种方式3.插件汉化插件以及一种使各分层括号颜色一致的插件......
  • python脚本编译成可执行文件
    如何将Python脚本编译成可执行文件作为一名经验丰富的开发者,你可能会遇到将Python脚本转换为可执行文件的需求。这样做的好处是可以在没有Python解释器的情况下运行脚本,并将脚本与其他人共享,而无需让他们安装Python解释器。下面是一份关于如何实现这个过程的指南。整个流程首先,......
  • Windows子系统Ubuntu或虚拟机Ubuntu通过编译源码的方式安装wine8.0.1
    wine源码编译安装下载源码源码链接为:wine源码本文以8.1.1版本为例,下载的源码包为:wine-8.11.tar.xz拷贝包到Ubuntu使用xftp或其他工具,将压缩包拷贝到ubuntu下的home/$username/目录解包tar-Jxfwine-8.11.tar.xz //xz格式的包或tar-xvfyour_tar_file.tar //tar格式......
  • docker安装nginx
    1.docker下Nginx安装:(web站点配置)  dockerpullnginx--拉取nginx镜像  dockerrun--namenginx-test1-p8081:80-dnginx  dockerps  mkdir-p./nginx/www./nginx/logs./nginx/conf--/root下创建这几个路径  dockercp13afb35cbc98:/e......
  • rofi编译支持中文输入版本
    ###吃饭前先准备筷子```gitclonehttps://github.com/davatorium/rofi.git```根据网上的信息,rofi中文输入主要是依赖xcb-imdkit这个库当然我们是使用源码编译,在他git仓库里面INSTALL.md中显示的所有依赖都是要手动装的我用的是manjaro,这个库可以这样装```yay-S......
  • 关于 ABAP 这门编程语言的编译器和解释器
    大家都知道ABAP是第四代高级语言。但我们有多少人能确定ABAP报表是如何执行的?它有编译器还是解释器,还是两者兼有?其实答案是:在某种程度上,它两者都有。详细说明一下:在ABAP程序执行之前,ABAP编译器必须将其翻译成一种中间语言。这种形式的程序,即以这种中间形式的程序被称为ABAP负载......
  • 编译器和 gdb
    g++-oXXXX.cpp编译-ggdb调试-O2吸氧-pg看函数运行-ftrapv有没有溢出-fsanitize=address看数组有没有越界-pg-ftrapv-fsanitize=address都要运行一遍(./XX)-pg后面还要gprof-b./XX如果越界了,后面两个会给出Aborted直接终止gdb调试gdb(./)XX开始......