Ubuntu 22.04 LTS 上安装 Nginx 服务

在 Ubuntu 22.04 LTS 上安装并配置 Nginx 是一个常见的任务。以下是完整的步骤,包括安装、启动服务、配置防火墙,以及基本的 Nginx 配置。
1. 更新系统并安装 Nginx
1.1 更新 APT 软件包列表
在安装 Nginx 之前,建议先更新系统的软件包列表:
bash
复制
sudo apt update
1.2 安装 Nginx
使用以下命令安装 Nginx:
bash
复制
sudo apt install nginx -y
1.3 验证安装
安装完成后,可以使用以下命令验证 Nginx 是否已成功安装:
bash
复制
nginx -v
输出示例:
plaintext
复制
nginx version: nginx/1.18.0 (Ubuntu)
2. 启动并管理 Nginx 服务
2.1 启动 Nginx
启动 Nginx 服务:
bash
复制
sudo systemctl start nginx
2.2 设置开机自启
将 Nginx 设置为开机自动启动:
bash
复制
sudo systemctl enable nginx
2.3 检查 Nginx 服务状态
查看 Nginx 服务是否正在运行:
bash
复制
sudo systemctl status nginx
正常运行时,输出中会显示 Active: active (running)。
3. 配置防火墙(UFW)
3.1 检查防火墙状态
Ubuntu 默认使用 UFW 防火墙,可以检查其状态:
bash
复制
sudo ufw status
3.2 允许 HTTP 和 HTTPS 流量
允许 HTTP(80) 流量:
bash
复制
sudo ufw allow 'Nginx HTTP'允许 HTTPS(443) 流量(如果需要启用 SSL):
bash
复制
sudo ufw allow 'Nginx HTTPS'
3.3 启用防火墙
如果防火墙未启用,可以启动它:
bash
复制
sudo ufw enable
3.4 验证规则
查看已添加的规则:
bash
复制
sudo ufw status
4. 测试 Nginx
4.1 检查默认页面
打开浏览器,访问服务器的 IP 地址(如
http://your_server_ip)。如果 Nginx 正常运行,会显示默认的欢迎页面:
plaintext
复制
Welcome to nginx!
4.2 获取服务器 IP 地址
如果不清楚服务器的 IP 地址,可以运行以下命令查看:
bash
复制
curl -4 icanhazip.com
5. 配置 Nginx
5.1 配置文件结构
Nginx 的主配置文件路径为:
plaintext
复制
/etc/nginx/nginx.conf
站点配置文件存放在以下目录:
plaintext
复制
/etc/nginx/sites-available/ # 可用的站点配置
/etc/nginx/sites-enabled/ # 已启用的站点配置
默认的站点配置文件为:
plaintext
复制
/etc/nginx/sites-available/default
5.2 创建自定义站点配置
创建一个新的站点配置文件(如
example.com):bash
复制
sudo nano /etc/nginx/sites-available/example.com添加以下内容(替换
example.com和路径):nginx
复制
server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.html; location / { try_files $uri $uri/ =404; } }创建站点的根目录:
bash
复制
sudo mkdir -p /var/www/example.com设置权限并创建测试文件:
bash
复制
sudo chown -R $USER:$USER /var/www/example.com echo "Welcome to example.com" | sudo tee /var/www/example.com/index.html启用配置:
bash
复制
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/测试 Nginx 配置是否正确:
bash
复制
sudo nginx -t重新加载 Nginx:
bash
复制
sudo systemctl reload nginx
6. 配置 HTTPS(可选)
6.1 安装 Certbot
Certbot 是一种自动化工具,用于获取和安装 Let’s Encrypt SSL 证书:
bash
复制
sudo apt install certbot python3-certbot-nginx -y
6.2 获取免费 SSL 证书
运行以下命令为站点生成 SSL 证书:
bash
复制
sudo certbot --nginx -d example.com -d www.example.com
Certbot 会自动配置 HTTPS。
6.3 自动续签证书
测试自动续签功能:
bash
复制
sudo certbot renew --dry-run
证书到期前,Certbot 会自动续签。
7. 常见问题及解决方法
问题原因解决方法无法访问 Nginx 默认页面防火墙未开放 80 端口使用 sudo ufw allow 'Nginx HTTP' 开放端口。Nginx 服务无法启动配置文件有错误使用 sudo nginx -t 检查配置,修正错误后重启服务。SSL 配置后站点无法访问证书配置错误或端口未开放确保 443 端口开放,并检查 /etc/nginx/sites-available 中的 SSL 配置是否正确。站点配置无效(显示默认页面)新站点未启用或未正确设置 server_name确保使用了正确的域名,并通过 ln -s 添加到 sites-enabled 目录,并重新加载 Nginx。
8. 总结
基础安装与启动:
安装 Nginx:
sudo apt install nginx启动服务:
sudo systemctl start nginx
站点配置:
配置文件路径:
/etc/nginx/sites-available/启用新站点:
ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
HTTPS 配置:
安装 Certbot:
sudo apt install certbot python3-certbot-nginx获取 SSL 证书:
sudo certbot --nginx -d example.com
通过上述步骤,您可以在 Ubuntu 22.04 LTS 上成功安装和配置 Nginx 服务,同时支持 HTTP 和 HTTPS 访问。

perlong
校验提示文案
perlong
校验提示文案