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 等进阶需求。

相关推荐
Do_GH3 小时前
【Linux】07.Ubuntu开发环境部署
linux·运维·ubuntu
孤独得猿4 小时前
聊天室项目开发——etcd的安装和使用
linux·服务器·c++·etcd
siriuuus4 小时前
Linux Tomcat 简单使用及 Nginx 反向代理
linux·nginx·tomcat
竹等寒5 小时前
Linux-网络安全私房菜(二)
linux·服务器·web安全
早睡冠军候选人5 小时前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
sulikey5 小时前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
叶凡要飞5 小时前
RTX5060Ti安装双系统ubuntu22.04各种踩坑点(黑屏,引导区修复、装驱动、server版本安装)
人工智能·python·yolo·ubuntu·机器学习·操作系统
li3714908907 小时前
nginx报400bad request 请求头过大异常处理
java·运维·nginx
游戏开发爱好者88 小时前
FTP 抓包分析实战,命令、被动主动模式要点、FTPS 与 SFTP 区别及真机取证流程
运维·服务器·网络·ios·小程序·uni-app·iphone