CentOS Nginx使用教程,如何从零开始配置与部署?

安装前的准备工作

在开始安装和使用 Nginx 之前,确保您的 CentOS 系统已更新至最新状态,打开终端,执行以下命令更新系统包:

CentOS Nginx使用教程,如何从零开始配置与部署?

sudo yum update -y

建议安装一些常用的开发工具和编译依赖,以便后续编译或扩展 Nginx 功能:

sudo yum groupinstall "Development Tools" -y
sudo yum install wget gcc openssl-devel pcre-devel zlib-devel -y

若系统已安装 Apache 或其他占用 80/443 端口的软件,需先停止或修改其端口,避免与 Nginx 冲突。

通过 Yum 安装 Nginx

CentOS 官方源默认提供 Nginx,但版本可能较旧,推荐使用 EPEL(Extra Packages for Enterprise Linux)源获取最新版本,首先安装 EPEL 源:

sudo yum install epel-release -y

安装完成后,即可通过 Yum 安装 Nginx:

sudo yum install nginx -y

安装成功后,Nginx 的配置文件位于 /etc/nginx/ 目录,主配置文件为 nginx.conf,站点配置文件存放在 /etc/nginx/conf.d/ 目录下。

启动与配置 Nginx

安装完成后,启动 Nginx 并设置为开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

检查 Nginx 运行状态:

sudo systemctl status nginx

若需修改配置,编辑 /etc/nginx/nginx.conf 或站点配置文件,修改默认监听端口或添加虚拟主机,保存后执行以下命令检查配置语法是否正确:

CentOS Nginx使用教程,如何从零开始配置与部署?

sudo nginx -t

语法通过后,重载 Nginx 配置使更改生效:

sudo systemctl reload nginx

配置防火墙与 SELinux

CentOS 默认启用防火墙,需允许 HTTP(80)和 HTTPS(443)端口流量:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

若启用 SELinux,需安装 SELinux 策略管理工具并设置 Nginx 相关权限:

sudo yum install policycoreutils-python -y
sudo semanage port -a -t http_port_t -p tcp 80
sudo semanage port -a -t http_port_t -p tcp 443

部署静态网站与反向代理

静态网站部署

假设网站文件存放于 /var/www/html/example,创建目录并设置权限:

sudo mkdir -p /var/www/html/example
sudo chown -R nginx:nginx /var/www/html/example
sudo chmod -R 755 /var/www/html/example

/etc/nginx/conf.d/ 下创建站点配置文件 example.conf如下:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/html/example;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

保存后重载 Nginx 配置即可访问网站。

反向代理配置

若需将请求代理至后端服务(如 Tomcat),修改配置如下:

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

此配置会将所有请求转发至本地 8080 端口的后端服务。

CentOS Nginx使用教程,如何从零开始配置与部署?

日志管理与性能优化

Nginx 的访问日志默认位于 /var/log/nginx/access.log,错误日志位于 /var/log/nginx/error.log,可通过修改 nginx.conf 中的 access_logerror_log 指令调整日志路径或级别。
性能优化方面,可调整 worker_processes(建议设置为 CPU 核心数)、worker_connections(单进程最大连接数)等参数。

worker_processes auto;
events {
    worker_connections 1024;
}

优化后需重启 Nginx 使配置生效。

相关问答 FAQs

如何查看 Nginx 的错误日志?
答:Nginx 的错误日志默认路径为 /var/log/nginx/error.log,使用以下命令实时查看日志内容:

tail -f /var/log/nginx/error.log

若需修改日志路径,编辑主配置文件 nginx.conf 中的 error_log 指令并重载配置。

如何禁止 Nginx 直接访问 IP 地址?
答:在 nginx.confserver 块中添加以下配置,将 IP 访问重定向至指定域名或返回 403 错误:

server {
    listen 80 default_server;
    server_name _;
    return 403;
}

保存后重载配置即可生效。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-11-20 03:27
下一篇 2025-11-20 03:32

相关推荐

  • centos如何实时查看内存使用情况?命令有哪些?

    在CentOS系统中实时查看内存使用情况是系统管理和性能监控的重要任务,通过合适的命令和工具,管理员可以快速了解内存分配、缓存使用以及进程对内存的占用情况,从而及时发现潜在的性能瓶颈或内存泄漏问题,以下是几种常用的方法和工具,帮助你在CentOS系统中高效监控内存状态,使用free命令查看内存概览free命令是……

    2025-11-30
    007
  • CentOS擦除root密码后如何重置登录权限?

    在CentOS系统中,root权限是最高管理员权限,拥有对系统的完全控制能力,出于安全考虑,直接使用root用户进行日常操作并非最佳实践,因为这可能因误操作导致系统损坏,掌握如何临时或安全地获取root权限(即“擦出root命令”的通俗理解)是系统管理员必备的技能,本文将详细介绍CentOS系统中获取root权……

    2025-11-09
    005
  • CentOS系统命令行里老是滴的一声,到底是什么原因?

    在管理或使用 CentOS 服务器时,我们偶尔会听到从主机箱内部发出的清脆“滴”声,这种声音并非系统故障的随机噪音,而是一种源自硬件或操作系统的信号机制,它像是一种原始的语言,用于在图形界面不可用或系统处于特殊状态时,向管理员传递关键信息,理解这些“滴”声的含义,是进行故障排查和系统维护的重要一环,硬件层面的……

    2025-10-05
    0020
  • Centos如何查看FTP服务是否启动及运行状态?

    在CentOS系统中查看FTP服务的状态是系统管理和维护中的常见任务,FTP(File Transfer Protocol)是一种用于在客户端和服务器之间传输文件的标准协议,无论是为了确保服务正常运行,还是为了排查连接问题,掌握如何查看FTP服务的信息都至关重要,本文将详细介绍在CentOS系统中查看FTP服务……

    2025-12-29
    005

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信