nginx安装三步走

nginx 安装最重要的就是三个命令
其中
configure 配置编译参数
make 编译
make install 安装

如果使用configure 带参数编译安装会报错,那么不妨使用默认配置安装,安装之后在更新插件

linux中最简安装如下:

进入 nginx官网下载nginx,然后上传至linux 解压(也可使用git从github上下载nginx源码)
附带nginx下载地址

然后:
将下载下来之后 上传至服务器 并且解压
ps: linux推荐下载 tar.gz 压缩名的压缩包

切换至 nginx解压后的目录,找到 configure 键入命令

./configure

configure核查完成之后键入:

make

编译完成之后:

make install

如果对于当前linux环境拿捏不准,那么直接 联网 yum 下所有常用依赖:

yum -y install zip unzip gcc gcc-c++ automake autoconf libtool make glibc gd-devel pcre-devel libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel libevent libevent-devel
 yum install pcre*

异常:*** No rule to make target build', needed bydefault’. Stop
如果碰上以上面的错误,只需要把 yum -y 中的依赖全部安装之后 重新执行./configure 命令就可以了

nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
有可能是权限问题
附上参考博文:
https://www.cnblogs.com/unityworld/p/11679462.html

<think>好的,我需要帮助用户了解源码编译的三个步骤。用户之前遇到了“make: *** 没有规则可制作目标‘4’。 停止”的错误,现在可能想更系统地了解编译过程,避免类似错误。 首先,用户提到的“源码编译三步走”通常指的是配置(configure)、编译(make)、安装(make install)。这三个步骤是编译开源软件的常见流程。 我需要先确认用户是否了解每个步骤的作用,可能他们需要详细的解释。用户之前的问题涉及到Nginx的编译,所以可能需要结合之前的例子来说明。 配置阶段(configure):这里需要检查系统环境,确保依赖库存在,比如PCRE、OpenSSL、zlib。用户之前可能没有正确安装开发包,导致配置失败或编译错误。需要强调安装开发包的重要性,而不仅仅是运行时库。 编译阶段(make):这里用户之前输入了错误的命令,把“make -j4”写成了“make 4”,导致错误。需要提醒正确使用make命令,特别是多线程编译的参数。 安装阶段(make install):将编译好的文件复制到指定目录,可能需要权限管理,比如使用sudo。用户之前的配置中指定了路径,如/usr/local/nginx,所以安装时需要确保有写入权限。 另外,用户提供的Nginx路径信息可能涉及到权限问题,比如日志目录和临时文件目录。在安装后可能需要手动创建这些目录并设置正确的所有者,比如www-data用户。 还要注意,在配置阶段使用的参数是否正确,比如--with-pcre=system是否正确指向已安装的库。如果用户使用系统库,但开发包未安装,配置会失败,导致后续步骤出错。 可能还需要提到清理步骤,比如make clean,在重新配置前清理之前的编译文件。用户可能在遇到错误时需要重新配置,这时候清理旧文件很重要。 总结来说,三步走的每个阶段都有可能出现问题,需要逐一检查,确保依赖项安装正确,命令输入无误,目录权限合适。结合用户之前的错误,重点强调正确使用make命令,以及依赖库的开发包安装。</think>--- ### **源码编译三步走详解** 源码编译是Linux系统中构建软件的核心方式,通常包含三个标准化步骤:**配置(Configure)** → **编译(Make)** → **安装(Make Install)**。以下结合Nginx编译场景详细说明: --- #### **第一步:配置(Configure)** **作用**:检测系统环境,生成适配当前平台的构建脚本(Makefile)。 **核心操作**: ```bash ./configure [参数列表] ``` **关键参数示例**(以Nginx为例): ```bash ./configure \ --prefix=/usr/local/nginx \ # 安装根目录 --with-threads \ # 启用线程池 --with-pcre=system \ # 使用系统PCRE库 --with-openssl=system \ # 使用系统OpenSSL库 --with-zlib=system # 使用系统zlib库 ``` **常见问题与解决**: 1. **依赖库缺失**: - 错误提示:`error: C compiler ... is not found` 或 `XXX library not found` - 解决:安装开发包(如Ubuntu中`libpcre3-dev`、`libssl-dev`、`zlib1g-dev`) 2. **路径权限不足**: - 现象:`Permission denied` - 解决:使用`sudo`执行或调整目标目录权限。 --- #### **第二步:编译(Make)** **作用**:根据Makefile将源码转换为可执行二进制文件。 **核心操作**: ```bash make # 单线程编译 make -j4 # 多线程编译(4线程加速,根据CPU核心数调整) ``` **关键技巧**: - **并行编译**:使用`-jN`(如`-j4`)显著提升编译速度,N通常为CPU逻辑核心数(通过`nproc`查询)。 - **错误调试**:若编译失败,检查终端输出的错误位置,通常为代码语法或依赖库版本不匹配。 **典型错误案例**: - 错误:`make: *** 没有规则可制作目标“4”。 停止` - 原因:误将`make -j4`写为`make 4`,导致系统尝试构建名为“4”的目标。 - 解决:修正命令为`make -j4`。 --- #### **第三步:安装(Make Install)** **作用**:将编译后的文件部署到系统指定目录(如`/usr/local`)。 **核心操作**: ```bash sudo make install # 需root权限写入系统目录 ``` **安装后验证**: 1. **检查二进制文件**: ```bash /usr/local/nginx/sbin/nginx -V # 查看Nginx版本及编译参数 ``` 2. **检查配置文件路径**: ```bash ls /etc/nginx/nginx.conf # 确认配置文件存在 ``` **目录权限管理**: - **临时文件目录**:需提前创建并赋权(如`client_body_temp`、`proxy_temp`等)。 ```bash sudo mkdir -p /usr/local/nginx/{client_body_temp,proxy_temp} sudo chown -R www-data:www-data /usr/local/nginx/*_temp ``` - **日志目录**:确保运行用户(如`www-data`)有写入权限。 ```bash sudo chown -R www-data:www-data /var/log/nginx ``` --- ### **完整流程示例(Nginx编译)** ```bash # 1. 安装依赖 sudo apt install -y libpcre3-dev libssl-dev zlib1g-dev build-essential # 2. 进入源码目录并配置 cd nginx-1.25.3/ ./configure --prefix=/usr/local/nginx --with-threads --with-pcre=system # 3. 编译(4线程加速) make -j4 # 4. 安装到系统 sudo make install # 5. 验证安装 /usr/local/nginx/sbin/nginx -t # 测试配置文件语法 ``` --- ### **补充说明** 1. **清理编译残留**: ```bash make clean # 删除已编译的中间文件 make distclean # 深度清理(包括configure生成的文件) ``` 2. **自定义模块**: - 通过`./configure`添加`--add-module=/path/to/module`引入第三方模块。 3. **版本回退**: - 直接覆盖安装可能存在问题,建议备份原目录或使用软链接管理版本。 --- ### **流程图解** ``` [源码目录] │ ├── 1. configure → 生成Makefile │ ├── 检查系统库(PCRE/OpenSSL/zlib) │ └── 定义安装路径(--prefix) │ ├── 2. make → 编译源码 │ ├── 单线程(make) │ └── 多线程加速(make -j4) │ └── 3. make install → 部署文件 ├── 复制到系统目录(bin、conf、logs等) └── 需root权限(sudo) ``` 掌握这三步可应对大多数开源软件的编译需求,核心在于**正确配置依赖库**和**理解路径权限管理**。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值