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的组合,是一项非常值得投入时间学习的核心技能。

全球服务器测评

