在 Ubuntu 环境下安装与配置 Nginx 的完整指南

Luca Ju
2025-08-05 / 0 评论 / 11 阅读 / 正在检测是否收录...

Nginx简介

 Nginx是一款高性能的开源 Web 服务器、反向代理服务器、负载均衡器和 HTTP 缓存工具。它由俄罗斯程序员伊戈尔・赛索耶夫(Igor Sysoev)于 2004 年首次公开发布,最初设计的目标是解决高并发场景下的性能瓶颈,如今已成为全球最流行的服务器软件之一,被 Netflix、Airbnb、GitHub、腾讯、阿里等众多大型企业广泛使用。

本文将详细介绍如何在 Ubuntu 系统中安装、配置并优化 Nginx,适合初学者入门参考。

一、安装 Nginx

Ubuntu 的官方软件仓库中已经包含了 Nginx,我们可以通过 APT 包管理器轻松安装。

  1. 更新系统包列表
    首先确保系统包列表是最新的:

    sudo apt update
  2. 安装 Nginx
    执行以下命令安装 Nginx:

    sudo apt install nginx
  3. 验证安装是否成功
    安装完成后,Nginx 会自动启动。可以通过以下命令检查其运行状态:

    sudo systemctl status nginx

    nginx-status.png

如果看到 "active (running)" 字样,说明 Nginx 已经成功启动。

  1. 配置防火墙

    4.1 如果你的 Ubuntu 系统启用了 UFW 防火墙,需要允许 HTTP(80 端口)和 HTTPS(443 端口)流量:

sudo ufw allow 'Nginx Full'

可以通过以下命令验证防火墙规则:

sudo ufw status

    4.2 如果你跟我一样,使用的是云服务器,那么只需要在安全组中开放80端口即可

二、Nginx的基本操作

掌握以下基本命令可以帮助你管理 Nginx 服务:

启动 Nginx:sudo systemctl start nginx
停止 Nginx:sudo systemctl stop nginx
重启 Nginx:sudo systemctl restart nginx
重新加载配置(不中断服务):sudo systemctl reload nginx
设置开机自启动:sudo systemctl enable nginx
禁止开机自启动:sudo systemctl disable nginx

三、Nginx 的配置文件结构

Nginx 的配置文件位于/etc/nginx目录下,主要文件和目录包括:

/etc/nginx/nginx.conf:主配置文件
/etc/nginx/sites-available/:存储所有网站的配置文件
/etc/nginx/sites-enabled/:存储启用的网站配置(通常是指向 sites-available 目录的软链接)
/etc/nginx/conf.d/:可以存放额外的配置片段
/etc/nginx/mime.types:定义 MIME 类型

这种结构允许我们为每个网站创建独立的配置文件,便于管理。

四、配置一个基本的 Web 站点

下面我们创建一个简单的 Web 站点配置:

  1. 创建网站目录
    首先为网站创建一个目录,并设置适当的权限:

    sudo mkdir -p /var/www/example.com/html
    sudo chown -R $USER:$USER /var/www/example.com/html
    sudo chmod -R 755 /var/www
  2. 创建测试页面
    在网站目录下创建一个简单的 HTML 文件:

    nano /var/www/example.com/html/index.html

    添加以下内容:

预览
<!DOCTYPE html>
<html>
<head>
    <title>Welcome to Example.com!</title>
</head>
<body>
    <h1>Success! The example.com server block is working!</h1>
</body>
</html>

保存并关闭文件。

  1. 创建服务器配置文件
    在sites-available目录下创建一个新的配置文件:

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

    添加以下配置:

server {
        listen 80;
        listen [::]:80;

        root /var/www/example.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name example.com www.example.com; # 替换为你的域名或服务器 IP(如 1.2.3.4)

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

这个配置指定了:

监听 80 端口(HTTP)
网站文件根目录
默认索引文件
服务器域名
基本的请求处理规则

  1. 启用站点配置
    通过创建软链接将配置文件链接到sites-enabled目录:

    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  2. 检查配置文件语法
    在应用配置之前,先检查语法是否正确:

    sudo nginx -t

如果输出 "nginx: configuration file /etc/nginx/nginx.conf test is successful",说明配置没有问题。

  1. 重新加载 Nginx
    使配置生效:

    sudo systemctl reload nginx
  2. 测试网站
    如果你的域名已经解析到服务器 IP,现在可以通过浏览器访问http://example.com来查看效果。如果没有域名,可以修改本地hosts文件进行测试。

五、注意

如果访问80端口,显示Apache2默认页面,说明80端口被Apache服务器占用了,可以通过一下命令停止Apache服务器

sudo systemctl stop apache2

再次访问就可以成功访问到我们部署的页面了

nginx.png

0

评论 (0)

取消