Nginx常用命令和部署详解以及实战案例示范

 更新时间:2025年02月14日 10:11:09   作者:J老熊  
这篇文章主要介绍了Nginx的常用命令和在不同环境下的部署方法,包括在CentOS和Docker中部署Nginx,并详细说明了如何配置Nginx以实现实时刷新数据和数据分析系统的场景,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、Nginx常用命令

1.1 启动 Nginx

要启动 Nginx 服务,可以使用以下命令:

sudo systemctl start nginx

1.2 停止 Nginx

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

sudo systemctl stop nginx

1.3 重启 Nginx

在修改了 Nginx 配置文件后,需要重启 Nginx 以使更改生效。可以使用以下命令:

sudo systemctl restart nginx

1.4 重新加载配置

当修改了配置文件,但不希望停止服务时,可以使用以下命令重新加载配置:

sudo systemctl reload nginx

1.5 查看 Nginx 状态

要查看 Nginx 的当前运行状态,可以使用以下命令:

sudo systemctl status nginx

这将显示 Nginx 是否正在运行,以及其相关信息。

1.6 测试配置文件

在修改 Nginx 配置文件后,可以使用以下命令测试配置的正确性:

sudo nginx -t

如果配置文件正确,会返回 “syntax is ok” 和 “test is successful” 的信息。如果有错误,则会给出具体的错误信息和所在的配置文件行数。

1.7 查看 Nginx 日志

Nginx 的错误日志和访问日志通常位于 /var/log/nginx 目录中。以下命令可以实时查看错误日志:

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

访问日志可以使用类似的命令查看:

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

1.8 查看 Nginx 进程

要查看当前运行的 Nginx 进程,可以使用以下命令:

ps aux | grep nginx

这将列出所有 Nginx 相关的进程信息,包括主进程和工作进程。

1.9 配置 Nginx 开机自启动

要设置 Nginx 在系统启动时自动启动,可以使用以下命令:

sudo systemctl enable nginx

1.10 禁用 Nginx 开机自启动

如果需要禁用 Nginx 在系统启动时自动启动,可以使用以下命令:

sudo systemctl disable nginx

二、在 CentOS 上部署 Nginx

2.1 安装 Nginx

在 CentOS 上安装 Nginx 可以通过 EPEL(Extra Packages for Enterprise Linux)仓库或源代码编译来完成。下面介绍使用 yum 安装的方法:

# 安装 EPEL 仓库
sudo yum install epel-release

# 安装 Nginx
sudo yum install nginx

# 启动 Nginx
sudo systemctl start nginx

# 设置开机自启动
sudo systemctl enable nginx

2.2 验证安装

安装完成后,可以通过以下命令检查 Nginx 的状态:

sudo systemctl status nginx

然后在浏览器中输入 http://your_server_ip,如果看到 Nginx 的欢迎页面,说明安装成功。

2.3 Nginx 配置文件

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf。下面是一个基本的配置示例:

worker_processes auto;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    sendfile on;
    keepalive_timeout 65;

    server {
        listen 80;
        server_name localhost;

        location / {
            root /usr/share/nginx/html;  # 静态文件路径
            index index.html index.htm;   # 默认首页
        }

        error_page 404 /404.html;       # 自定义404页面
        location = /404.html {
            internal;
        }
    }
}

三、在 Docker 中部署 Nginx

3.1 Docker 安装

首先,需要在 CentOS 上安装 Docker:

# 更新 yum
sudo yum update

# 安装必要的依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker 官方的 yum 源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker
sudo yum install docker-ce

# 启动 Docker
sudo systemctl start docker

# 设置开机自启动
sudo systemctl enable docker

3.2 拉取 Nginx 镜像

sudo docker pull nginx

3.3 运行 Nginx 容器

以下是启动 Nginx 容器的命令:

sudo docker run --name my-nginx -p 80:80 -d nginx

此命令将 Nginx 运行在后台并映射到宿主机的 80 端口。

四、Docker 挂载 HTML 文件实现实时刷新数据

在实际开发中,我们可能需要实时更新 Nginx 提供的静态资源。可以通过 Docker 的挂载功能来实现这一点。

4.1 准备 HTML 文件

创建一个 HTML 文件夹,并在其中添加一个简单的 HTML 文件。

mkdir ~/nginx-html
echo "<h1>Hello, Nginx!</h1>" > ~/nginx-html/index.html

4.2 启动 Nginx 容器并挂载目录

使用以下命令启动 Nginx 容器,同时将宿主机的 HTML 文件夹挂载到容器内:

sudo docker run --name my-nginx -p 80:80 -v ~/nginx-html:/usr/share/nginx/html -d nginx

在这个命令中,-v ~/nginx-html:/usr/share/nginx/html 将宿主机的 ~/nginx-html 目录挂载到 Nginx 容器的 /usr/share/nginx/html 目录中。

4.3 实时刷新数据

