首页 / 美国服务器 / 正文
Nginx 安装与配置详解,yum安装nginx到指定目录

Time:2025年01月07日 Read:7 评论:42 作者:y21dr45

在现代互联网时代,Nginx 作为一款高性能的 HTTP 服务器和反向代理服务器,被广泛应用于各种 Web 服务环境中,本文将详细介绍如何在 CentOS 操作系统上通过 yum 安装 Nginx,并展示如何进行基本的配置和管理。

Nginx 安装与配置详解,yum安装nginx到指定目录

一、Yum 安装 Nginx 的必要性

1. 简单快捷

使用 yum 安装 Nginx 可以大大简化安装过程,只需几个命令即可完成,相较于从源码编译,这种方法减少了手动配置环境变量、下载依赖库等复杂步骤,节省了大量时间和精力。

2. 自动化管理

Yum 包管理器能够自动处理软件包之间的依赖关系,减少因依赖问题导致的安装失败,它还能自动更新已安装的软件包,确保系统始终处于最新状态。

3. 社区支持

Nginx 官方维护了适用于主流 Linux 发行版的 yum 源,用户可以轻松获取到最新版本的 Nginx 软件包,享受社区的全面支持。

4. 稳定性与安全性

通过官方渠道安装的 Nginx 版本经过严格测试,稳定性和安全性更有保障,定期的安全更新也能及时修复已知漏洞,保护服务器免受攻击。

二、准备工作

1. 确认系统版本

你需要确认你的 CentOS 系统版本,不同的系统版本可能会有不同的操作步骤或命令。

查看 CentOS 版本
cat /etc/centos-release

2. 更新系统

在安装 Nginx 之前,建议先更新系统的软件包,以确保所有现有的软件都是最新版本,这有助于避免兼容性问题。

sudo yum update -y

3. 检查现有 Web 服务器

如果你的系统上已经安装了其他 Web 服务器(如 Apache),你可能需要先将其停止或卸载,以避免端口冲突。

检查 Apache 是否安装
rpm -q httpd

如果返回类似httpd-2.4.6-93.el7.centos.x86_64 的信息,表示 Apache 已安装,你可以选择停止或卸载它:

停止 Apache
sudo systemctl stop httpd
禁用开机自启
sudo systemctl disable httpd
卸载 Apache
sudo yum remove httpd -y

三、安装 Nginx

1. 添加 Nginx 官方仓库

CentOS 默认的 yum 源中可能不包含最新版本的 Nginx,为了获取最新的 Nginx 版本,建议添加 Nginx 官方的 yum 仓库。

安装 yum-utils(如果尚未安装)
sudo yum install yum-utils -y
下载 Nginx 官方仓库的 RPM 包
sudo yum install https://nginx.org/packages/centos/$releasever/noarch/nginx-release-centos-$releasever.noarch.rpm -y
验证仓库是否添加成功
yum repolist all | grep nginx

2. 安装 Nginx

你已经成功添加了 Nginx 官方仓库,接下来就可以安装 Nginx 了。

安装 Nginx
sudo yum install nginx -y

3. 启动 Nginx 并设置开机自启

安装完成后,需要启动 Nginx 并将其设置为开机自启。

启动 Nginx
sudo systemctl start nginx
设置 Nginx 开机自启
sudo systemctl enable nginx

4. 验证安装

打开浏览器,访问http://你的服务器IP地址,如果看到 Nginx 的欢迎页面,则说明安装成功。

在服务器本地查看 Nginx 状态
curl http://localhost

你应该会看到类似以下的输出:

Welcome to nginx!

四、Nginx 配置与优化

1. Nginx 配置文件结构

Nginx 的主配置文件通常位于/etc/nginx/nginx.conf,主要包含全局配置、events、http、server、location 等模块,了解这些模块的功能是进行高级配置的基础。

全局配置:设置 Nginx 的整体运行参数,如 worker_processes(工作进程数)、error_log(错误日志文件路径)等。

events 模块:配置 Nginx 的事件驱动模型,常用的指令有worker_connections(单个工作进程的最大连接数)。

http 模块:设置 HTTP 服务器的相关参数,如include(包含其他配置文件)、types(MIME 类型)、default_type(默认 MIME 类型)等。

server 模块:定义虚拟主机的相关配置,包括监听端口、服务器名称、根目录等。

location 模块:配置 URL 匹配规则和对应的处理方式,如静态文件服务、反向代理、重定向等。

2. 常用配置示例

以下是一些常见的 Nginx 配置示例,帮助你快速上手:

全局配置示例
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events 模块示例
events {
    worker_connections 1024;
}
http 模块示例
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay     on;
    keepalive_timeout  65;
    types_hash_max_size 2048;
    # include /etc/nginx/mime.types;
    default_type    application/octet-stream;
    # Load modular configuration files from the /etc/nginx/modules directory.
    # See http://nginx.org/en/docs/ngx_core_module_ngx_modular.html for more information.
    # include /etc/nginx/modules/*.conf;
    include /etc/nginx/conf.d/*.conf;
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  your_domain_or_ip;
        root         /usr/share/nginx/html;
        index  index.html index.htm;
        location / {
            try_files $uri $uri/ =404;
        }
        error_page   500 502 503 504 /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
}

3. Nginx 的重启、重载与重新打开日志文件

在修改 Nginx 配置文件后,需要执行以下命令使更改生效:

重新加载 Nginx,不中断服务
sudo nginx -s reload

如果需要进行完整的重启,可以使用:

重启 Nginx
sudo systemctl restart nginx

在某些情况下,你可能希望重新打开日志文件以释放旧的日志文件句柄:

重新打开日志文件
sudo nginx -s reopen

4. Nginx 的访问控制与安全配置

为了提高服务器的安全性,可以通过配置防火墙和启用 HTTPS 来保护 Nginx:

安装 firewalld(如果尚未安装)
sudo yum install firewalld -y
sudo systemctl start firewalld
sudo systemctl enable firewalld
开放 HTTP 和 HTTPS 端口
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

要启用 HTTPS,需要配置 SSL 证书,你可以从受信任的证书颁发机构购买证书,或者使用 Let’s Encrypt 免费获得证书,以下是使用 Let’s Encrypt 的示例:

安装 Certbot(Let’s Encrypt 客户端)
sudo yum install epel-release -y
sudo yum

标签: yum安装nginx 
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1