Ubuntu服务器已下载Nginx安装包的安装指南

文章目录

  • [Ubuntu 服务器已下载 Nginx 安装包的安装指南](#Ubuntu 服务器已下载 Nginx 安装包的安装指南)
    • 一、安装前准备:检查依赖
    • [二、解压已下载的 Nginx 安装包](#二、解压已下载的 Nginx 安装包)
    • [三、配置 Nginx 安装参数](#三、配置 Nginx 安装参数)
    • [四、编译与安装 Nginx](#四、编译与安装 Nginx)
    • [五、验证安装:启动 Nginx 并测试](#五、验证安装:启动 Nginx 并测试)
      • [5.1 启动 Nginx 服务](#5.1 启动 Nginx 服务)
      • [5.2 验证服务是否启动](#5.2 验证服务是否启动)
    • [六、常用 Nginx 命令(后续管理用)](#六、常用 Nginx 命令(后续管理用))
    • [七、配置 Nginx 开机自启(systemd 方式)](#七、配置 Nginx 开机自启(systemd 方式))
      • [7.1 创建 Nginx 服务文件](#7.1 创建 Nginx 服务文件)
      • [7.2 写入服务配置内容](#7.2 写入服务配置内容)
      • [7.3 启用并验证开机自启](#7.3 启用并验证开机自启)
    • [八、配置 Nginx 核心目录(html/log/conf)统一存放](#八、配置 Nginx 核心目录(html/log/conf)统一存放)
      • [8.1 第一步:明确各目录默认路径](#8.1 第一步:明确各目录默认路径)
      • [8.2 方法一:通过修改配置文件指定新路径(推荐)](#8.2 方法一:通过修改配置文件指定新路径(推荐))
        • [8.2.1 创建统一存放目录](#8.2.1 创建统一存放目录)
        • [8.2.2 修改 Nginx 主配置文件](#8.2.2 修改 Nginx 主配置文件)
        • [8.2.3 启动 Nginx 时指定新配置文件](#8.2.3 启动 Nginx 时指定新配置文件)
      • [8.3 方法二:通过软链接关联统一目录](#8.3 方法二:通过软链接关联统一目录)
        • [8.3.1 创建统一存放目录并复制文件](#8.3.1 创建统一存放目录并复制文件)
        • [8.3.2 删除原目录并创建软链接](#8.3.2 删除原目录并创建软链接)
        • [8.3.3 验证软链接生效](#8.3.3 验证软链接生效)
    • 九、安装后注意事项(完整补充)
    • 十、整体流程总结

Ubuntu 服务器已下载 Nginx 安装包的安装指南

在 Ubuntu 服务器上安装已下载的 Nginx,需完成依赖安装、解压编译、配置安装及服务验证等步骤,以下是详细操作流程。

一、安装前准备:检查依赖

Nginx 编译安装需依赖gccpcrezlib等库,先通过 APT 命令安装缺失依赖,避免编译报错:

复制代码
\# 更新APT软件源(可选,确保依赖版本最新)

sudo apt update

\# 安装编译依赖

sudo apt install -y gcc g++ make libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
  • gcc/g++:编译 Nginx 源码的编译器;

  • libpcre3-dev:支持 Nginx 的 URL 重写功能;

  • zlib1g-dev:支持 Nginx 的 gzip 压缩;

  • libssl-dev:(可选)支持 HTTPS 协议(若需配置 SSL 则必须安装)。

二、解压已下载的 Nginx 安装包

假设已下载的 Nginx 压缩包(如nginx-1.24.0.tar.gz)存放在/home/ubuntu/downloads/目录,先进入该目录,再解压文件:

复制代码
\# 进入安装包所在目录(替换为你的实际路径)

cd /home/ubuntu/downloads/

\# 解压tar.gz压缩包(替换为你的Nginx文件名)

tar -zxvf nginx-1.24.0.tar.gz

\# 进入解压后的Nginx源码目录

cd nginx-1.24.0

解压后会生成以 Nginx 版本命名的源码目录(如nginx-1.24.0),后续操作均在此目录下进行。

三、配置 Nginx 安装参数

通过./configure命令指定安装路径及功能配置,常用参数如下(基础场景用默认配置即可):

复制代码
\# 基础配置:指定安装路径为/usr/local/nginx(推荐路径,便于管理)

./configure --prefix=/usr/local/nginx

\# (可选)若需支持HTTPS,添加SSL模块配置:

\# ./configure --prefix=/usr/local/nginx --with-http\_ssl\_module
  • --prefix=/usr/local/nginx:指定 Nginx 的安装根目录;

  • --with-http_ssl_module:(可选)启用 SSL 模块,用于后续配置 HTTPS。

执行后若未报错,会生成Makefile文件(编译所需的脚本文件),表示配置成功。

四、编译与安装 Nginx

通过make编译源码,再通过make install完成安装:

复制代码
\# 编译源码(-j4 表示用4个线程编译,加快速度,可根据CPU核心数调整)

make -j4

\# 安装编译后的文件到指定路径(/usr/local/nginx)

sudo make install
  • 编译过程约 1-3 分钟(取决于服务器性能),无报错则编译成功;

  • 安装完成后,/usr/local/nginx目录下会生成sbin(执行文件)、conf(配置文件)、html(默认网页)等子目录。

五、验证安装:启动 Nginx 并测试

5.1 启动 Nginx 服务

通过 Nginx 安装目录下的nginx执行文件启动服务:

复制代码
\# 启动Nginx(需用绝对路径,或配置环境变量后直接用nginx命令)

sudo /usr/local/nginx/sbin/nginx

5.2 验证服务是否启动

复制代码
\# 查看Nginx进程(若有nginx进程,说明启动成功)

ps aux | grep nginx

\# 测试Nginx默认页面(本地访问,或服务器IP访问)

curl http://127.0.0.1
  • curl命令返回<h1>Welcome to nginx!</h1>,表示 Nginx 已正常运行;

  • 若需外部访问,需开放 Ubuntu 的 80 端口(Nginx 默认端口):

    # 开放80端口(Ubuntu防火墙用ufw)

    sudo ufw allow 80

    sudo ufw reload

之后在本地浏览器输入服务器 IP,即可看到 Nginx 默认欢迎页。

六、常用 Nginx 命令(后续管理用)

安装完成后,常用命令需通过/usr/local/nginx/sbin/nginx执行,核心命令如下:

复制代码
\# 停止Nginx服务

sudo /usr/local/nginx/sbin/nginx -s stop

\# 重启Nginx服务(配置文件修改后需重启)

sudo /usr/local/nginx/sbin/nginx -s reload

\# 检查Nginx配置文件语法(修改conf后先检查,避免报错)

sudo /usr/local/nginx/sbin/nginx -t

七、配置 Nginx 开机自启(systemd 方式)

Ubuntu 通过systemd管理服务,需手动创建 Nginx 服务文件,实现开机自启:

7.1 创建 Nginx 服务文件

使用vim编辑服务文件(路径固定为/etc/systemd/system/nginx.service):

复制代码
sudo vim /etc/systemd/system/nginx.service

7.2 写入服务配置内容

在打开的文件中,粘贴以下内容(需确保ExecStart路径与 Nginx 安装路径一致):

复制代码
\[Unit]

Description=Nginx Web Server

After=network.target  # 网络服务启动后,再启动Nginx

\[Service]

Type=forking  # Nginx以多进程模式运行(fork方式)

ExecStart=/usr/local/nginx/sbin/nginx  # Nginx启动命令路径

ExecReload=/usr/local/nginx/sbin/nginx -s reload  # 重启命令

ExecStop=/usr/local/nginx/sbin/nginx -s stop  # 停止命令

PrivateTmp=true  # 为Nginx分配独立临时目录

\[Install]

WantedBy=multi-user.target  # 多用户模式下生效(服务器常用模式)

粘贴完成后,按Esc键,输入:wq保存并退出vim

7.3 启用并验证开机自启

复制代码
\# 重新加载systemd配置(识别新创建的nginx.service文件)

sudo systemctl daemon-reload

\# 设置Nginx开机自启

sudo systemctl enable nginx

\# 验证开机自启是否设置成功(返回enabled表示成功)

sudo systemctl is-enabled nginx

\# (可选)重启服务器,测试开机自启效果

sudo reboot

\# 重启后,通过以下命令检查Nginx是否自动启动

ps aux | grep nginx

八、配置 Nginx 核心目录(html/log/conf)统一存放

默认情况下,Nginx 的html(网页文件)、log(日志文件)、conf(配置文件)分散在安装根目录下,以下提供两种方法将它们统一存放到指定路径(以统一存放在/data/nginx/为例)。

8.1 第一步:明确各目录默认路径

先确认默认目录位置(基于前文--prefix=/usr/local/nginx安装路径):

  • 默认 conf 目录/usr/local/nginx/conf(存放 nginx.conf 等配置文件)

  • 默认 html 目录/usr/local/nginx/html(存放默认欢迎页等网页文件)

  • 默认 log 目录/usr/local/nginx/logs(存放 access.log、error.log 等日志文件)

8.2 方法一:通过修改配置文件指定新路径(推荐)

适合希望保留原目录结构,仅通过配置指向统一路径的场景:

8.2.1 创建统一存放目录
复制代码
\# 创建统一根目录及子目录

sudo mkdir -p /data/nginx/{conf,html,log}

\# 复制默认文件到新目录(保持原有配置和网页文件)

sudo cp -r /usr/local/nginx/conf/\* /data/nginx/conf/

sudo cp -r /usr/local/nginx/html/\* /data/nginx/html/

sudo cp -r /usr/local/nginx/logs/\* /data/nginx/log/  # 复制现有日志(可选)
8.2.2 修改 Nginx 主配置文件

编辑新目录下的nginx.conf,指定新的htmllog路径:

复制代码
sudo vim /data/nginx/conf/nginx.conf

在文件中修改以下内容(找到对应配置项替换):

复制代码
\# 1. 修改网页文件(html)路径(找到"root"配置项)

server {

&#x20;   listen       80;

&#x20;   server\_name  localhost;

&#x20;   root   /data/nginx/html;  # 原路径:/usr/local/nginx/html

&#x20;   index  index.html index.htm;

&#x20;   # 其他配置保持不变...

}

\# 2. 修改日志文件(log)路径(找到"access\_log"和"error\_log"配置项)

http {

&#x20;   # 其他配置...

&#x20;   access\_log  /data/nginx/log/access.log;  # 原路径:/usr/local/nginx/logs/access.log

&#x20;   error\_log   /data/nginx/log/error.log;   # 原路径:/usr/local/nginx/logs/error.log

&#x20;   # 其他配置保持不变...

}

修改后保存退出(Esc:wq)。

8.2.3 启动 Nginx 时指定新配置文件
复制代码
\# 先停止原Nginx服务

sudo /usr/local/nginx/sbin/nginx -s stop

\# 启动时通过"-c"指定新conf路径

sudo /usr/local/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf

\# 验证配置是否生效(访问网页和查看日志路径)

curl http://127.0.0.1  # 正常返回则html路径生效

ls /data/nginx/log/     # 有access.log和error.log则log路径生效

8.3 方法二:通过软链接关联统一目录

适合希望保留原 Nginx 命令习惯(无需指定配置文件),通过链接指向统一路径的场景:

8.3.1 创建统一存放目录并复制文件
复制代码
\# 同方法一,创建目录并复制默认文件

sudo mkdir -p /data/nginx/{conf,html,log}

sudo cp -r /usr/local/nginx/conf/\* /data/nginx/conf/

sudo cp -r /usr/local/nginx/html/\* /data/nginx/html/

sudo cp -r /usr/local/nginx/logs/\* /data/nginx/log/
8.3.2 删除原目录并创建软链接
复制代码
\# 先停止Nginx服务(避免占用文件)

sudo /usr/local/nginx/sbin/nginx -s stop

\# 删除原目录(确保已复制文件,避免数据丢失)

sudo rm -rf /usr/local/nginx/conf

sudo rm -rf /usr/local/nginx/html

sudo rm -rf /usr/local/nginx/logs

\# 创建软链接,指向统一目录

sudo ln -s /data/nginx/conf /usr/local/nginx/conf

sudo ln -s /data/nginx/html /usr/local/nginx/html

sudo ln -s /data/nginx/log /usr/local/nginx/logs
8.3.3 验证软链接生效
复制代码
\# 启动Nginx(无需指定配置文件,默认读取链接后的conf)

sudo /usr/local/nginx/sbin/nginx

\# 验证链接是否正确(ls -l查看链接指向)

ls -l /usr/local/nginx/ | grep -E "conf|html|logs"

\# 输出类似如下内容表示成功:

\# lrwxrwxrwx 1 root root  14 Oct 18 15:00 conf -> /data/nginx/conf

\# lrwxrwxrwx 1 root root  14 Oct 18 15:00 html -> /data/nginx/html

\# lrwxrwxrwx 1 root root  13 Oct 18 15:00 logs -> /data/nginx/log

九、安装后注意事项(完整补充)

  1. 配置文件路径管理
  • 若用方法一(修改配置文件指定路径):主配置文件固定为/data/nginx/conf/nginx.conf,后续所有配置修改需在此文件操作,避免误改原路径下的空文件;

  • 若用方法二(软链接):可通过原路径/usr/local/nginx/conf/nginx.conf或新路径/data/nginx/conf/nginx.conf修改,两者指向同一文件,修改后需执行sudo /usr/local/nginx/sbin/nginx -t检查语法正确性。

  1. 开机自启适配调整
  • 方法一场景:需同步修改nginx.service服务文件中的启动命令,添加-c参数指定新配置路径,否则开机后 Nginx 会因找不到默认配置文件启动失败,完整修改命令如下:

    sudo vim /etc/systemd/system/nginx.service

    # 将ExecStart行修改为:ExecStart=/usr/local/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf

    sudo systemctl daemon-reload # 重新加载服务配置

    sudo systemctl restart nginx # 重启服务验证

  • 方法二场景:因软链接已关联原目录结构,无需修改服务文件,开机自启可正常生效。

  1. 日志与网页文件维护
  • 日志清理:Nginx 日志会持续增长,建议定期清理或配置日志切割(如通过logrotate工具),避免占用过多磁盘空间,示例清理 30 天前日志的命令:

    # 方法一日志路径清理

    find /data/nginx/log/ -name "*.log" -mtime +30 -delete

    # 方法二日志路径清理(软链接路径同样生效)

    find /usr/local/nginx/logs/ -name "*.log" -mtime +30 -delete

  • 网页文件更新:将自定义网页文件放入/data/nginx/html/(方法一)或/usr/local/nginx/html/(方法二),替换默认的index.html即可,更新后无需重启 Nginx,刷新浏览器即可生效。

  1. 权限与安全配置
  • 目录权限:统一存放目录/data/nginx/需设置合理权限,避免普通用户误修改,建议设置所有者为root,权限为755,命令如下:

    sudo chown -R root:root /data/nginx/

    sudo chmod -R 755 /data/nginx/

  • 防火墙补充:若后续配置 HTTPS(443 端口),需开放 443 端口,命令为sudo ufw allow 443 && sudo ufw reload,避免外部无法访问 HTTPS 服务。

  1. 版本与升级提示
  • 查看当前版本:通过sudo /usr/local/nginx/sbin/nginx -v查看已安装版本,如输出nginx version: nginx/1.24.0

  • 升级建议:若需升级 Nginx,需下载对应版本的压缩包,重复 "解压→配置→编译→安装" 流程,但安装前需停止当前 Nginx 服务(sudo /usr/local/nginx/sbin/nginx -s stop),且升级后需重新配置统一目录(方法一或方法二)。

十、整体流程总结

本文围绕 "已下载 Nginx 安装包" 的前提,完成了从依赖安装到服务上线的全流程,核心步骤可归纳为:

  1. 依赖准备 :安装gccpcre等编译依赖,避免编译报错;

  2. 解压编译 :解压安装包,通过./configure指定安装路径,make编译后sudo make install完成安装;

  3. 基础验证 :启动 Nginx,通过curl和浏览器验证服务正常运行,开放 80 端口支持外部访问;

  4. 高级配置 :配置开机自启确保服务器重启后服务不中断,通过两种方法实现html/log/conf目录统一存放,便于后续管理;

  5. 维护保障:明确配置文件、日志、网页文件的操作路径,补充权限设置、日志清理等维护技巧,确保服务稳定运行。

按照上述步骤操作,可在 Ubuntu 服务器上快速完成 Nginx 的安装与配置,满足基础网页服务或后续反向代理、HTTPS 等进阶需求。

相关推荐
孪生质数-23 分钟前
AI 应用实践篇——让大模型真正开始工作
linux·运维·服务器·人工智能·深度学习·语言模型·llama
zcmodeltech1 小时前
智能矿井沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的感知-传输-控制一体化方案
服务器·数据库·分布式·stm32·单片机·嵌入式硬件
有续技术2 小时前
哈斯 (Haas) 机床 IP、端口号配置内容总结
运维·服务器
千河殇 多想和她2 小时前
如何在Reaonix中使用CodeGraph以及CodeGraph效果实测经验分享
linux·运维·ubuntu
心念枕惊2 小时前
新写了个直播录制工具,可录制抖音快手斗鱼直播
运维·服务器·数据库
躺不平的理查德2 小时前
CMAKE备忘录
linux·运维·服务器
9624563 小时前
跨域与私有网络访问限制排查实录
运维·服务器·网络
不在逃避q3 小时前
一步一步学习使用LiveBindings()TListView进阶使用(),打造天气预报程序
服务器·数据库·学习
诸葛老刘4 小时前
Ubuntu 服务器常用运维命令
运维·服务器·ubuntu
红叶舞4 小时前
成数据绑定对象,在应用程序中处理完数据后,将更新的数据序列化为JSON传回远端服务器,很多移动应用使用了这种模式处理服务器端的数据。 ...
运维·服务器·json