跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash大前端

Linux 系统下安装配置 Nginx 图文教程

Linux 系统下安装配置 Nginx 图文教程主要涵盖依赖安装、源码编译部署、服务启动与防火墙设置、配置文件详解及常用场景优化。步骤包括解压安装包、执行 configure 指定目录、编译安装、配置开机自启。核心配置涉及全局块、events 块及 http 区域,支持反向代理、Gzip 压缩、动静分离及多站点监听等高级功能。通过调整 worker_processes 和 worker_connections 可优化并发性能,结合 try_files 解决前端路由刷新 404 问题,确保服务器稳定运行。

忘忧发布于 2026/3/16更新于 2026/6/2631 浏览

Linux 系统下安装配置 Nginx

1. 环境准备与依赖安装

# 安装当前路径下所有安装包
rpm -Uvh *.rpm --nodeps --force

1.1 安装编译工具

如果遇到报错'./configure: error: C compiler cc is not found',需安装 gcc:

yum -y install gcc gcc-c++ autoconf automake make

2. 安装 Nginx

找到 Nginx 的安装包进行解压:

# 解压安装包
tar -zxvf nginx-1.24.0.tar.gz

进入解压之后的 nginx 目录下:

# 进入 nginx 目录
cd /usr/local/nginx-1.24.0

执行配置脚本,–prefix 是指定安装目录:

# 执行配置脚本
./configure --prefix=/usr/local/nginx

编译安装:

# 对 nginx 编译和安装
make && make install

3. 启动 Nginx

启动命令:

# 启动
/usr/local/nginx/sbin/nginx
# 停止
/usr/local/nginx/sbin/nginx -s stop
# 重载
/usr/local/nginx/sbin/nginx -s reload
# 杀掉 nginx
/usr/local/nginx/sbin/nginx -s quit

查询 nginx 是否启动:

ps -ef | grep nginx

访问 nginx 页面: 在浏览器中输入 ip + 端口号访问(端口默认 80)。

如果浏览器访问不通,请检查是否开启防火墙限制,将防火墙关闭或将端口加入到防火墙白名单中:

# 查看已放行的端口
firewall-cmd --list-all
# 将 80 端口加入到防火墙放行白名单中,并重载防火墙
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
# 临时关闭防火墙
systemctl stop firewalld.service
# 永久关闭防火墙
systemctl disable firewalld.service

设置 nginx 的开机启动:

vim /etc/rc.local
# 文本底部追加
/usr/local/nginx/sbin/nginx

[图片]

4. Nginx 配置详解

4.1 修改配置端口和默认访问页面

# 找到 nginx 的配置文件,编辑
vi /usr/local/nginx/conf/nginx.conf

修改页面内容:

# 这里放置的是 nginx 默认显示的页面
cd /usr/local/nginx/html/

4.2 nginx.conf 配置文件说明

# user nobody; # 运行 nginx 的默认账号
worker_processes 1; # nginx 进程数,建议设置为等于 CPU 总核心数

# 事件区块开始
events {
    # 单个进程最大链接数
    worker_connections 1024;
}

