
在 Ubuntu 服务器上安装已下载的 Nginx,需完成依赖安装、解压编译、配置安装及服务验证等步骤,以下是详细操作流程。
Nginx 编译安装需依赖gcc、pcre、zlib等库,先通过 APT 命令安装缺失依赖,避免编译报错:
|
1 2 3 4 |
\# 更新APT软件源(可选,确保依赖版本最新) sudo apt update \# 安装编译依赖 sudo apt install -y gcc g++ make libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev |
假设已下载的 Nginx 压缩包(如nginx-1.24.0.tar.gz)存放在/home/ubuntu/downloads/目录,先进入该目录,再解压文件:
|
1 2 3 4 5 6 |
\# 进入安装包所在目录(替换为你的实际路径) 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),后续操作均在此目录下进行。
通过./configure命令指定安装路径及功能配置,常用参数如下(基础场景用默认配置即可):
|
1 2 3 4 |
\# 基础配置:指定安装路径为/usr/local/nginx(推荐路径,便于管理) ./configure --prefix=/usr/local/nginx \# (可选)若需支持HTTPS,添加SSL模块配置: \# ./configure --prefix=/usr/local/nginx --with-http\_ssl\_module |
执行后若未报错,会生成Makefile文件(编译所需的脚本文件),表示配置成功。
通过make编译源码,再通过make install完成安装:
|
1 2 3 4 |
\# 编译源码(-j4 表示用4个线程编译,加快速度,可根据CPU核心数调整) make -j4 \# 安装编译后的文件到指定路径(/usr/local/nginx) sudo make install |
通过 Nginx 安装目录下的nginx执行文件启动服务:
|
1 2 |
\# 启动Nginx(需用绝对路径,或配置环境变量后直接用nginx命令) sudo /usr/local/nginx/sbin/nginx |
|
1 2 3 4 |
\# 查看Nginx进程(若有nginx进程,说明启动成功) ps aux | grep nginx \# 测试Nginx默认页面(本地访问,或服务器IP访问) curl http://127.0.0.1 |
|
1 2 3 |
\# 开放80端口(Ubuntu防火墙用ufw) sudo ufw allow 80 sudo ufw reload |
之后在本地浏览器输入服务器 IP,即可看到 Nginx 默认欢迎页。
安装完成后,常用命令需通过/usr/local/nginx/sbin/nginx执行,核心命令如下:
|
1 2 3 4 5 6 |
\# 停止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 |
Ubuntu 通过systemd管理服务,需手动创建 Nginx 服务文件,实现开机自启:
使用vim编辑服务文件(路径固定为/etc/systemd/system/nginx.service):
|
1 |
sudo vim /etc/systemd/system/nginx.service |
在打开的文件中,粘贴以下内容(需确保ExecStart路径与 Nginx 安装路径一致):
|
1 2 3 4 5 6 7 8 9 10 11 |
\[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。
|
1 2 3 4 5 6 7 8 9 10 |
\# 重新加载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(配置文件)分散在安装根目录下,以下提供两种方法将它们统一存放到指定路径(以统一存放在/data/nginx/为例)。
先确认默认目录位置(基于前文--prefix=/usr/local/nginx安装路径):
适合希望保留原目录结构,仅通过配置指向统一路径的场景:
|
1 2 3 4 5 6 |
\# 创建统一根目录及子目录 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/ # 复制现有日志(可选) |
编辑新目录下的nginx.conf,指定新的html和log路径:
|
1 |
sudo vim /data/nginx/conf/nginx.conf |
在文件中修改以下内容(找到对应配置项替换):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
\# 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)。
|
1 2 3 4 5 6 7 |
\# 先停止原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路径生效 |
适合希望保留原 Nginx 命令习惯(无需指定配置文件),通过链接指向统一路径的场景:
|
1 2 3 4 5 |
\# 同方法一,创建目录并复制默认文件 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/ |
|
1 2 3 4 5 6 7 8 9 10 |
\# 先停止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 |
|
1 2 3 4 5 6 7 8 |
\# 启动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 2 3 4 |
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 2 3 4 |
\# 方法一日志路径清理 find /data/nginx/log/ -name "\*.log" -mtime +30 -delete \# 方法二日志路径清理(软链接路径同样生效) find /usr/local/nginx/logs/ -name "\*.log" -mtime +30 -delete |
|
1 2 |
sudo chown -R root:root /data/nginx/ sudo chmod -R 755 /data/nginx/ |
本文围绕 “已下载 Nginx 安装包” 的前提,完成了从依赖安装到服务上线的全流程,核心步骤可归纳为:
按照上述步骤操作,可在 Ubuntu 服务器上快速完成 Nginx 的安装与配置,满足基础网页服务或后续反向代理、HTTPS 等进阶需求。