修改 ~/nginx-html/index.html 文件的内容,Nginx 会自动加载新的内容。比如可以添加如下内容:

<h1>Hello, Nginx! Updated!</h1>

保存文件后,刷新浏览器,即可看到更新的内容。

五、使用 Nginx 的数据分析系统案例

在数据分析系统中,Nginx 可以用作静态文件服务器和反向代理,以提高系统的性能和安全性。以下是一个简单的使用案例:

5.1 场景描述

假设我们有一个数据分析系统,前端使用 React 构建,后端使用 Node.js 提供 API。我们希望通过 Nginx 将静态文件和 API 请求分发到不同的服务。

5.2 Nginx 配置示例

server {
    listen 80;
    server_name analytics.example.com;

    # 静态文件服务
    location / {
        root /usr/share/nginx/html;  # 前端构建的静态文件路径
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    # 反向代理到 Node.js 后端
    location /api {
        proxy_pass http://localhost:3000;  # Node.js 服务地址
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

六、性能优化

在高并发场景中,优化 Nginx 的性能是非常重要的。以下是一些常见的优化方法:

6.1 调整工作进程和连接数

根据服务器的 CPU 核心数调整 worker_processes 和 worker_connections 参数:

worker_processes auto;  # 自动设置为 CPU 核心数
worker_connections 2048;  # 增加最大连接数

6.2 开启缓存

通过启用缓存,减轻后端服务器的压力:

proxy_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

6.3 压缩传输

通过开启 gzip 压缩,减少数据传输量:

gzip on;
gzip_types text/plain application/json application/javascript text/css;
gzip_min_length 1000;  # 只有大于1000字节的文件才进行压缩

总结 

到此这篇关于Nginx常用命令和部署详解以及实战案例的文章就介绍到这了,更多相关Nginx 常用命令和部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx实现if多重判断配置方法示例

    Nginx实现if多重判断配置方法示例

    这篇文章主要介绍了Nginx实现if多重判断配置方法示例,本文直接给出实现代码,需要的朋友可以参考下
    2015-05-05
  • nginx部署vue页面白屏或刷新404问题解决

    nginx部署vue页面白屏或刷新404问题解决

    最近部署vue项目后发现刷新页面会404,本文就来介绍一下nginx部署vue页面白屏或刷新404问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • nginx日志按天生成和定期删除日志的方法

    nginx日志按天生成和定期删除日志的方法

    日志文件大会影响访问的速度和查找难度。本篇文章主要介绍了nginx日志按天生成和定期删除日志的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • 一文详解Nginx中location的使用方法

    一文详解Nginx中location的使用方法

    本篇博客介绍了nginx的核心配置模块中的location部分的详解,包括location的语法规则(=  ^~  ~  ~*  不带符号  \)的功能、用法以及详细的示例,通过本篇博客可以加深对location的使用的理解,需要的朋友可以参考下
    2026-04-04
  • Nginx设置连接超时并进行测试的方法步骤

    Nginx设置连接超时并进行测试的方法步骤

    在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置 Nginx 的连接超时时间来优化资源管理,提高服务器的稳定性,以下是具体的配置方法和测试步骤,希望对你有所帮助
    2025-02-02
  • Nginx反向代理springboot的jar包过程解析

    Nginx反向代理springboot的jar包过程解析

    这篇文章主要介绍了Nginx反向代理springboot的jar包过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 使用Nginx创建临时和永久重定向的具体示例

    使用Nginx创建临时和永久重定向的具体示例

    HTTP 重定向 是将一个域名或地址指向另一个的方法,有几种不同类型的重定向,每种对客户端浏览器意味着不同的事情,最常见的两种类型是临时重定向和永久重定向,本文给大家介绍了使用Nginx创建临时和永久重定向的具体示例,需要的朋友可以参考下
    2024-07-07
  • WebSocket 配置与Nginx 的完美结合(过程详解)

    WebSocket 配置与Nginx 的完美结合(过程详解)

    本文详细介绍了如何在Nginx中配置WebSocket,确保其在生产环境中的性能与稳定性,从安装Nginx开始,到基本配置的设定,再到重启Nginx应用配置,同时,介绍了多种验证WebSocket配置正确性的方法,如使用浏览器的开发者工具、wscat测试工具及编写客户端代码
    2024-11-11
  • Nginx核心参数worker_processes的设置策略

    Nginx核心参数worker_processes的设置策略

    在 Nginx 的配置文件中,worker_processes 可能是最不起眼的一个参数,但它却是决定服务器性能的基石,今天,我们就把这个参数彻底讲透:它到底是什么?怎么设才最科学,需要的朋友可以参考下
    2026-01-01
  • Nginx try_files 指令常见用法示例

    Nginx try_files 指令常见用法示例

    try_files是Nginx用于按顺序检查文件是否存在并返回第一个找到的文件,本文给大家介绍Nginx try_files 指令常见用法示例,感兴趣的朋友跟随小编一起看看吧
    2026-05-05

最新评论