在 CentOS 7 下安装 Nginx,主要有两种常见方法:使用系统自带的软件仓库安装以及从源码编译安装。下面分别详细介绍这两种方法:
方法一:使用Yum仓库安装(推荐对于一般用户)
第一步:添加 EPEL(Extra Packages for Enterprise Linux)仓库
EPEL 提供了额外的软件包,其中包括 Nginx。在 CentOS 7 中,首先确保系统已经安装了 EPEL 仓库:
sudo yum install epel-release
第二步:安装 Nginx
安装过程非常简单,只需要一行命令即可:
sudo yum install nginx
第三步:启动 Nginx 并设置开机自启动
安装完成后启动 Nginx 服务,并设置它在系统启动时自动运行:
sudo systemctl start nginx
sudo systemctl enable nginx
第四步:验证 Nginx 安装和运行状态
检查 Nginx 是否成功安装并正在运行:
sudo systemctl status nginx
如果一切顺利,输出应该显示 Nginx 服务的状态为 active (running)
。
方法二:从源码编译安装(适用于需要特定版本或者自定义配置的场景)
第一步:安装依赖包
编译 Nginx 需要一些编译工具和库的支持,例如 GCC、PCRE、OpenSSL 等:
sudo yum install -y gcc-c++ pcre pcre-devel openssl openssl-devel
第二步:下载 Nginx 源码包
从 Nginx 官方网站或者其他可靠来源获取最新稳定版或指定版本的源码包,例如:
cd /usr/local/src
wget http://nginx.org/download/nginx-1.23.0.tar.gz
tar zxf nginx-1.23.0.tar.gz
cd nginx-1.23.0
第三步:配置、编译和安装
根据自己的需求配置 Nginx(例如指定安装路径、模块选项等),然后编译并安装:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre
make
sudo make install
第四步:创建系统服务并启动 Nginx
手动创建 Nginx 的系统服务单元文件以便使用 systemd 管理服务,并设置开机启动:
sudo nano /lib/systemd/system/nginx.service
# 在文件中编写类似于以下内容的服务单元配置
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 保存并退出编辑器
sudo systemctl daemon-reload
sudo systemctl start nginx
sudo systemctl enable nginx
最后同样验证 Nginx 服务是否正常运行。
请注意,上述源码编译安装步骤中的版本号(例如 nginx-1.23.0
)可能会随着时间和新版本的发布而变化,请前往 Nginx 官网获取最新版本。同时,根据具体需求,编译时的配置选项也有所不同,以上仅为基础示例。