news 2026/6/7 7:55:28

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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_processesworker_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字节的文件才进行压缩
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 14:00:03

AI如何助力棋牌游戏开发:从代码生成到智能优化

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个基于元开棋牌送6体验金币官网的棋牌游戏项目&#xff0c;包含以下功能&#xff1a;1. 用户注册登录系统&#xff1b;2. 金币赠送和消耗逻辑&#xff1b;3. 多种棋牌游戏玩…

作者头像 李华
网站建设 2026/5/30 14:25:40

Nginx 的 proxy_pass 使用简介

文章目录 1. 基本概念 1.1 proxy_pass 概述1.2 语法1.3 使用场景 2. 基本用法 2.1 HTTP 代理 2.1.1 基本示例2.1.2 绝对根路径 vs 相对路径 2.2 Stream 代理 3. 高级用法 3.1 正则匹配3.2 变量使用3.3 重定向3.4 精确匹配3.5 if 语句3.6 limit_except 4. 实际案例 4.1 转发到多…

作者头像 李华
网站建设 2026/5/28 12:15:59

Nginx 生成、配置SSL证书让浏览器信任证书

文章目录 1.生成SSL证书 1.1生成自签名证书(生成证书方式一)1.2.模拟CA机构方式生成证书(生成证书方式二&#xff0c;推荐) 3.1 生成 CA 的私钥ca.key和自签名证书ca.crt&#xff1a;3.2 生成服务器私钥 server.key&#xff1a;3.3 生成服务器证书请求文件server.csr&#xff…

作者头像 李华
网站建设 2026/5/28 15:40:17

如何查看电脑上是ros1还是ros2呢?

问题描述&#xff1a;如何查看电脑上是ros1还是ros2呢&#xff1f;问题解答&#xff1a;要查看你的电脑上安装的是 ROS 1 还是 ROS 2&#xff0c;可以通过以下几种方式来确认&#xff1a;1. 检查环境变量ROS 通常会在环境变量中设置一些标识&#xff0c;可以通过查看终端中的环…

作者头像 李华
网站建设 2026/5/31 0:30:44

net.sf.jsqlparser.statement.select.Select.getSelectBody()

1、问题原因 发生这个问题就是因为Pagehelper中jsqlparser和Mybatis-puls中jsqlparser冲突&#xff0c;以我的项目来说&#xff0c;我项目中的Pagehelper中jsqlparser版本为4.2而Mybatis-puls中jsqlparser的版本为4.9&#xff0c;就导致版本兼容问题 2、解决方法 如果你想以…

作者头像 李华
网站建设 2026/5/30 7:56:41

Nginx 安装及配置教程(Windows)【安装】

文章目录 一、 Nginx 下载 1. 官网下载2. 其它渠道 二、 Nginx 安装三、 配置四、 验证五、 其它问题 1. 常用命令2. 跨域问题 软件 / 环境安装及配置目录 一、 Nginx 下载 1. 官网下载 安装地址&#xff1a;https://nginx.org/en/download.html 打开浏览器输入网址 htt…

作者头像 李华