nginx编译安装

通过源码编译安装Nginx通常可以让你自定义配置、模块和功能。下面是一步一步如何在 CentOS/RHEL 等 Linux 发行版上编译安装 Nginx 的详细步骤。

步骤 1:更新系统并安装依赖库

首先,确保系统已更新,并安装编译 Nginx 所需的依赖库:

bash

复制代码

sudo yum update -y

sudo yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel openssl openssl-devel

步骤 2:下载 Nginx 源码

前往 Nginx 官方网站 下载最新的稳定版源码,或者你也可以使用 wget 命令直接下载。

bash

复制代码

cd /usr/local/src

wget http://nginx.org/download/nginx-1.20.1.tar.gz  # 替换为你需要的版本

解压下载的 Nginx 源码包:

bash

复制代码

tar -zxvf nginx-1.20.1.tar.gz

cd nginx-1.20.1

步骤 3:配置 Nginx

在编译之前,你可以通过 ./configure 命令来配置 Nginx 的编译选项和模块。以下是一个典型的配置命令,你可以根据需要启用或禁用某些模块:

bash

复制代码

./configure \

--prefix=/usr/local/nginx \

--sbin-path=/usr/sbin/nginx \

--conf-path=/etc/nginx/nginx.conf \

--pid-path=/var/run/nginx.pid \

--lock-path=/var/run/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_ssl_module \

--with-http_gzip_static_module \

--with-http_stub_status_module \

--with-pcre \

--with-http_v2_module

配置选项解释:

  • --prefix=/usr/local/nginx:指定 Nginx 的安装目录。
  • --with-http_ssl_module:启用 SSL 支持。
  • --with-http_gzip_static_module:启用 gzip 支持。
  • --with-http_stub_status_module:启用状态监控模块。
  • --with-http_v2_module:启用 HTTP/2 支持。

你可以根据需要添加或删除模块选项。

步骤 4:编译并安装 Nginx

配置完成后,执行以下命令开始编译和安装 Nginx:

bash

复制代码

make

sudo make install

步骤 5:验证 Nginx 安装

完成安装后,Nginx 应该被安装到了 /usr/local/nginx 目录下。你可以通过以下命令启动 Nginx:

bash

复制代码

sudo /usr/sbin/nginx

或者,通过以下命令检查 Nginx 是否已正确安装并显示版本号:

bash

复制代码

nginx -v

你应该会看到类似于:

yaml

复制代码

nginx version: nginx/1.20.1

步骤 6:配置 Nginx 服务

为了方便管理 Nginx,你可以将其配置为一个系统服务。创建一个 Nginx 的 Systemd 服务文件 /etc/systemd/system/nginx.service:

bash

复制代码

sudo nano /etc/systemd/system/nginx.service

然后添加以下内容:

ini

复制代码

[Unit]

Description=The NGINX HTTP and reverse proxy server

After=network.target

[Service]

ExecStartPre=/usr/sbin/nginx -t

ExecStart=/usr/sbin/nginx

ExecReload=/usr/sbin/nginx -s reload

ExecStop=/usr/sbin/nginx -s stop

PIDFile=/var/run/nginx.pid

Restart=on-failure

RestartSec=5s

[Install]

WantedBy=multi-user.target

保存文件后,执行以下命令使 Nginx 服务文件生效,并设置 Nginx 开机自启动:

bash

复制代码

sudo systemctl daemon-reload

sudo systemctl enable nginx

步骤 7:启动并测试 Nginx

启动 Nginx 服务:

bash

复制代码

sudo systemctl start nginx

检查 Nginx 是否成功启动:

bash

复制代码

sudo systemctl status nginx

你可以通过以下命令测试 Nginx 是否能正常处理 HTTP 请求:

bash

复制代码

curl http://localhost

如果你看到 Welcome to nginx! 或 Nginx 默认页面,则说明安装成功。

步骤 8:防火墙设置(可选)

如果你的服务器启用了防火墙,你需要允许 HTTP 和 HTTPS 流量通过:

bash

复制代码

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd --reload

后续步骤

Nginx 已经编译并成功安装。接下来,你可以根据需要自定义 Nginx 配置文件 /etc/nginx/nginx.conf,或者添加更多虚拟主机配置文件来满足你的需求。

6. 停止和重启 Nginx

  • 停止 Nginx:

如果需要停止 Nginx,可以使用以下命令:

bash

复制代码

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

  • 重启 Nginx:

重启 Nginx 命令如下:

bash

复制代码

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

到此为止,Nginx 已经成功编译并安装。接下来你可以根据需要自定义 Nginx 的配置文件 /usr/local/nginx/conf/nginx.conf。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值