Ubuntu服务器已下载Nginx安装包的安装指南
文章目录
- Ubuntu 服务器已下载 Nginx 安装包的安装指南
- 一、安装前准备:检查依赖
- 二、解压已下载的 Nginx 安装包
- 三、配置 Nginx 安装参数
- 四、编译与安装 Nginx
- 五、验证安装:启动 Nginx 并测试
- 5.1 启动 Nginx 服务
- 5.2 验证服务是否启动
- 六、常用 Nginx 命令(后续管理用)
- 七、配置 Nginx 开机自启(systemd 方式)
- 7.1 创建 Nginx 服务文件
- 7.2 写入服务配置内容
- 7.3 启用并验证开机自启
- 八、配置 Nginx 核心目录(html/log/conf)统一存放
- 8.1 第一步:明确各目录默认路径
- 8.2 方法一:通过修改配置文件指定新路径(推荐)
- 8.2.1 创建统一存放目录
- 8.2.2 修改 Nginx 主配置文件
- 8.2.3 启动 Nginx 时指定新配置文件
- 8.3 方法二:通过软链接关联统一目录
- 8.3.1 创建统一存放目录并复制文件
- 8.3.2 删除原目录并创建软链接
- 8.3.3 验证软链接生效
- 九、安装后注意事项(完整补充)
- 十、整体流程总结
Ubuntu 服务器已下载 Nginx 安装包的安装指南
在 Ubuntu 服务器上安装已下载的 Nginx,需完成依赖安装、解压编译、配置安装及服务验证等步骤,以下是详细操作流程。
一、安装前准备:检查依赖
Nginx 编译安装需依赖gcc
、pcre
、zlib
等库,先通过 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 80sudo 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 ServerAfter=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
,指定新的html
和log
路径:
sudo vim /data/nginx/conf/nginx.conf
在文件中修改以下内容(找到对应配置项替换):
\# 1. 修改网页文件(html)路径(找到"root"配置项)server {  listen 80;  server\_name localhost;  root /data/nginx/html; # 原路径:/usr/local/nginx/html  index index.html index.htm;  # 其他配置保持不变...}\# 2. 修改日志文件(log)路径(找到"access\_log"和"error\_log"配置项)http {  # 其他配置...  access\_log /data/nginx/log/access.log; # 原路径:/usr/local/nginx/logs/access.log  error\_log /data/nginx/log/error.log; # 原路径:/usr/local/nginx/logs/error.log  # 其他配置保持不变...}
修改后保存退出(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/confsudo rm -rf /usr/local/nginx/htmlsudo rm -rf /usr/local/nginx/logs\# 创建软链接,指向统一目录sudo ln -s /data/nginx/conf /usr/local/nginx/confsudo ln -s /data/nginx/html /usr/local/nginx/htmlsudo 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
九、安装后注意事项(完整补充)
- 配置文件路径管理:
-
若用方法一(修改配置文件指定路径):主配置文件固定为
/data/nginx/conf/nginx.conf
,后续所有配置修改需在此文件操作,避免误改原路径下的空文件; -
若用方法二(软链接):可通过原路径
/usr/local/nginx/conf/nginx.conf
或新路径/data/nginx/conf/nginx.conf
修改,两者指向同一文件,修改后需执行sudo /usr/local/nginx/sbin/nginx -t
检查语法正确性。
- 开机自启适配调整:
- 方法一场景:需同步修改
nginx.service
服务文件中的启动命令,添加-c
参数指定新配置路径,否则开机后 Nginx 会因找不到默认配置文件启动失败,完整修改命令如下:
sudo vim /etc/systemd/system/nginx.service\# 将ExecStart行修改为:ExecStart=/usr/local/nginx/sbin/nginx -c /data/nginx/conf/nginx.confsudo systemctl daemon-reload # 重新加载服务配置sudo systemctl restart nginx # 重启服务验证
- 方法二场景:因软链接已关联原目录结构,无需修改服务文件,开机自启可正常生效。
- 日志与网页文件维护:
- 日志清理: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,刷新浏览器即可生效。
- 权限与安全配置:
- 目录权限:统一存放目录
/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 服务。
- 版本与升级提示:
-
查看当前版本:通过
sudo /usr/local/nginx/sbin/nginx -v
查看已安装版本,如输出nginx version: nginx/1.24.0
; -
升级建议:若需升级 Nginx,需下载对应版本的压缩包,重复 “解压→配置→编译→安装” 流程,但安装前需停止当前 Nginx 服务(
sudo /usr/local/nginx/sbin/nginx -s stop
),且升级后需重新配置统一目录(方法一或方法二)。
十、整体流程总结
本文围绕 “已下载 Nginx 安装包” 的前提,完成了从依赖安装到服务上线的全流程,核心步骤可归纳为:
-
依赖准备:安装
gcc
、pcre
等编译依赖,避免编译报错; -
解压编译:解压安装包,通过
./configure
指定安装路径,make
编译后sudo make install
完成安装; -
基础验证:启动 Nginx,通过
curl
和浏览器验证服务正常运行,开放 80 端口支持外部访问; -
高级配置:配置开机自启确保服务器重启后服务不中断,通过两种方法实现
html/log/conf
目录统一存放,便于后续管理; -
维护保障:明确配置文件、日志、网页文件的操作路径,补充权限设置、日志清理等维护技巧,确保服务稳定运行。
按照上述步骤操作,可在 Ubuntu 服务器上快速完成 Nginx 的安装与配置,满足基础网页服务或后续反向代理、HTTPS 等进阶需求。