全球服务器测评

Ubuntu 22.04 LTS安装Nginx服务从环境准备到生产部署

Linux服务器的用户来说,搭建Web服务通常是服务器运维学习过程中的第一步。而在众多Web服务器软件中,Nginx凭借高性能、低资源占用以及优秀的并发处理能力,已经成为当前互联网最主流的Web服务器之一。

无论是搭建企业官网、部署WordPress网站、运行PHP应用,还是作为反向代理服务器使用,Nginx几乎都是首选方案。Ubuntu 22.04 LTS作为当前广泛使用的长期支持版本,稳定性和安全性都十分出色,因此很多云服务器默认都会选择这一系统。

本文将详细介绍如何在Ubuntu 22.04 LTS服务器上安装Nginx服务,并完成启动、配置、防火墙设置、虚拟主机部署以及常见故障排查,让新手也能够顺利完成整个部署过程。

为什么选择Nginx作为Web服务器

在正式安装之前,先了解一下Nginx的优势。

传统网站服务器大多采用Apache架构,但随着网站访问量不断增长,Apache在高并发场景下逐渐暴露出资源消耗较高的问题。

Nginx采用异步非阻塞架构设计,每个工作进程可以同时处理大量连接请求,因此在访问量较大的情况下依然能够保持较高性能。

Nginx具有以下几个明显优势:

第一是内存占用较低。

相比Apache,同等访问量下Nginx通常消耗更少的系统资源,对于1GB、2GB甚至更低配置的云服务器都能轻松运行。

第二是并发能力优秀。

很多大型网站、视频平台、CDN服务商都使用Nginx作为前端入口服务器。

第三是配置灵活。

无论是静态网站托管、PHP网站运行、负载均衡还是反向代理,都能够通过简单配置实现。

第四是安全性较高。

Nginx社区长期维护更新,安全漏洞修复及时,适合长期运行在生产环境。

正因为这些特点,Nginx已经成为现代网站架构中的核心组件之一。

安装前的环境准备

在开始安装之前,需要确认服务器已经满足以下条件:

系统版本:

Ubuntu 22.04 LTS

查看系统版本:

lsb_release -a

或者:

cat /etc/os-release

更新软件源缓存:

sudo apt update

升级系统软件包:

sudo apt upgrade -y

虽然不是必须步骤,但建议在安装Nginx之前先完成系统更新,以避免软件依赖冲突。

如果服务器是刚购买的新系统,还建议安装常用工具:

sudo apt install wget curl vim unzip net-tools -y

这些工具后续维护服务器时经常会使用到。

使用APT安装Nginx

Ubuntu官方软件仓库已经提供稳定版本Nginx,因此安装过程非常简单。

执行命令:

sudo apt install nginx -y

安装过程中系统会自动下载相关依赖包并完成配置。

等待安装结束后,可以查看安装状态:

nginx -v

输出类似:

nginx version: nginx/1.18.0

不同时间安装的版本号可能略有区别。

查看详细编译信息:

nginx -V

这里会显示模块支持情况以及编译参数。

至此Nginx已经成功安装到系统中。

启动Nginx服务

Ubuntu 22.04默认使用systemd管理服务,因此可以通过systemctl命令控制Nginx运行状态。

启动服务:

sudo systemctl start nginx

设置开机自启:

sudo systemctl enable nginx

查看运行状态:

sudo systemctl status nginx

正常情况下会显示:

active (running)

如果看到绿色的running状态,说明Nginx已经启动成功。

查看是否监听80端口:

sudo ss -tlnp

或者:

sudo netstat -tlnp

正常会看到:

0.0.0.0:80

说明Web服务已经开始监听HTTP请求。

配置防火墙放行HTTP访问

很多用户安装完成后无法访问网站,原因往往出在防火墙配置上。

Ubuntu默认使用UFW防火墙管理工具。

查看当前状态:

sudo ufw status

允许HTTP访问:

sudo ufw allow 80/tcp

允许HTTPS访问:

sudo ufw allow 443/tcp

重新查看规则:

sudo ufw status

输出类似:

80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere

如果服务器位于阿里云、腾讯云、华为云等平台,还需要同时在安全组中放行80和443端口。

很多新手经常忽略安全组设置,导致浏览器无法访问网站。

测试Nginx是否安装成功

在浏览器输入服务器IP地址:

http://服务器IP

例如:

http://192.168.1.100

如果看到页面显示:

Welcome to nginx!

说明安装成功。

此页面来自默认站点配置文件:

/etc/nginx/sites-enabled/default

以及默认网站目录:

/var/www/html

访问首页时实际加载的是:

/var/www/html/index.nginx-debian.html

了解Nginx目录结构

安装完成后,理解Nginx目录布局非常重要。

主配置文件:

/etc/nginx/nginx.conf

站点配置目录:

/etc/nginx/sites-available/

启用站点目录:

/etc/nginx/sites-enabled/

日志目录:

/var/log/nginx/

网站根目录:

/var/www/html/

查看目录:

