Linux下Nginx的源码编译安装

简介: Linux下Nginx的源码编译安装

在Linux下,我们虽然可以使用包管理器直接安装Nginx,但是如果想要是最新的版本,那还是需要通过源码安装。源码安装Nginx的过程非常简单,今天就以Debian系统为例进行介绍。

1,下载Nginx源代码并解压

官网下载源代码:

image.png

可以看到上述有两个版本:

  • Mainline 主线版本,是最新的版本,即开发版
  • Stable 稳定版

在生产环境下,建议使用最新的Stable version的Nginx。

下载后是一个压缩包,上传到服务器或者Linux系统并解压:

tar -xzvf 下载的源码压缩包路径

2,安装编译必要的库并开始配置

nginx中有很多模块以实现不同的功能,不过默认情况下只有最基本的模块例如转发模块等等。可以根据实际情况选择是最精简编译还是编译全部模块功能。

我也将分这两种情况来说明,大家根据实际情况选择。

(1) 精简编译配置

除了基本功能和https的支持模块,其它模块都不进行编译安装。

先安装依赖库:

sudo apt install gcc make libpcre3-dev zlib1g-dev libssl-dev

然后通过cd命令进入你解压的nginx源码文件夹里,执行构建配置:

./configure --with-http_ssl_module

如图说明配置检查成功:

image.png

可见这些nginx的关键文件要被安装至以下位置:

  • nginx程序主体:/usr/local/nginx/sbin/nginx
  • nginx配置文件目录:/usr/local/nginx/conf
  • 错误日志:/usr/local/nginx/logs/error.log

这些文件位置也可以在上述执行./configure命令时加上参数修改,详情可以见官方文档

(2) 完整编译配置

完整编译将会编译全部的模块,需要安装更多依赖,执行以下命令安装:

sudo apt install gcc make libpcre3-dev libssl-dev zlib1g-dev libxml2-dev libxslt1-dev libgd-dev libgeoip-dev libperl-dev

然后开始配置:

./configure --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module --with-mail_ssl_module --with-stream --with-stream_ssl_module --with-stream_realip_module --with-stream_geoip_module --with-stream_ssl_preread_module

等待配置成功没有报错即可。

3,构建和安装

上述配置完成,就可以执行编译命令了:

make

或者多线程编译:

# 4线程
make -j4

编译完成,执行安装命令:

make install

默认会被安装至/usr/local/nginx,也可以通过DESTDIR路径指定make install时释放程序位置:

make DESTDIR=要释放到的位置 install

不过释放到其它位置nginx可能无法正常运行,除非你要自己制作安装包,否则不推荐这么做。

安装完成,我们可以把nginx可执行主程序文件链接到/usr/bin下使得我们可以使用nginx命令:

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

4,无法运行问题

一般来说由于上述安装了依赖库,对应的运行环境也会自动安装。若编译后nginx无法运行通常是缺少依赖,安装依赖即可。

对于精简编译安装

sudo apt install libc6 zlib1g libpcre3 libssl1.1

对于完整全模块编译安装

sudo apt install libc6 libpcre3 libssl1.1 zlib1g libxml2 libxslt1.1 libgd3 libgeoip1 libperl5.32
相关文章
|
1月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
1月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
1月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
1月前
|
安全 Ubuntu Linux
如何安装Linux操作系统?
此时,您可以选择重新启动计算机,然后从硬盘上的Linux系统启动。以上是一个大致的安装过程。请注意,不同的Linux发行版可能会在细节上有所差异,因此在进行安装之前,请确保您阅读并理解了相应发行版的安装指南或文档。
|
1月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!
|
1月前
|
Ubuntu Linux Shell
手把手教你安装适用于Linux的Windows子系统——Ubuntu
重启完成,你看看重新打开Ubuntu是不是发生了变化,等待几分钟,系统配置完成,根据提示设置用户名和密码即可
|
1月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。
|
1月前
|
Ubuntu 网络协议 Unix
在虚拟机中安装Linux Ubuntu系统指南
通过点击【浏览】按钮,您可以更改Ubuntu的安装位置。为确保系统稳定,建议避免将Ubuntu安装在C盘。您可以在D盘或其他磁盘中创建一个名为“ubuntu”的文件夹,并选择该文件夹作为安装位置,然后点击【下一步】继续。
|
1月前
|
Ubuntu Linux 数据安全/隐私保护
Windows上快速安装Linux子系统Ubuntu
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x800701bcError: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernelPress any key to continue... 原因是 wsl1 升级到 wsl2 之后,内核却没有升级。 解决:下载最新的wsl安装包(wsl安装包)
|
1月前
|
Ubuntu Unix Linux
玩机强化技能,动手安装Ubuntu Linux操作系统
(13)Ubuntu重启过程中,你将在关机画面中看到提示文字“Please remove the installation medium, then press ENTER:”,按下“Enter”键即可重启电脑。