Linux学习之Ubuntu 20.04在github下载源码安装Openresty 1.19.3.1

news2024/9/28 15:32:51

参考的博文:《在 Ubuntu 上使用源码安装 OpenResty》
《OpenResty 安装安装详解-Ubuntu》
《Linux学习之CentOS 7源码安装openresty》

https://openresty.org/en/download.html是官网下载网址,页面往下拉有下载的链接。
在这里插入图片描述

https://github.com/openresty/openresty是github上的链接。
在这里插入图片描述
可以点击上图中tags进入有不同版本的页面。
在这里插入图片描述

sudo cat /etc/issue可以看到操作系统的版本是Ubuntu 20.04.4 LTSsudo lsb_release -r可以看到版本是20.04sudo uname -r可以看到内核版本是5.5.19sudo make -v可以看到版本是GNU Make 4.2.1
在这里插入图片描述

sudo apt-get install -y libpcre3-dev libssl-dev perl build-essential curl zlib1g-dev libreadline-dev libncurses5-dev libpcre3-dev安装依赖包。
在这里插入图片描述

安装完成之后如下:
在这里插入图片描述

sudo wget https://github.com/openresty/openresty/archive/refs/tags/v1.19.3.1.tar.gz下载源码压缩包。
在这里插入图片描述

sudo mkdir /openrestycode新建一个/openrestycode放置解压出来的源码。
在这里插入图片描述
sudo tar zxf v1.19.3.1.tar.gz -C /openrestycode/把源码解压到/openrestycode里边,然后使用ls -l /openrestycode看一下/openrestycode里边的文件。
在这里插入图片描述

cd /openrestycode/openresty-1.19.3.1/进入到/openrestycode/openresty-1.19.3.1/里边,ls -l看一下当前目录的文件信息。
在这里插入图片描述

sudo make执行。
在这里插入图片描述
发现报错如下:

rm: cannot remove '*.tar.bz2': No such file or directory
./util/mirror-tarballs: line 891: unix2dos: command not found
make: *** [Makefile:4: all] Error 1

在这里插入图片描述

sudo apt-get install dos2unix安装。
在这里插入图片描述

sudo make再次执行,发现又报错:

rm: cannot remove '*.tar.bz2': No such file or directory
unix2dos: converting file README-windows.txt to DOS format...
./util/mirror-tarballs: line 913: hg: command not found
make: *** [Makefile:4: all] Error 1

在这里插入图片描述

sudo apt-get install -y apt-file安装apt-file
在这里插入图片描述

sudo apt-file update更新。
在这里插入图片描述

sudo apt-file search hg输出了Finding relevant cache files to search ...E: The cache is empty. You need to run "apt-file update" first.
在这里插入图片描述

上边使用sudo apt-file search hg解决不了我的问题,我只能使用sed -n '913p' ./util/mirror-tarballs' ./util/mirror-tarballs看一下./util/mirror-tarballs第913行是什么内容,然后把hg clone粘贴到百度上查找一下,结果看到了博文《【ubuntu】hg clone使用》。
在这里插入图片描述

想要使用sudo apt-get install mercurial安装mercurial却又提示E: You don't have enough free space in /var/cache/apt/archives/.
在这里插入图片描述
有看一篇博文《ubuntu “you don‘t have enough free space in /var/cache/apt/archives‘错误解决》,找到一个大型文件删除了。

sudo apt-get install -y mercurial免确认安装mercurial
在这里插入图片描述

安装完成如下:
在这里插入图片描述

cd /openrestycode/openresty-1.19.3.1/进入到源码目录里边,sudo make再次执行编译。
在这里插入图片描述

完成之后如下:
在这里插入图片描述
cd openresty-1.19.3.1/进入到目录。
在这里插入图片描述

sudo ./configure --with-http_gzip_static_module --with-http_v2_module --with-http_stub_status_module --with-luajit --with-http_iconv_module进行配置。
在这里插入图片描述

完成如下如所示:
在这里插入图片描述

sudo make进行编译。
在这里插入图片描述

完成如下图所示:
在这里插入图片描述

sudo make install进行安装。
在这里插入图片描述

安装完成之后如下图:
在这里插入图片描述

此文章为8月Day 25学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/929226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

表达式(Expression)

可以将lambda表达式分配给Func或Action类型委托,以处理内存中的集合。.NET编译器在编译时将分配给Func或Action类型委托的lambda表达式转换为可执行代码。 LINQ引入了一种名为Expression的新类型,该类型代表强类型的lambda表达式。这意味着lambda表达式也…

Vue2向Vue3过度核心技术工程化开发和脚手架

目录 1 工程化开发和脚手架1.1 开发Vue的两种方式1.2.脚手架Vue CLI 2 项目目录介绍和运行流程2.1 项目目录介绍2.2 运行流程 3 组件化开发4 根组件 App.vue4.1 根组件介绍4.2 组件是由三部分构成4.3 总结 5 普通组件的注册使用-局部注册5.1 特点:5.2 步骤&#xff…

redis持久化机制 事务详解

目录 前言: 持久化机制 RDB(Redis DataBase) 手动触发 save bgsave 自动触发 RDB特点 AOF(append only file) 缓冲区刷新策略 重写机制 aof重写流程 混合持久化 事务 事务操作命令 WATCH WATCH实现原…

【前端从0开始】HTML5+CSS3基础语法

html5发展 HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。 HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持 h5添加css hack,css zoom知识点 特性 新的特殊内容元素…

【洛谷】P2440 木材加工

