Ubuntu 22.04 LTS 上安装 Nginx 服务

2025-08-09 15:29:38 1点赞 0收藏 1评论
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 流量

  1. 允许 HTTP(80) 流量:

    bash

    复制

    sudo ufw allow 'Nginx HTTP'

  2. 允许 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 检查默认页面

  1. 打开浏览器,访问服务器的 IP 地址(如 http://your_server_ip)。

  2. 如果 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 创建自定义站点配置

  1. 创建一个新的站点配置文件(如 example.com):

    bash

    复制

    sudo nano /etc/nginx/sites-available/example.com

  2. 添加以下内容(替换 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; } }

  3. 创建站点的根目录:

    bash

    复制

    sudo mkdir -p /var/www/example.com

  4. 设置权限并创建测试文件:

    bash

    复制

    sudo chown -R $USER:$USER /var/www/example.com echo "

    Welcome to example.com

    " | sudo tee /var/www/example.com/index.html
  5. 启用配置:

    bash

    复制

    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

  6. 测试 Nginx 配置是否正确:

    bash

    复制

    sudo nginx -t

  7. 重新加载 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. 总结

  1. 基础安装与启动

    • 安装 Nginx:sudo apt install nginx

    • 启动服务:sudo systemctl start nginx

  2. 站点配置

    • 配置文件路径:/etc/nginx/sites-available/

    • 启用新站点:ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/

  3. HTTPS 配置

    • 安装 Certbot:sudo apt install certbot python3-certbot-nginx

    • 获取 SSL 证书:sudo certbot --nginx -d example.com

通过上述步骤,您可以在 Ubuntu 22.04 LTS 上成功安装和配置 Nginx 服务,同时支持 HTTP 和 HTTPS 访问。

展开 收起
1评论

  • 精彩
  • 最新
  • 用docker安装最好,而且可以自己根据需要构建带插件的镜像

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松