欢迎光临
我们一直在努力

Ubuntu 系统 完整部署 Nginx 流程

适用 Ubuntu 16.04 / 18.04 / 20.04 / 22.04 所有主流版本,包含两种安装方式,按需选择即可:

  •  apt 包管理器安装(推荐):最简单、稳定、官方维护,适合 99% 的生产 / 开发场景,一键安装 + 自动配置环境,优先选这个!
  • 「源码编译安装」:适合需要自定义 Nginx 模块、指定版本的特殊场景,步骤稍多。
  • 一、方式一:apt 包管理器安装 Nginx(优先选择)

    步骤 1:更新系统软件源缓存

    Ubuntu 的软件源列表需要定期更新,确保安装的是最新稳定版,避免依赖问题,执行命令:

    sudo apt update && sudo apt upgrade -y

    sudo:管理员权限,必须加,否则会权限不足。
    apt update:更新软件源的包索引。
    apt upgrade -y:自动更新本地已安装的软件包(可选,但建议执行)。

    步骤 2:一键安装 Nginx

    直接执行官方源安装命令,系统会自动处理所有依赖,无需手动配置:

    sudo apt install nginx -y

    安装完成后,Nginx 会被自动设置为【开机自启】+【立即启动】,无需手动启动!

    步骤 3:检查 Nginx 安装状态 & 验证是否启动成功

    方式 1:查看 Nginx 运行状态

    sudo systemctl status nginx

    • 出现active (running) 绿色字样 → 启动成功 
    • 出现inactive (dead) → 未启动,执行启动命令即可

    方式 2:验证 Nginx 版本

    nginx -v

    输出类似 nginx version: nginx/1.18.0 (Ubuntu) 即代表安装成功。

    方式 3:浏览器访问验证

    本地浏览器输入服务器的 IP 地址 即可(无需加端口,默认 80 端口),例如 http://192.168.1.100
    如果看到 Ubuntu 默认的 Nginx 欢迎页面 → 部署成功。

    二、Nginx 核心常用命令

    Ubuntu 下 Nginx 的服务管理,统一使用 systemctl 命令(兼容所有新版本 Ubuntu),所有命令都需要 sudo 管理员权限,按场景整理如下:

    基础启停重启

    # 启动 Nginx
    sudo systemctl start nginx

    # 停止 Nginx
    sudo systemctl stop nginx

    # 重启 Nginx(修改配置文件后,必须执行重启才生效!)
    sudo systemctl restart nginx

    # 重新加载配置(推荐!修改配置后,不中断服务平滑生效,生产环境优先用这个)
    sudo systemctl reload nginx

    开机自启配置

    # 设置 Nginx 开机自动启动(apt安装默认已开启,源码安装需要手动执行)
    sudo systemctl enable nginx

    # 关闭 Nginx 开机自启
    sudo systemctl disable nginx

    状态查询

    # 查看 Nginx 当前运行状态
    sudo systemctl status nginx

    三、Nginx 核心目录结构

    不管是 apt安装 还是 源码安装,必须记住目录位置,否则无法修改配置、查看日志,以下是 apt 安装的标准目录(重中之重):

    /etc/nginx/                # Nginx 主配置根目录(所有配置都在这里)
    ├── nginx.conf             # Nginx 核心主配置文件(全局配置)
    ├── sites-available/       # 存放所有网站的【站点配置文件】(默认有default)
    ├── sites-enabled/         # 启用的站点配置(软链接到sites-available里的文件)
    /var/www/html/             # Nginx 默认的网站根目录(放你的前端项目代码)
    /var/log/nginx/            # Nginx 日志目录 → access.log(访问日志) error.log(错误日志)
    /usr/sbin/nginx            # Nginx 可执行程序路径

    关键说明:

  • 新增网站 / 部署项目时,建议在 sites-available 新建配置文件,再软链接到 sites-enabled 启用,不修改默认的 default 配置。
  • 日志排查:网站访问报错时,优先看 /var/log/nginx/error.log,能快速定位问题。
  • 四、Ubuntu 防火墙放行 Nginx 端口

    Ubuntu 默认安装了 ufw 防火墙,默认是关闭的,但生产环境必须开启防火墙,否则外网无法访问 Nginx!
    Nginx 默认使用 80 端口(HTTP) 和 443 端口(HTTPS,配置 SSL 证书后用),必须放行这两个端口,提供两种放行方式,任选其一即可:

    方式 1:直接放行 80/443 端口

    # 放行80端口(HTTP)
    sudo ufw allow 80/tcp

    # 放行443端口(HTTPS)
    sudo ufw allow 443/tcp

    # 启用防火墙(执行一次即可,启用后不会影响已放行的端口)
    sudo ufw enable

    # 查看防火墙放行规则(验证是否生效)
    sudo ufw status

    方式 2:直接放行 Nginx 服务

    # 直接允许 Nginx 所有相关端口
    sudo ufw allow 'Nginx Full'

    # 启用防火墙
    sudo ufw enable

    # 查看状态
    sudo ufw status

    放行成功后,浏览器才能正常访问你的 Nginx 服务!

    五、方式二:源码编译安装 Nginx

    适用场景:

    • 需要安装指定版本的 Nginx(比如最新版、稳定版)
    • 需要自定义编译 Nginx 模块(比如 ssl、gzip、第三方模块)
    • 对 Nginx 有定制化需求,apt 安装的版本满足不了时使用

    完整编译安装步骤

    步骤 1:安装编译依赖环境

    sudo apt update && sudo apt install -y gcc g++ make libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

    步骤 2:下载 Nginx 源码包

    # 进入下载目录
    cd /usr/local/src

    # 下载最新稳定版(可去nginx官网换最新版本号)
    wget https://nginx.org/download/nginx-1.24.0.tar.gz

    # 解压源码包
    tar -zxvf nginx-1.24.0.tar.gz

    # 进入解压目录
    cd nginx-1.24.0

    步骤 3:配置编译参数(核心,指定安装路径 + 模块)

    sudo ./configure –prefix=/usr/local/nginx \\
    –with-http_ssl_module \\
    –with-http_gzip_static_module \\
    –with-http_stub_status_module

    • –prefix:指定 Nginx 安装目录 → /usr/local/nginx
    • 后面的参数是启用常用模块(SSL / 压缩 / 状态监控),按需添加即可

    步骤 4:编译 + 安装

    # 编译(多核CPU可加 -j4 加速,比如 make -j4)
    sudo make

    # 安装
    sudo make install

    步骤 5:源码安装的 Nginx 常用命令

    # 启动
    sudo /usr/local/nginx/sbin/nginx

    # 停止
    sudo /usr/local/nginx/sbin/nginx -s stop

    # 重启
    sudo /usr/local/nginx/sbin/nginx -s reload

    # 查看版本
    /usr/local/nginx/sbin/nginx -v

    步骤 6:源码安装 必做:设置开机自启

    源码安装的 Nginx不会自动配置开机自启,需要手动添加系统服务,执行以下命令即可:

    sudo echo '[Unit]
    Description=nginx – high performance web server
    Documentation=http://nginx.org/en/docs/
    After=network-online.target remote-fs.target nss-lookup.target
    Wants=network-online.target

    [Service]
    Type=forking
    PIDFile=/usr/local/nginx/logs/nginx.pid
    ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s stop
    PrivateTmp=true

    [Install]
    WantedBy=multi-user.target' > /lib/systemd/system/nginx.service

    # 重新加载系统服务
    sudo systemctl daemon-reload

    # 设置开机自启
    sudo systemctl enable nginx

    之后就可以和 apt 安装一样,使用 systemctl start/stop/restart nginx 命令了。

    六、部署前端项目(Vue/React/ 静态 HTML)快速实操

    部署 Nginx 的核心目的就是运行前端项目,这里给最简步骤,所有前端项目通用:

  • 打包你的前端项目,得到 dist 目录(Vue/React)或静态 HTML/CSS/JS 文件。
  • 将打包后的文件上传到服务器的 /var/www/html/ 目录(覆盖原有文件即可)。
  • 修改 Nginx 配置文件 /etc/nginx/sites-available/default,确保根目录指向 /var/www/html。
  • 执行 sudo systemctl reload nginx 平滑生效。
  • 浏览器访问服务器 IP,即可看到你的项目。
  • 赞(0)
    未经允许不得转载:171主机测评 » Ubuntu 系统 完整部署 Nginx 流程
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址