tree /etc/nginx

如果没有安装tree:

sudo apt install tree -y

理解这些目录结构后,后续维护网站会方便很多。

创建自己的测试网站

删除默认首页:

sudo rm /var/www/html/index.nginx-debian.html

创建测试页面:

sudo nano /var/www/html/index.html

写入内容:

<!DOCTYPE html>
<html>
<head>
<title>My First Nginx Site</title>
</head>
<body>
<h1>Nginx运行成功</h1>
</body>
</html>

保存退出后刷新浏览器。

此时看到的页面已经变成自己的测试页面。

说明Nginx已经成功读取网站目录内容。

创建独立虚拟主机

生产环境通常会部署多个网站,因此需要配置虚拟主机。

创建网站目录:

sudo mkdir -p /data/www/site1

赋予权限:

sudo chown -R www-data:www-data /data/www/site1

创建首页:

sudo nano /data/www/site1/index.html

写入测试内容:

<h1>Site1 Running</h1>

创建配置文件:

sudo nano /etc/nginx/sites-available/site1.conf

内容如下:

server {
    listen 80;
    server_name example.com www.example.com;

    root /data/www/site1;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

创建软连接启用配置:

sudo ln -s /etc/nginx/sites-available/site1.conf \
/etc/nginx/sites-enabled/

检查配置文件语法

每次修改配置后都应进行检查。

执行:

sudo nginx -t

正确输出:

syntax is ok
test is successful

如果配置文件有错误,系统会提示具体行号。

修正后再次检查即可。

重载Nginx配置

配置修改完成后不需要重启服务器。

执行:

sudo systemctl reload nginx

或者:

sudo nginx -s reload

这样可以平滑加载新配置,不会中断现有访问。

查看访问日志和错误日志

日志是排查问题的重要依据。

访问日志:

/var/log/nginx/access.log

实时查看:

tail -f /var/log/nginx/access.log

错误日志:

/var/log/nginx/error.log

实时监控:

tail -f /var/log/nginx/error.log

当网站打不开、出现502或403错误时,第一时间应该查看日志。

很多问题都能在日志中找到原因。

常见故障处理

无法访问网页

首先检查服务状态:

systemctl status nginx

确认Nginx是否运行。

然后检查端口:

ss -tlnp

确认80端口是否监听。

最后检查:

  • 云服务器安全组
  • UFW防火墙
  • DNS解析

通常都是这些环节出现问题。

配置文件报错

执行:

nginx -t

根据提示定位错误行。

常见错误包括:

  • 缺少分号
  • 花括号不匹配
  • server_name书写错误
  • root路径不存在

403 Forbidden

通常是权限问题。

检查目录权限:

ls -ld /data/www/site1

确保Nginx运行用户拥有读取权限。

例如:

sudo chown -R www-data:www-data /data/www/site1

502 Bad Gateway

一般出现在PHP环境中。

可能原因:

  • PHP-FPM未启动
  • PHP监听端口错误
  • FastCGI配置错误

查看:

systemctl status php8.1-fpm

即可进一步排查。

Nginx生产环境优化建议

对于正式上线的网站,建议进行一些基础优化。

编辑:

sudo nano /etc/nginx/nginx.conf

调整工作进程:

worker_processes auto;

启用高效连接:

worker_connections 4096;

开启Gzip压缩:

gzip on;
gzip_types text/plain text/css application/json application/javascript;

优化文件传输:

sendfile on;
tcp_nopush on;
tcp_nodelay on;

这些设置能够有效提升网站访问速度。

HTTPS证书配置

如今大多数网站都需要HTTPS支持。

安装Certbot:

sudo apt install certbot python3-certbot-nginx -y

申请证书:

sudo certbot --nginx

根据提示输入域名即可。

完成后访问:

https://yourdomain.com

浏览器地址栏将显示安全锁标志。

证书自动续期测试:

sudo certbot renew --dry-run

这样网站便具备了现代互联网所要求的安全通信能力。

在Ubuntu 22.04 LTS系统中安装Nginx并不复杂,借助APT软件仓库,几分钟内即可完成部署。从安装软件包、启动服务、配置防火墙,到创建虚拟主机和部署HTTPS证书,整个流程都已经高度成熟。

对于个人博客、企业官网、WordPress网站、API服务以及各种Web应用而言,Nginx都是一套经过大规模生产环境验证的成熟解决方案。掌握Nginx安装与基础配置,不仅能够帮助运维人员快速搭建网站环境,也为后续学习LNMP架构、反向代理、负载均衡、CDN加速以及高并发网站优化打下坚实基础。

当服务器规模逐渐扩大时,Nginx的优势会越来越明显,而Ubuntu 22.04 LTS长期支持版本则能够提供稳定可靠的运行平台。对于希望深入Linux运维领域的用户来说,熟练掌握Ubuntu与Nginx的组合,是一项非常值得投入时间学习的核心技能。

未经允许不得转载:全球服务器测评 » Ubuntu 22.04 LTS安装Nginx服务从环境准备到生产部署