Centos 7 环境下 手动编译安装nginx

本文介绍如何在Centos7环境中手动编译安装Nginx 1.14.2版本,包括准备编译环境、下载及解压安装包、编译配置、启动等步骤,并详细说明了所需的依赖组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、准备编译环境

yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel

  • List item

  • gcc:可以编译C和C++源代码

  • gcc-c++:编译c++(可以这么理解)

  • automake:从Makefile.am文件自动生成Makefile.in的工具

  • pcre pcre-devel:在Nginx编译需要 PCRE(Perl Compatible Regular Expression),因为Nginx 的Rewrite模块和HTTP 核心模块会使用到PCRE正则表达式语法

  • zlip zlib-devel:nginx启用压缩功能的时候,需要此模块的支持。

  • openssl openssl-devel:开启SSL的时候需要此模块的支持。

2、下载安装包

wget http://nginx.org/download/nginx-1.14.2.tar.gz, 我们下载到home目录。如果没有安装wget,通过yum install wget安装。

3、解压缩

tar -xvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
这里我们解压到当前目录。

4、进入正题

nginx 编译需要3个步骤:

  1. configure
  2. make
  3. make install

下面,分别执行!

4.1、

./configure --prefix=/usr/local/nginx
–sbin-path=/usr/local/nginx/sbin/nginx
–conf-path=/usr/local/nginx/conf/nginx.conf
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–user=nginx --group=nginx
–with-http_ssl_module
–with-http_stub_status_module
–with-http_gzip_static_module
–http-client-body-temp-path=/var/tmp/nginx/client/
–http-proxy-temp-path=/var/tmp/nginx/proxy/
–http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
–http-uwsgi-temp-path=/var/tmp/nginx/uwsgi
–http-scgi-temp-path=/var/tmp/nginx/scgi
–with-pcre
解释:命令大概分为3部分,第一部分,指定nginx文件的路径;第二部分,制定nginx模块。详细的解释,可以看configure的帮助文件:
./configure --help | more
在这里插入图片描述

4.2、 make

4.3、make install

不报错的话,就安装完成了。

5、启动

nginx编译完成,会在指定的目录生成可执行的文件,我们这里的目录是/usr/local/nginx(不明白的同学,可以回头看看上面的configure 命令)。我们先看一下目录结构:
在这里插入图片描述
目录解释:

  • conf:nginx服务器的最核心最主要的配置文件,其他的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文件,配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。
  • html: 保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是默认的错误页面提示页面。
  • sbin: 保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。

5.1、启动

cd sbin
./nginx

报如下错误:
在这里插入图片描述
这是因为,没有nginx用户,如下解决:
useradd -s /sbin/nologin -M nginx
id nginx

再次执行./nginx,还出错,如图:
在这里插入图片描述
这是没有目录的原因,根据,提示创建目录即可, 注意,最后一个client目录,不用创建。
再次执行./nginx,未出现任何错误。成功启动。用浏览器访问:
在这里插入图片描述
默认端口80,成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stars

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值