ubuntu20.04编译安装nginx

目录

在Ubuntu 20.04上编译安装Nginx,你可以按照以下步骤进行操作:

一.更新系统软件包列表

sudo apt update

二.安装编译Nginx所需的依赖

sudo apt install build-essential libpcre3-dev zlib1g-dev libssl-dev

以下是上述命令中使用的软件包的简要说明:

  1. build-essential:这是一个Ubuntu软件包,它包含了构建软件所需的一些基本工具和库,包括gcc编译器、make构建工具等。它是编译和构建软件的基础。
  2. libpcre3-dev:PCRE(Perl Compatible Regular Expressions)是一个用于处理正则表达式的C库。libpcre3-dev是PCRE的开发包,包含了编译和开发使用PCRE的软件所需的头文件和库。
  3. zlib1g-dev:Zlib是一个用于数据压缩和解压缩的开源库,常用于Web服务器和应用程序。zlib1g-dev是Zlib的开发包,包含了开发使用Zlib的软件所需的头文件和库。
  4. libssl-dev:这是OpenSSL的开发包,OpenSSL是一个加密和安全通信库,常用于保护数据的传输和存储。libssl-dev包含了开发使用OpenSSL的软件所需的头文件和库。

这些软件包通常在编译和安装诸如Nginx等需要依赖它们的软件时需要安装,以确保这些软件能够正常运行并支持相关功能。它们提供了必要的工具和库,以满足软件的编译和运行要求。

三.下载Nginx源代码

你可以从官方网站下载最新版本的Nginx:

wget https://nginx.org/download/nginx-1.24.0.tar.gz

请确保替换上面的URL为最新版本的URL,以下载最新版本的Nginx。

四.解压源代码文件

tar -xzvf nginx-1.24.0.tar.gz

五.进入解压后的Nginx目录

cd nginx-1.24.0

六.配置编译选项

你可以运行以下命令,根据你的需求自定义编译选项:

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module

这里的示例命令包括了一些常见的模块,如SSL和RealIP模块。

  1. --with-http_ssl_module:这个选项用于启用Nginx的SSL模块,允许Nginx处理HTTPS请求。启用此模块后,Nginx可以加密和解密通过HTTPS传输的数据,从而实现安全的数据传输。通常,在支持HTTPS的网站上,你需要启用这个模块,以便能够使用SSL/TLS协议进行加密通信。
  2. --with-http_realip_module:这个选项用于启用Nginx的RealIP模块,它用于获取客户端的真实IP地址,即使Nginx位于代理服务器或负载均衡器后面。这对于确保你在日志记录和访问控制中使用的IP地址是客户端的真实IP地址非常有用。该模块允许你配置Nginx以识别代理服务器发送的真实客户端IP地址,而不是代理服务器的IP地址。

这两个模块是Nginx的标准模块,常用于构建Web服务器,特别是在需要支持HTTPS和代理服务器等情况下。根据你的需求,你可以根据Nginx的编译选项来启用或禁用其他模块,以满足特定的功能和性能需求。

七.编译并安装Nginx

make
sudo make install

八.启动Nginx服务

sudo /usr/local/nginx/sbin/nginx

九.验证Nginx是否正常运行

可以使用浏览器访问服务器的IP地址或域名。如果一切正常,你应该能够看到Nginx的欢迎页面。

十.Nginx命令

  • 启动Nginx:

    sudo /usr/local/nginx/sbin/nginx

  • 停止Nginx:

    sudo /usr/local/nginx/sbin/nginx -s stop

  • 重新加载Nginx配置(不中断服务):

    sudo /usr/local/nginx/sbin/nginx -s reload

这样,你就在Ubuntu 20.04上成功编译和安装了Nginx。

十一.配置软链接

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

配置完软连接就可以使用下面的命令了。

  1. 打印 Nginx 版本号:sudo nginx -v
  2. 打印 Nginx 编译参数:sudo nginx -V
  3. 打印当前 Nginx 工作进程:sudo nginx -s process
  4. 快速停止 Nginx 服务:sudo nginx -s stop
  5. 安全停止 Nginx 服务:sudo nginx -s quit
  6. 检查Nginx配置文件的语法和语义错误:sudo nginx -t

  • 📢博客主页:https://blog.csdn.net/qq233325332
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 陌北v1 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
相关推荐
小燚~25 分钟前
ubuntu开机进入initramfs状态
linux·运维·ubuntu
hhhhhhh_hhhhhh_1 小时前
ubuntu18.04连接不上网络问题
linux·运维·ubuntu
恩爸编程8 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
努力--坚持9 小时前
电商项目-网站首页高可用(一)
nginx·lua·openresty
White_Mountain11 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
coder_pig12 小时前
📝小记:Ubuntu 部署 Jenkins 打包 Flutter APK
flutter·ubuntu·jenkins
mit6.82413 小时前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu
watermelonoops13 小时前
Windows安装Ubuntu,Deepin三系统启动问题(XXX has invalid signature 您需要先加载内核)
linux·运维·ubuntu·deepin
YRr YRr15 小时前
解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误
linux·opencv·ubuntu
认真学习的小雅兰.15 小时前
如何在Ubuntu上利用Docker和Cpolar实现Excalidraw公网访问高效绘图——“cpolar内网穿透”
linux·ubuntu·docker