nginx教程一,编译生成nginx

一、为什么不直接使用现有nginx二进制文件直接安装

因为现有的nginx二进制文件是编译好的,内置的一些功能模块已经固定,不能添加或移除。如果自己编译生成nginx,则可按需添加或移除nginx中功能模块。

二、开始编译生成nginx二进制文件

1. 下载Nginx,在官网http://nginx.org/右侧点击download进入下载页面,然后选择合适的版本进行下载,注意顶级域名是org不是com

yum -y install wget
wget http://nginx.org/download/nginx-1.14.2.tar.gz
tar -zxvf nginx-1.14.2.tar.gz

2. 编译前安装一些必备环境

yum -y install gcc gcc-c++ autoconf automake make pcre-devel openssl openssl-devel

3. 编译nginx前,执行configure命令配置nginx环境目录,在nginx目录下可以执行命令 ./configure --help 查看configure帮助信息。主要信息如下

  • --prefix=PATH表示安装目录
  • --modules-path=PATH设置动态安装模块路径,如果没有使用该参数,则默认使用prefix参数目录
  • --with开头的命令说明模块在nginx默认不开启,此命令是要添加对应模块
  •  --without开头的命令说明模块在nginx默认开启,此命令是要移除对应模块
  • --with-debug开启Debug模式编译

进入nginx目录执行命令,如果prefix指定目录不存在则在安装时会自动创建

cd nginx-1.14.2 
./configure --prefix=/root/nginx

4. 通过make命令编译nginx,会在objs下生成nginx执行文件。注意后面如果仅仅对nginx版本升级,不需要执行下面的make install命令,而是直接将原nginx替换sbin目录下nginx二进制文件

make

5. 安装nginx,然后就会看到prefix指定目录下生成nginx相关文件

make install

 6. 安装完后,在nginx安装目录sbin下执行nginx启动

sbin/nginx

7. 启动后外网访问

  • 关闭防火墙:先查看防火墙状态firewall-cmd --state,如果running就关闭:systemctl mask firewalld,永久关闭:systemctl mask firewalld
  • 访问nginx服务器,如果报错403 Forbidden,则编辑nginx配置文件,配置user root;然后执行nginx -s reload
posted @ 2021-02-14 18:25  jiapeng  阅读(470)  评论(0编辑  收藏  举报