# 设定 http 服务器
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;

    server {
        listen 80;
        server_name localhost;

        location / {
            root html;
            index index.html index.htm;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
}

分块理解:

  1. 全局区域:从配置文件开始到 events 块之间,设置用户、进程数、PID 路径、日志等。
  2. events 区域:影响网络连接,如多 worker 下的序列化、事件驱动模型、最大连接数。
  3. http 区域:代理、缓存和日志定义等。包含 http 全局块、server 块。
    • server 块:相当于虚拟主机。
    • location 块:基于请求字符串匹配,处理地址定向、数据缓存等。

5. Nginx 常用场景配置

5.1 反向代理

前端主流解决跨域方式之一。遇到以 /police 开头的接口,转发到后端 IP:

location /police/ {
    proxy_pass http://192.168.12.122:8852/police/;
    proxy_redirect default;
    proxy_http_version 1.1;
    proxy_connect_timeout 60;
    proxy_send_timeout 60;
    proxy_read_timeout 90;
}

5.2 开启 Gzip

提升浏览速度,节约带宽:

http {
    gzip on;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_static on;
    gzip_proxied any;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
}

5.3 前端页面刷新产生 404 问题

SPA 路由模式下,刷新页面需返回 index.html:

location / {
    try_files $uri $uri/ /index.html;
}

5.4 维护页面

系统升级时显示维护页:

# rewrite ^(.*)$ /maintainace.html break;

5.5 多站点监听

一个 IP 上线多个网站,复制 server 块并修改端口和根目录:

server {
    listen 8080;
    root /data/www/hexo;
    index index.html;
    location / { try_files $uri $uri/ /index.html; }
}

server {
    listen 8081;
    root /data/www/geov;
    index index.html;
    location / {}
}

5.6 动静分离

静态资源部署在 Nginx,动态请求转发给后台应用:

location /image/ { root /var/filecenter/; }
location /static/ { root /var/filecenter/; }
location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {
    root /Users/dalaoyang/Downloads/static;
}

6. 常用命令扩展

  • 强制停止:./nginx -s stop
  • 优雅停止:./nginx -s quit
  • 重启:./nginx -s reload
  • 检查配置:./nginx -t
  • 查看版本:./nginx -v (详细版 ./nginx -V)
  • 杀掉进程:killall -9 nginx 或 kill -9 <pid>

目录

  1. Linux 系统下安装配置 Nginx
  2. 1. 环境准备与依赖安装
  3. 安装当前路径下所有安装包
  4. 1.1 安装编译工具
  5. 2. 安装 Nginx
  6. 解压安装包
  7. 进入 nginx 目录
  8. 执行配置脚本
  9. 对 nginx 编译和安装
  10. 3. 启动 Nginx
  11. 启动
  12. 停止
  13. 重载
  14. 杀掉 nginx
  15. 查看已放行的端口
  16. 将 80 端口加入到防火墙放行白名单中,并重载防火墙
  17. 临时关闭防火墙
  18. 永久关闭防火墙
  19. 文本底部追加
  20. 4. Nginx 配置详解
  21. 4.1 修改配置端口和默认访问页面
  22. 找到 nginx 的配置文件,编辑
  23. 这里放置的是 nginx 默认显示的页面
  24. 4.2 nginx.conf 配置文件说明
  25. user nobody; # 运行 nginx 的默认账号
  26. 事件区块开始
  27. 设定 http 服务器
  28. 5. Nginx 常用场景配置
  29. 5.1 反向代理
  30. 5.2 开启 Gzip
  31. 5.3 前端页面刷新产生 404 问题
  32. 5.4 维护页面
  33. rewrite ^(.*)$ /maintainace.html break;
  34. 5.5 多站点监听
  35. 5.6 动静分离
  36. 6. 常用命令扩展
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 10 款常用 AIGC 降重工具及功能对比
  • Rust 错误处理与测试:打造健壮可维护应用的核心实践
  • PostgreSQL 动态分区裁剪技术:查询性能优化实战
  • WooNuxt 电商前端架构深度解析
  • Java 多线程并发编程:并发容器与线程协作实战
  • Stable Diffusion 详细使用教程:安装、配置与实战指南
  • MySQL 数据类型详解:从数值到字符串的选型指南
  • Java 中对象的几种比较方式
  • KoboldAI 安装与配置指南:AI 写作工具入门
  • Java synchronized 关键字详解:从入门到原理
  • 旧安卓手机部署 Typecho 博客并实现外网访问
  • Python FastAPI 入门实战:从环境搭建到核心功能详解
  • SpringBoot 原理:配置优先级、Bean 管理与自动配置
  • OpenClaw 本地部署全流程:AI Agent 框架搭建与安全建议
  • 降低 AIGC 检测率的 15 个实用提示词与写作技巧
  • 双指针算法实战:移动零与复写零详解
  • 字节跳动音视频前端一面面经与性能优化深度解析
  • Java 核心面试题与解析:基础、并发、容器篇
  • 在 Cursor 中配置和使用 MCP 服务指南
  • Llama-Factory 大模型微调实战指南

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online