原题链接:https://www.luogu.com.cn/problem/P2440 1. 题目描述 2. 思路分析 整体思路:二分答案 设置一个变量longest来记录最长木头的长度,sum记录切成的小段数量之和。 令左边界l0,右边界llongest。 写一个bool类型的check…

函数指针.

首先看一段代码&#xff1a; #include <stdio.h> void test() {printf("hehe\n"); } int main() {printf("%p\n", test);printf("%p\n", &test);return 0; } 输出结果&#xff1a; 输出的是两个地址&#xff0c;这两个地址是 test 函…

VMware 中Centos8的NAT网络设置

1、先将虚拟机设置为NAT模式 2、打开虚拟网络编辑器&#xff0c;记录以下信息 NAT设置&#xff1a;子网掩码、网关 DHCP设置&#xff1a;I P 范围 (自动时) 3、进入Centos8的网络设置页面&#xff0c;按照记录的信息进行配置 4、重载、重启网卡 nmcli c reload ensl60 n…

【位运算】算法实战

文章目录 一、算法原理常见的位运算总结 二、算法实战1. leetcode面试题01.01. 判断字符是否唯一2. leetcode268 丢失的数字3. leetcode371 两整数之和4. leetcode004 只出现一次的数字II5. leetcode面试题17.19. 消失的两个数字 三、总结 一、算法原理 计算机中的数据都以二进…

基础论文学习(5)——MAE

MAE&#xff1a;Masked Autoencoders Are Scalable Vision Learners Self-Supervised Learning step1&#xff1a;先用无标签数据集&#xff0c;把参数从一张白纸训练到初步预训练模型&#xff0c;可以得到数据的 Visual Representationstep2&#xff1a;再从初步成型&#x…

OpenCV基础知识(7)— 腐蚀与膨胀

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。腐蚀和膨胀是图像形态学中的两种核心操作&#xff0c;通过这两种操作可以清除或者强化图像中的细节。本节课就对OpenCV中的腐蚀和膨胀操作进行详细的介绍。&#x1f308; 前期回顾&#xff1a; OpenCV基础知识&#xff08;…

Web应用登录验证的几种方式

一、SessionCookie登录 传统的sessioncookie登录是一种有状态 的登录 1、传统的sessioncookie 流程 浏览器登录发送账号和密码&#xff0c;服务端查找数据库验证用户验证成功后&#xff0c;服务端把用户状态&#xff08;登录状态&#xff0c;角色&#xff0c;权限等信息&…

Vue2向Vue3过度核心技术生命周期

目录 1 Vue生命周期2 Vue生命周期钩子3 生命周期钩子小案例1.1 在created中发送数据1.2 在mounted中获取焦点 4 案例-小黑记账清单4.1 需求图示&#xff1a;4.2 需求分析3.思路分析4.代码准备 1 Vue生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#…

【管理运筹学】第 6 章 | 运输问题(1,运输问题的数学模型及性质特点)

文章目录 引言一、运输问题的数学模型及特点1.1 运输问题的数学模型1.2 运输问题的特点1.3 运输问题的解 二、表上作业法写在最后 引言 在之前的学习过程中&#xff0c;我们接触的是较为一般性的线性规划问题。但是随着人们对运输——将人或物由一个空间位置移动到另一个空间位…

共享内存 windows和linux

服务端&#xff0c;即写入端 #include <iostream> #include <string.h> #define BUF_SIZE 1024 #ifdef _WIN32 #include <windows.h> #define SHARENAME L"shareMemory" HANDLE g_MapFIle; LPVOID g_baseBuffer; #else #define SHARENAME "sh…

基于秃鹰算法优化的BP神经网络(预测应用) - 附代码

基于秃鹰算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于秃鹰算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.秃鹰优化BP神经网络2.1 BP神经网络参数设置2.2 秃鹰算法应用 4.测试结果&#xff1a;5.Matlab代码 摘要…

双指针算法实例4(盛最多水的容器)

题目&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;你不…

基于STM32的天然气煤气检测报警仿真设计(仿真+程序+讲解)

基于STM32的天然气煤气检测报警仿真设计 演示视频1.主要功能2.仿真3. 程序4. 资料清单&下载链接 仿真图proteus 8.9 程序编译器&#xff1a;keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;C0081 演示视频 基于STM32的天然气煤气可燃气体检测报警仿真设计 1.主要…

python: pywin32 + cef 模仿 mdict 界面

pip install pywin32 ; pip install cefpython3 cefpython3-66.1-py2.py3-none-win_amd64.whl (69.0 MB) Successfully installed cefpython3-66.1 cd \Python37\Lib\site-packages\cefpython3\examples copy pywin32.py win_cef.py 用的图片在 \Python37\Lib\site-packages…

R语言如果列表中有列表,且每个子列表有一个向量:如何转变为仅仅一个列表里面含有向量

引言 有些时候&#xff0c;比如批量读取表格中的某一列的时候&#xff0c;最终你会得到列表里面装列表&#xff0c;且每个列表里面只有一个向量的情况。我们的目标是不要中间这一层列表&#xff0c;而是直接变成列表-向量这种简单的结构&#xff0c;如何完成呢。我觉得有很多方…

深度解析:Stable Diffusion中negative prompt是如何作用的?

Diffusion Models专栏文章汇总:入门与实战 前言:stable diffusion推理的时候可以用negative prompt(负面提示词)去除我们不想出现的元素,这种方法的背后原理是什么?如何用代码实现呢?这篇博客就深入探讨这个问题。 目录 从分类器引导技术开始说起