前言
在现代Web服务器市场中,Nginx以其卓越的性能、稳定性和易用性而广为人知。它被广泛用于各种应用场景,从个人网站到大型企业的生产环境。在本博客中,我们一起来学习一下关于Nginx的源码编译安装。
依赖库安装
Nginx 源码包安装步骤会比其他安装方法繁琐一些,但是操作简单,需要提前安装一些 Nginx 依赖库。
安装gcc编译器
gcc是Linux和Unix系统中使用最广泛的C语言编译器。它全称是“GNU Compiler Collection”,是GNU项目的一部分。gcc不仅可以编译C代码,还可以编译C++、Objective-C、Java和Ada等语言。它支持多种编程范式,包括面向对象编程、泛型编程和过程化编程。
yum -y install gcc gcc-c++ autoconf automake make
安装pcre库
PCRE(Perl Compatible Regular Expressions)是一个流行的正则表达式库,它提供了函数和类,用于在程序中执行字符串操作,如搜索和替换。PCRE遵循Perl的正则表达式语法,并且它的API类似于Perl的。它被广泛用于各种编程语言,包括PHP、Python、Ruby、Java和.NET。
yum -y install pcre pcre-devel
安装zlib库
zlib是一个用于在程序中压缩和解压数据的库。它主要用于对文本数据进行压缩,解压缩,而且它是一个流行的用于数据压缩的库。
yum -y install zlib zlib-devel make libtool
安装openssl软件库
OpenSSL是一个开源的软件库,用于在计算机网络上实现安全的通信。它特别设计用于运行服务器应用程序,比如提供加密的网页传输,确保通信的安全性。它支持多种加密算法,可以用于确保数据在传输过程中的机密性和完整性,同时允许验证对方的身份。
yum -y install openssl openssl-devel
Nginx安装
1、首先手动创建用户与用户组
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
2、官网下载nginx压缩包
这里我下载的是低版本1.20.2的nginx 各位看官可根据自己需求下载相对应版本的nginx~
wget https://nginx.org/download/nginx-1.20.2.tar.gz
3、对其进行解压
tar -zxvf nginx-1.20.2.tar.gz
4、编译目录
cd nginx-1.20.2
5、检查平台安装环境
./configure: 这是运行配置脚本的命令。configure脚本是一个用于自动配置软件包以适应特定系统环境的脚本。
--prefix=/usr/local/nginx: 这个选项指定了nginx的安装路径。在这个例子中,nginx将安装到/usr/local/nginx目录下。这意味着nginx的二进制文件将会在/usr/local/nginx/sbin目录下,配置文件将会在/usr/local/nginx/conf目录下。
--with-http_stub_status_module: 这个选项启用了nginx的stub_status模块。stub_status模块提供了一个简单的页面,可以实时地查看nginx的当前状态信息,比如当前的活动连接数、请求数等。
--with-http_ssl_module: 这个选项启用了nginx的http_ssl模块,用于支持HTTPS协议。启用这个模块后,nginx将能够处理加密连接。
--user=nginx --group=nginx: 这两个选项指定了nginx运行时所使用的用户和用户组。在这个例子中,nginx将以nginx用户和nginx用户组的身份运行。这是为了增加nginx的安全性,限制nginx进程的权限。
这里借鉴了一位优质博主的参数说明~原文链接如下
原文链接:https://blog.csdn.net/weixin_73064278/article/details/136547168
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx
6、编译源码并安装
make #编译
make install #安装
7、测试Nginx
在浏览器输入ip进行测试 若出现welcome to nginx!则已成功
注意:如无法访问我们可以试试以下办法!
关闭防火墙
sudo systemctl stop firewalld #使用 systemctl 命令停止防火墙服务
sudo systemctl status firewalld #检查防火墙状态,确保防火墙已停止
Nginx使用操作
启动nginx服务
/usr/local/nginx/sbin/nginx
查找nginx路径
whereis nginx
查看nginx情况
ps -ef | grep nginx
查看nginx版本号
/usr/local/nginx/sbin/nginx -V
Nginx服务配置
配置服务文件
vi /lib/systemd/system/nginx.service
设置如下内容
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
使用服务命令
systemctl status nginx
用命令使nginx随机启动
systemctl enable nginx.service
结语
恭喜您!现在我们已经成功地在Red Hat Linux上编译并安装了Nginx。Nginx以其出色的性能和简易的管理而著称,是构建高性能Web服务器的不二选择。在接下来的步骤中,我们可以进一步定制Nginx配置来满足我们的特定需求。祝大家使用Nginx愉快!
文章创作不易,还请不要吝啬手里的点赞和评论哦~
如果有对内容有异议的地方,我们也可以一起探讨进步~